[linux-audio-user] specimen bank creation script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

here:

http://www.affenbande.org/~tapas/

you find a little braindead script i hacked up to create specimen banks
from loads of .wav files.

This is the direct link:

http://affenbande.org/~tapas/wavs2specimenbank.py

The script is braindead and the name is too, but i find it useful :)

>From the post on my site:

"Here you find a small script that spits out (to stdout) a specimen bank
file which contains entries to all the files specified on the
commandline.

So, if you got a directory full of. wav files, simply do:

wavs2specimenbank file1.wav file2.wav ... fileN.wav > bankfile.specimen

Here's the help output:

usage: wavs2specimenbank [options] file1.wav ... fileN.wav
	
options can be:
	
--help         show this help
	
--multi        put all samples on one channel (one per midi note)
--single       give each sample its own channel (default)
	
--note=#       starting note in single mode. in multi mode
               this is the only note used (default: 60)
	
--channel=#    use channel # as (starting (in single mode)) channel
               (default 1)
	
--headeronly   output only the header
--patchonly    output only the patch info
--endonly      output only the end

So basically you could also assemble banks by something like this:

wavs2specimenbank --headeronly > output.specimen
wavs2specimenbank --patchonly --multi foo*.wav >> output.specimen
wavs2specimenbank --patchonly --multi --channel=2 bar*.wav >> output.specimen
wavs2specimenbank --endonly >> output.specimen

This gives you a bank file where all foo*.wav samples are on channel 1
(default) starting with note 60 (default) and all bar*.wav files are on
channel 2 starting with note 60, too (untested yet - lazy me).

then start specimen like:

specimen output.specimen"

Maybe someone else finds it useful, too.

Btw: Pete, this script now relies on specimen not being upset about
specifying sample end and loop end at 2^32. Got an idea for a more
elegant solution?

Bugs: 

- doesn't handle running out of bounds [channels/notes], so make sure
you use sensitive values (in multi mode, do not specify more than 128
samplefiles, even when setting the (start)note to 0. in single mode
don't specify more than 16 samplefiles even when setting that
startchannel to 1.

- countless others, i'm sure :)

Have fun,
Flo

-- 
Palimm Palimm!
http://affenbande.org/~tapas/


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux