[ecasound] features in upcoming 2.5.0 release

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Wed Mar 12 2008 - 23:33:55 EET

Hi all,

there's so much new stuff in the devel tree that the version number for
the next release will most likely be 2.5.0. I also changed the versioning
scheme a bit (see NEWS), so expect more major.minor updates in the future.

After first refactoring the EWF handling code, I then continued to
separate the processing code from the EWF format specific parts. This
allowed me to add a few new object types to ecasound, and more will be
coming. This is not necessarily something new (you could do at least some
of the stuff already with), but at least I find the new code much easier
to use.

So let's run through some examples that work with the current codebase.
Any comments on the syntax are welcome, as the syntax is likely to be
frozen once 2.5.0 is out.

To continuously loop an audio file, you can use 'audioloop':
   sh> ecasound -i audioloop,drumloop.wav -o alsa

To run the loop for 65.0secs, you can use good ol' '-t':
   sh> ecasound -i audioloop,drumloop.wav -o alsa -t:65.0

Then there's the new selector. To select a 5sec clip of the drumloop:
   sh> ecasound -i audioselect,5,10,drumloop.wav -o alsa

As a new feature, the various audio objects can be now stacked! So let's
combine the two:
   sh> ecasound -i audioloop,audioselect,5,10,drumloop.wav -o alsa

Seems to work. The above loops the 5sec segment of drumloop.wav we
selected. But you don't have to stop here. Let's reverse the drumloop
segment, and loop that:

   sh> ecasound -i audioloop,reverse,audioselect,5,10,drumloop.wav -o alsa

Yay, it still works! :) And these can be of course used in more complex
chainsetups. Let's play two loops at the same time, one looping forward
and one backward:

   sh> ecasound -a:back -i audioloop,reverse,audioselect,5,10,drumloop.wav \
                -a:fwd -i audioloop,audioselect,5,10,drumloop.wav \
                -a:back,fwd -o alsa

The tone generator (also a new item of 2.5.0) can be also thrown in:

   sh> ecasound -i tone,sine,440,5 -o alsa
   sh> ecasound -i audioloop,tone,sine,440,5 -o alsa

The first one plays a 5sec 440Hz sine tone, and the second loops the
created sine tone segment (not really interesting, but just to show it's

And as yet another new feature, time values can be now given also in
samples. This is not yet supported everywhere, but EWF files and
audioloop/-select ops have the support. Let's copy samples 50000-59999 of
foo.wav to bar.wav:

  sh> ecasound -i audioselect,50000sa,10000sa,foo.wav -o bar.wav

That was about it.

Comments (and testing if you have the time) are very much welcome. All the
code is in the git tree, and I also put online a snapshot of the most
recent stuff:


Br, Kai

This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Ecasound-list mailing list
Received on Thu Mar 13 00:15:10 2008

This archive was generated by hypermail 2.1.8 : Thu Mar 13 2008 - 00:15:10 EET