Ecasound

Team Leader: Kai Vehmanen

Ecasound is a software package designed for multitrack audio processing. It can be used for simple tasks like audio playback, recording and format conversions, as well as for multitrack effect processing, mixing, recording and signal recycling. Ecasound supports a wide range of audio inputs, outputs and effect algorithms. Effects and audio objects can be combined in various ways, and their parameters can be controlled by operator objects like oscillators and MIDI-CCs. A versatile console mode user-interface is included in the package.

Key Features:
  • Novel user-interface concept

      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.

  • Support for new Linux audio technology

      Ecasound has mature support for JACK audio server (including full transport support), LADSPA effect plugins and ALSA kernel sound subsystem. Ecasound developers are active members of the Linux audio development community.

  • Portability and minimal external dependencies

      Ecasound runs on various operating systems (GNU/Linux, FreeBSD, Mac OS X, Solaris, Cygwin/win32) and architectures (IA32, PowerPC, ARM, SPARC). Ecasound implements most of its core functionality without relying on external packages. Although Ecasound can utilize numerous external packages, they are all optional. As a mimimum, Ecasound needs POSIX (with 1003.1c thread support) and ANSI C++ runtimes.