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.
New in v2.9:
- Support for LV2 plugins
- Added commands for controlling bypass on a chain operator basis
- Various bugfixes
New in v2.8.1:
* Bugfix to a bugfix. jack_multi did not work correctly when connecting to only one JACK port (regression in 2.8.0). Minor other bugfixes.
New in v2.8.0:
* The int-float conversion routines have been modified to be symmetric (previously asymmetric). As this impacts all use-cases involving fixed point audio, the release version was bumped to 2.8 to reflect the change. Ecasound now scales with 2^N for both int-to-float and float-to-int. For 0dBFS signals created in floating point domain, and normalized to [-1,1] range, the positive values are limited just before 0dbFS to avoid overflow (positive values exceeding 2^N-1).
Pointers to how other projects handle this issue:
- Case for symmetric conversions:
- Blog entry to which the above is a response:
- libsndfile FAQ on the topic:
- Discussion around the topic on JACK devel list:
* Bugfixes to loop objects, jack_multi, JACK transport support, false runtime DBC warnings, seek support for -klkg, ecasound-ruby hangs and ALSA output.
Following bugtracker items closed:
* Signal handling has been simplified for not-so-POSIX platforms. For
system/environments which do not provide all three of sigwait(), sigprocmask()
and pthread_sigmask(), process will terminate immediately without
the usual cleanup procedure upon receing a signal (SIGINT, TERM, et al).
The old pause() based kludge has been removed from the codebase. For
many, if not all, users this has no practical impact.
* JACK transport is now disabled by default in batchmode. In interactive
mode ('-c' option), the default is still 'sendrecv'. Ecasound now also
provides better feedback about transport related events. Without graphical
feedback, the interaction between JACK and Ecasound has been a common
source of user confusion.
New in v2.7.2:
* Manual gate (-gm) added. See ecasound(1) for docs.
* liboil now enabled by default if its development files are
found when running configure.