Ecasound’s flexible chain-based design makes it a powerful
tool for multitrack recording and mixing. Once you read
through the examples, you’ll notice that recording&mixing
has never been this easy. ;)

Ecasound offers a wide range of effect algorithms (including
support for LADSPA effect
plugins). Using Ecasound’s chain-concept, effects can be
combined in various ways. It’s also possible to save a complex
effect setup as a preset. Later on these presets can be used
just like a native effect. An important part of the effect
system is dynamic control. Oscillators, envelopes and
MIDI-control sources can be used to control effect parameters.
Check out these few examples of
Ecasound preset system and LADSPA plugins and be impressed! :)

Ecasound suits well to scripting and automation. It
can be called from shell scripts, launched from graphical
programs or used from remote terminal sessions.
Additionally Ecasound Control Interface (ECI) offers a more
flexible but yet simple way to interact with the Ecasound
engine. Implementations of ECI are available for multiple
languages (for example C, C++, Python,
Perl, PHP and elisp.

Work around: Use an external sequencer application and run it
in sync with Ecasound either using the JACK transport API
or MIDI (MMC/MTC). This requires that the sequencer provides
sufficient support for the synchronization mechanisms.

Sequencing Small Audio Clips

Ecasound’s design does not suit well to arranging a large
number of small audio clips into continuous tracks.Work around: Use applications
such as SoundTracker
and synchronize them to Ecasound.

Sound Synthesis

Ecasound only provides a very limited set of primitives for
audio generation.

Bitwise File Conversions

Before processing, Ecasound converts all input data to its
internal format (defaults to 32bit-float/44100Hz). This is
not optimal if you want to perform bitwise conversions from
one audio file format to another.Work around: Better tools for this kind of
work are
Sox and
libsndfile
tool sndfile-convert.

What makes Ecasound unique is its non-graphical user-interface. The
basic working principle of ecasound is similar to the widely used
gdb (software debugging)
and
mysql (database admin)
tools. Ecasound allows the user to perform
most common tasks directly
from the terminal console. Repeating or otherwise complicated tasks can be
easily turned into shell scripts or ECI
apps. Ecasound tries to follow the time-tested UNIX design practises - see
for example The Art of UNIX Programming
by Eric S. Raymond.

Highly optimized real-time engine

Ecasound’s engine has been developed with real-time reliability
as the top priority. The engine clearly separates real-time safe subsystems
from non-RT subsystems such as storage access, user-interface code and memory
management. This allows Ecasound to deliver reliable playback and recording in
all circumstances - even under significant system load.

Ability to adapt to runtime environment

Ecasound will automatically adjust buffering parameters and other performance
related options based on analysis of runtime environment and the requested
task. Ecasound does not require you to run it with special privileges, but
if available (for example the permission to utilize real-time scheduling), Ecasound
will take full advantage and choose more aggressive parameters allowing to
further minimize processing latencies while at the same time not risking
reliability.