[linux-audio-user] Commandline tools for some audio operations?

Eric Dantan Rzewnicki eric at zhevny.com
Sun Oct 3 14:46:18 EDT 2004

Mikhail Ramendik wrote:
> Eric Dantan Rzewnicki wrote:
>>>>- Split a file into songs based on long periods of silence in betweeh
>>This isn't directly available, afaik, but could possibly be scripted.
> I asked in the ecasound list - but unfotunately got no answer.
> To script this, I would need to use the threshold gate, but in a
> different way. It would have to stop processing when the gate
> opens/closes, so I can get the time point when that happens.
> Can ecasound do this? If so, how can I make it do this?
> I like the idea of ecasound scripting. But I could not find this
> feature, and without it the thing is useless for me. Now with "find
> place where gate works", I'd work wonders ;)

-ge:open-threshold-%, close-thold-%,volume-mode
   Threshold gate. Initially gate is closed. It is opened when volume 
goes over 'othreshold' percent. After this, if volume drops below 
'cthold'  percent,gate  is closed and won't be opened again.  If 
'value_mode' is 'rms', average RMS volume is used. Otherwise peak 
average is used.  When closed, passing audio buffers are trucated to 
zero length.

I could be wrong and I haven't used this gate myself, But ....

I think you need to do something like this:

1)process original input file with -ge outputting to song1.wav
If I understand "When closed, passing audio buffers are trucated to zero 
length." correctly, then nothing will be written to song1.wav after 
volume drops below the threshold. So,

2)get length of song1.wav and save it in a variable, like maybe 

3)process original input file with -ge outputting to song2.wav with 
-y:<position_variable> . -y sets the starting position.

4) get length of song2.wav and add to position_variable

5) return to 2), increment song<n>.wav and repeat untill finished.

hope that helps,
Eric Rz.

More information about the linux-audio-user mailing list