slabin and slabout are paired programs that provide command-line access to SLab data files. SLab is a very robust multitracking program for Linux. It saves the sound information in a single proprietary database format. slabin allows one to import files into a SLab song, and slabout creates sound files from a SLab song. You can get Slab from ftp://dutw1288.wbmt.tudelft.nl/pub/audio/ SLab already has menu driven import and export utilities, but I wanted command-line versions so I could do things like this: slabout | reverb_program | slabin Thus providing the possibility of automating the process in shell scripts. Note that slabout is just a link to slabin, so renaming slabout will break it. The options and syntax are the same for both programs. For the -s and -d options, the time may be given either as a raw sample count, or as a time code as shown in the following examples: 44100 = 44100 samples 1:0 = one second 3:1:50 = three minutes, one second, and 50 hundredths 3:1:50:1:2:3 = three minutes, 1.5 seconds (extra fields ignored) :3: = three seconds :4 = four hundredths of a second You get the Idea. Here are the options: -s time_spec Time in song to start reading/writing from/to -d time_spec duration of read/write -t int,int... Comma sep list of tracks to read/write eg: slabout -s 44100 -d 10: -t 3,5,7,8 mysong > foo.wav The above command line would put 10 seconds of sound, starting after one second in the song, into foo.wav from the four specified tracks. The resulting file would be quad in this case. These programs will create and read wave files with any number of channels (<64), but most other programs only handle up to four. In order to find the database files, slabin and slabout can be given an absolute path name, or will search relative to the path held in $SLAB_DATA environment variable. For my machine, I put '/slip1/slab/dataBase/DiskFile/startCD' into that variable, and then simply specify the songs by name. slabout and slabin always assume 44100Hz sample rate, and 16 bit signed linear samples. Any other type of file will be read this way regardless of what the header says. Similarly, the wave file header will not be consulted to determine the number of channels in the file. This might be used to some advantage, or perhaps to annoyance. Comments and bugs go to toby@rcsreg.com