]> de.git.xonotic.org Git - xonotic/mediasource.git/blobdiff - sound/weapons/tuba_loopnote_maker.sh
make this mess work with fluidsynth too :P
[xonotic/mediasource.git] / sound / weapons / tuba_loopnote_maker.sh
index ce9fd9bd24032c036a0b10175f186958a8034b6f..7c1d55aa79c2f02991a86fb2625cf8a9b9111c68 100755 (executable)
@@ -9,26 +9,31 @@ set -ex
 
 synth=$1; shift
 program=$1; shift
+velocity=$1; shift
+transpose=$1; shift
 tubaid=$1; shift
 
+delta=2
+fftsize=512
+loopmin=1.1
+loopmax=1.5
+len=1.8
+
+perl tuba_loopnote_maker.mid.pl tuba_loopnote_maker.mid $delta $program $velocity $transpose -18 -12 -6 0 6 12 18 24
+
 case "$synth" in
        timidity)
-               timidity -Ow -EI$program "$@" -o out.wav tuba_loopnote_maker.mid
+               timidity -Ow "$@" -o out.wav tuba_loopnote_maker.mid
                normalize out.wav
                ;;
        fluidsynth)
-               {
-                       echo "prog 0 $program"
-               } > in.cfg
-               fluidsynth -v -f in.cfg -n -i -l -T wav -F out.wav "$@" tuba_loopnote_maker.mid
+               fluidsynth -v -n -i -l -T wav -F out.wav "$@" tuba_loopnote_maker.mid
                normalize out.wav
                ;;
 esac
 
-start=0
-step=4
-loop=1.0
-len=1.5
+start=$delta
+step=$(($delta*2))
 for note in -18 -12 -6 0 6 12 18 24; do
        sox out.wav n$note.wav \
                trim $start $step \
@@ -37,7 +42,7 @@ for note in -18 -12 -6 0 6 12 18 24; do
        fn=tuba"$tubaid"_loopnote"$note".ogg 
 
        # now find loop point
-       loopfinder/findloop n$note.wav 4096 $len $loop t$note.wav | while read -r SAMPLES SECONDS; do
+       loopfinder/findloop n$note.wav $fftsize $len $loopmin $loopmax t$note.wav | while read -r SAMPLES SECONDS; do
                oggenc -q9 -o "$fn" -c "LOOP_START=$SAMPLES" t$note.wav
        done