#!/bin/sh set -ex ( cd loopfinder gcc -o findloop findloop.c -lfftw3 -Wall -Wextra -ffast-math -lsndfile -O3 ) synth=$1; shift program=$1; shift tubaid=$1; shift case "$synth" in timidity) timidity -Ow -EI$program "$@" -o out.wav tuba_loopnote_maker.mid normalize out.wav ;; fluidsynth) { echo "program 0 $program" } > in.cfg fluidsynth -f in.cfg -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 for note in -18 -12 -6 0 6 12 18 24; do sox out.wav n$note.wav \ trim $start $step \ silence 1 1s 0 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 oggenc -q9 -o "$fn" -c "LOOP_START=$SAMPLES" t$note.wav done # next! start=$(($start+$step)) done