as promised .... (and for what it's worth)
box1:~/bin$ cat guitar_mix_pre.sh
#!/bin/sh
#
# guitar_mix_pre.sh
#
# follow up script to guitar_mix_pre.py
#
# concatenates files [0-11].wav to track[1-4].wav
# using ecasound cut and paste operations.
# all of the files from the pool are between 300.0 and 301.44
# seconds long ... there might be some way to get the length
# from ecalength and use that when concatenating ...
# for now assume all files are 302s long
# eventually do this from python with ECI or python EIM
# and get the real length of each file before appending
# (or maybe just never worry about that and leave the gaps)
#
tmp_dir=/mnt/ramfs/guitar_mix/
eca="ecasound -q"
cd $tmp_dir
c=0
for i in `seq 1 4`; do
#first 1/3
mv -f $c.wav track$i.wav
#second 1/3
c=$(($c+1))
$eca -i $c.wav -o track$i.wav -y:302
rm -f $c.wav
#third 1/3
c=$(($c+1))
$eca -i $c.wav -o track$i.wav -y:604
rm -f $c.wav
c=$(($c+1))
done
Eric Dantan Rzewnicki wrote:
To be more specific and add another vote for ecasound, here is an
example from the ecasound docs at
http://www.wakkanet.fi/~kaiv/ecasound/Documentation/examples.html:
" Cut, copy and paste
1. ecasound -i bigfile.wav -o part1.wav -t:60.0
2. ecasound -i bigfile.wav -y:60.0 -o part2.wav
Here's a simple example where first 60 seconds of bigfile.wav is
written to part1.wav and the rest to part2.wav. If you want to combine
these files back to one big file:
3. ecasound -i part2.wav -o part1.wav -y:500
part2.wav is appended to part1.wav "
I'm using this functionality in a shell script that takes 12 ~5 minute
wav files and concatenates them into 4 ~15 minutes wav files. I'll post
it tonight when I get home from work.
ecasound can also give you the length in seconds (and milliseconds) of a
file so that you can possible script your insertion points ... I haven't
figured that out exactly, yet, but believe it can be done by parsing the
output of ecalength (an ecasound tool included with ecasound). There may
be a cleaner, easier way as well.
-Eric Rz.