This is an old revision of the document!


Assorted Linux Scripts, Tools, Tips and Utilities

.

.

wav file to specimen bank (sampler format) script


lscp2rgd - linuxsampler to rosegarden instrument

midi to hydrogen

SFZ (sound-bank-definition) to Hydrogen (drumkit xml-file)

script: create a hydrogen drumkit from wav files

thanks to Thijs van Severen

Hydrogen drumkit creator script - note: filenames have to follow a rule


Instrument mapping (Hydrogen Manual)


GM (general midi) mapping


aj-snapshot - Store ALSA and JACK connections state

Download songs of an *.m3u File (mp3 collection)

Make a directory and then do this:

wget -O - http://djcj.org/audio/lam/lam-tracks-2010/lam10.m3u | while read i; do wget -c "$i"; done

(by Ken Restivo - 16. Mai 2011 22:06 - @lau-ml)

.

make a *.wav swing (?)

http://all-day-breakfast.com/m/swing.sh

Comparable (?) examples

(by Chris Cannam - 2. Juni 2010 16:41 - @lau-ml )

.

jackctl - jack control python script

http://www.akjmusic.com/software/

http://www.akjmusic.com/software/jackctl20110317.py

(by Aaron Krister Johnson, 28. Mai 2010 18:16 - @lau-ml)

.

a python script for making seamless loops in samples by cross fading

It uses sox and ecasound for processing and should work with wav, aiff and flac (maybe more).

planned (?): libsndfile support.

http://atte.dk/files/xfade_loop

(by Atte André Jensen, 11. Juni 2010 11:02 - @ lau-ml )

.

convert a Hydrogen drumkit into a SF2 soundfont

conversion examples with mplayer / mencoder

wav to mp3

for F in *.aac; do
  mplayer -ao pcm:file=$F.wav $F
  lame -h $F.wav $F.mp3;
done

(by Julien Claassen , 25. Dezember 2010 02:37 - @ lau-ml )

.

  #!/bin/bash
  # flac_to_mp3
  for f in *.mp3; do lame -v "$f"; done

(James Morris,22. September 2010 11:20)

$ find . -name "*flac" -exec lame -V0 {} \;

(Roger, 22. September 2010 12:52)

Using MEncoder to create DVD-compliant files

convert DV files to DVD compliant

convert sound files with libsndfile

convert all FLAC files in a directory to OGA format (vorbis-encoded stream in ogg-container)


Note: There is a simple and excellent GUI tool available for audio conversion: SoundConverter
It is included in the ubuntu repository.


#!/bin/bash
 
## UPDATE: sndfile-convert -vorbis  normalizes the sound to 0 DB !
## there are no options to control that, or compression rate.
## so rather use "oggenc" instead !
## there is also a py-script called "dir2ogg" in ubuntu
 
# initial code by Emanuel Rumpf 2012-04
# any re-use and modification permitted
 
# convert all FLAC files in a directory to OGA format 
# (compressed, vorbis-encoded stream in ogg-container)
#
# USAGE:
# first install libsndfile - in ubuntu:
# sudo   apt-get install   libsndfile1 sndfile-programs sndfile-tools
# 
# copy this script to the files directory, make it executable
# edit config options below if necessary, run it
 
# TODO: allow file-names with spaces
 
 
# CONFIGURE HERE
 
# select file extension:
EXT_OLD=".flac"
EXT_NEW=".oga"
 
# select directory for new vfiles
OUT_DIR="./oggs/"
 
# add -vorbis parameter to sndfile-convert call
CONVERT_OPT="-vorbis"
 
 
# CODE START
 
mkdir -p "$OUT_DIR"
 
# apply to all flac files in current directory
FILES=*${EXT_OLD}
 
for f in $FILES
do
 
  fn=`basename "$f" $EXT_OLD`
  fn="${OUT_DIR}${fn}${EXT_NEW}"
 
  comm="sndfile-convert $CONVERT_OPT $f $fn "
  echo "--> $comm "
  $comm
  echo ""
 
done



# There is a possilbe alternative, with "find" and -exec statement
#
# warning: this is not verbose  and  can take some time !


# for all files in current directory (.)  execute libsndfile-convert
#
find . -name "*.flac" -exec sndfile-convert -vorbis '{}' '{}'.oga \;

.

conversion examples with sox

convert a .wav file to raw PCM - here 8bit (-b 8) signed integer (-e signed), stereo (-c 2):

sox INFILE.wav -t raw -r 48k -e signed -b  8 -c 2 OUTFILE.raw

convert raw CD digital audio (16-bit, signed-integer) to floating point wav:

sox input.cdda -e float output1.wav

generate (-n = NULL input) a .wav file with a 3 second sine-sweep:

sox -n OUTFILE.wav synth 3 sine 300-3300 gain -5

The format-options must be given before the filename for which they're intended. If unspecified they are read from the file header (if possible):

Synopsis:

sox [global-options] [format-options] infile1 \ 
    [[format-options] infile2] ... \
    [format-options] outfile \
    [effect [effect-options]] ...
    

Common encoding-types for -e: signed, unsigned, float. see man sox for a complete reference.

conversion examples with ecasound

FIXME

.

move regions, markers, temi in an Ardour session

A script to slide every regions, markers, tempi, meters, automations, and so on in an Ardour session.

“Actually, it's not really a solution, as one can move only ALL REGIONS,…”

by Aurélien

announce mail

Download (tar.gz ?)

.

spaces to underscores

#! /bin/bash
#
# spaces2underscores.sh
 
echo
echo "This command changes all spaces in file names into underscores"
echo "  for ALL FILES IN THIS DIRECTORY !"
echo "  Type ENTER to continue or ^C to quit"
 
read dummy
 
for f in *; do
 oldname=`echo $f |sed 's/ /~/g'`
 newname=`echo $f |sed 's/ /_/g'`
 if [ $oldname != $newname ]
 then
   echo mv $f $newname
   mv "$f" $newname
 fi
done

(Marc Groenewegen, 25. September 2010 08:49 )

.

.

Extract Audio from Video and recombine

(help by Robin Gareus @lau-ml)

with ffmpeg

#extract audio
ffmpeg -i orig_video.wmv audio_out.wav

#replace audio
ffmpeg \
 -i orig_video.wmv \
 -i new_audio.wav \
 -vcodec copy \
 -map 0.0 -map 1.0 \
 new_video.wmv
Details:  The "map" may be different depending on the .wmv file.
run `ffprobe` to see which is the video-track in the .wmv file
usually this is "0.0".
   Stream #0.0: Video:...
   Stream #0.1: Audio: ..
and "1.0" corresponds to the 2nd input file - your new audio.

You may want to add "-acodec wmav2" and "-ar 128k" options for 128kbit/s
Windows Media Audio 2 or whatever audio-codec/quality your want. `ffmpeg
-codecs | grep "EA"` gives you a list of available codecs for Encoding
Audio.

BTW. Ardour3 with videotimeline patch can do all this for you. import,extract,re-encode using ffmpeg.

Thanks. It is 0:0 and 0:1 and -b:a=192k I found, but I have some sync problems after recombining tho. Any other ideas?

My gut feeling is to blame ffmpeg's WMV muxer (it may not be able to mux a bit-exact copy of the original video with your new soundtrack).

Try using '-sameq' instead of '-vcodec copy' (re-encode the video with
same quality rather than a bit-exact copy - this often solves muxing
issues but will cause a small loss of either video quality or increased
bandwidth).

and also try a different output format eg. 'new_video.avi' or '..mov' instead of 'new_video.wmv'.

you may need both, this should work:
 'ffmpeg -i vid.wmv -i aud.wav -sameq -map 0.0 -map 1.0 output.avi'


with mencoder

posssibly other options


  • kdenlive
  • ardour3 + video patch



Tips

use a proper python shell

(by Torben Hohn, 28. September 2010 01:16 )

ipython is there for quite some time.

and i recently discovered bpython

http://ipython.scipy.org/moin/

http://bpython-interpreter.org/

this is where the fun starts

also help() works nicely on instances.

doctests also pretty much kick ass.

http://docs.python.org/library/doctest.html

wiki/scripts_and_tools.1335802069.txt.gz · Last modified: 2012/04/30 18:07 by emrum