======================================================================= *** Ecasound - README *** ======================================================================= ----------------------------------------------------------------------- What is it? ----------------------------------------------------------------------- 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. ----------------------------------------------------------------------- Why? ----------------------------------------------------------------------- I've written ecasound for my own recording purposes. The first versions ran under IBM Os/2. I used them for finalizing my analog 4-track recordings. My 4-track was a nice tool, but it had its limits. So eventually I started to use Windows-based multitrack software. I still used ecasound for fx processing and finalizing. When I ported ecasound to Linux, a lot of the code was rewritten from scratch. During this I also added multitrack capabilities to ecasound. It took a lot of work, but in the end I was able to get rid of all my Windows recording software. Nowadays I use ecasound for all my music projects. Because of this, I also continue to improve and develop ecasound. ----------------------------------------------------------------------- Requirements ----------------------------------------------------------------------- To run ecasound, you need...: - POSIX compliant UNIX system; tested with various Linux 2.2/2.4 and glibc 2.x combinations, FreeBSD 4.x, Solaris 2.8, Cygwin 1.3.20 - POSIX threads support; tested with linuxthreads Optional when running ecasound: - for soundcard input/output: OSS, OSS/Lite or ALSA drivers - for JACK-support, the JACK runtime environment - for mp3 support, mpg123 (input) and lame (output) packages - for tracker module support, MikMod package - for .aiff/.au/.snd support, libaudiofile (SGI audio file) library - for Ogg Vorbis support, the vorbis-tools package (ogg123 and vorbize) - for .mid input support, Timidity++ - for aRts support, the aRts server package - for higher quality resampling, libsamplerate To compile ecasound, you also need...: - standard C++ build environment; tested with egcs 1.1.2, gcc 2.91.66, gcc 2.95.3, gcc 3.0.x, gcc 3.1.x, gcc 3.2 and Sun Workshop 6 C5.2 C++ (STL and exceptions need to be supported) - GNU make, automake and autoconf packages Optional when compiling ecasound: - for pyecasound, the Python devel package - for curses support, the ncurses devel package - for LADSPA support, the LADSPA SDK package - for ALSA support, the ALSA devel package - for JACK support, the JACK devel package - for .aiff/.au/.snd support libaudiofile devel package - for aRts support, the aRts C-API devel package - for higher quality resampling, libsamplerate devel package ----------------------------------------------------------------------- Installing ----------------------------------------------------------------------- First of all, you should first try to use a binary rpm package. It's probably the easiest and the most straigthforward way to install this software. If you need to compile ecasound, the file 'INSTALL' contains detailed instructions. To create rpm source and binary packages, issue "rpm -ta ecasound-x.y.x.tar.gz". ----------------------------------------------------------------------- Documentation ----------------------------------------------------------------------- Ecasound documentation is updated whenever new features are added or old features have been modified. Some things are not documented in great detail, but on the other hand, all documentation is kept up-to-date. - Ecasound User's Guide - Ecasound Programmer's Guide - Ecasound Control Interface Guide - manual pages - ecasound(1) - ecatools(1) - ecasound-iam(1) - ecasoundrc(5) - misc HTML-formatted docs - command line help - ecasound --help Probably the best place to start is the examples section of ecasound HTML-documentation (Documentation/examples.html). ----------------------------------------------------------------------- Mailing lists ----------------------------------------------------------------------- ecasound-announce@wakkanet.fi: A read-only list for announcements concerning ecasound and ecawave. ecasound-list@wakkanet.fi: A general discussion forum for ecasound/ecawave developers and users. Announcements of new versions, bug warnings, etc will be posted to this list. If you have problems compiling, installing or using ecasound/ecawave, this is a good place to ask for help. Reports of working software/hardware combinations are also welcome. You can browse the message archives at http://www.wakkanet.fi/~kaiv/ecasound/ecasound-list/current/ ecasound-cvs@wakkanet.fi: A read-only list for reports about ecasound CVS activity. You can join the lists by sending subscribe message to majordomo@wakkanet.fi. You can also join using the following web front-end: http://eca.cx/mlists.html ----------------------------------------------------------------------- Web sites ----------------------------------------------------------------------- Ecasound home site - http://www.eca.cx/ecasound Distribution packages - http://ecasound.seul.org/download/ Eca projects page (links, apps based on ecasound, etc) - http://www.eca.cx Examples of ecasound in real-life use - http://www.eca.cx/ecasound_users.html ----------------------------------------------------------------------- About free software development ----------------------------------------------------------------------- You should always keep in mind, that development of free software doesn't work in the same way as commercial development. Every succesful free software project has an active userbase behind it. This means that your comments, ideas and bug reports are extremely important. If something doesn't work, or some feature is missing, please mail me about it. Thank you in advance! You can send ecasound related mails to me at mailto:k@eca.cx. ----------------------------------------------------------------------- Stable and development versions ----------------------------------------------------------------------- Although publically released versions are called stable, this is not a guarantee of any kind. I use a small test-bench to check that all essential features are working and I use these versions myself, but that's it. And note that this isn't a temporary solution. As ecasound is open-source software, it will become more stable as more people start using it and bugs are found. So join the fun! :) ----------------------------------------------------------------------- Author / project leader ----------------------------------------------------------------------- Kai Vehmanen <kai.vehmanen@wakkanet.fi> - [kaiv] ----------------------------------------------------------------------- Contributors / credits / thanks to ----------------------------------------------------------------------- Amundsen, Eric - Bug hunting. [amundsen] Anarcat - Work on ecasound's FreeBSD port [anarcat] Davis, Paul - Has probably written more Linux audio related code (and mails) than anyone else! :) Beaupre, Antoine - Patches for FreeBSD compatibility. [beaupran] Bowman, Brad - Perl ECI binding, bug hunting. [bowman] Campbell, Ross - Tips concerning Solaris. [rcampbel] Carmack, Michael - Support for devfs /dev/sound/dsp devices [karmak] Chappell, Jesse - Bug fixes. [jesse] Claassen, Julien - Ideas for interface development, marketing. :) [julien] Coker, Rob - Pulse gate (-eemp) code. [rcs] Darilek, Nolan - Ogg vorbis fixes. [nolan_d] Dye, Rob - OSS compilation fixes. [rob] Dyson, John S. - Wrote the original advanced compressor (-eca) code. Endersz, Viktor - For sending me the adv.compressor source code! Eure, Ian and Junichi Uekawa - For creating ecasound debian packages [ieure,juekawa] Fendt, Stefan - Original code for reverb (-ete) and RC-lowpass filter (-ef4). Fischer, Hans-Georg - Bug fix that solved edi-1. [hgfischer] Hall, Jeremy - Extensive testing, ALSA 0.6.x support, many design ideas. [jhall] Halttunen, Janne - Helped in developing the EIAM, and specifically the new ECI concept. [jhalttun] Hamara, Arto - Ecasound logo(s), preset params, general linear envelope support, various bug fixes! [artham] Harris, Steve - Gcc 2.96 (RH7.0) testing and fixes. [swharris] Jeanneau, Aymeric - Reentrant libecasoundc implementation. [ajeanneau] Lang, Mario - Ecasound.el, the ecasound emacs module. [mlang] Lavallée, Marc - Rpm-spec for Mandrake. Laydier, Antoine - layer.cpp (interprets mp3 headers). [SMF] Leake, Tony - PHP ECI extension. [tonyleake] Massy, S. - Extensive testing and debugging. [smassy] Morris, Steve - Ewf-handling fixes. [smorris] Petit, Bertrand - Helped with POSIX-compatibility issues. Philips, Dave - Linux Sound+MIDI keeps Linux audio going strong! Poelstra, Remco - ECI C API bug hunting. [rjpoelstra] Polton, Richard - A 250k gcc3.x related patch. :) [rpolton] Poulton, Ron - Helped to track down the mysterious chain-bug. [thok] Sassmannshausen, Ruediger - Mp3 filename parsing fixes. [rsassman] Smith, Richard A. - Helped in solving the "gcc 2.95" bug. Sousa, Rui - OSS bug fixes. Stradling, Rob - MIDI-MMC bug fixes. [robstr] Tiedemann, Eric S. - Wrote the eci.py interface. [est] Tkachenko, Vadim - Autoconf magic. :) Yee-king, Matt - Helped debugging ppc big-endian troubles. [yeeking] Westbrook, Tim - Autoconf 2.5x fixes. [iondiode] Wróblewski, Artur - PLD-Linux RPM-specfile, readline and destdir patches. [wrobell] all LAD members - Always a great source of inspiration! www.niccx.com - For eca.cx, ecasound.cx and ecawave.cx domains. SEUL - For hosting ecasound ftp, http and CVS sites. Wakkanet Oy - For hosting ecasound web site. Note! The developer tags are (for instance I have [kaiv]) used throughout ecasound docs (NEWS, TODO-list, edi-list.txt, etc). ----------------------------------------------------------------------- Licensing/distribution policy ----------------------------------------------------------------------- Copyright (C) 1997-2003 Kai Vehmanen Ecasound is freely distributable according to the terms of the GNU General Public License (see the file 'COPYING.GPL'). This program is distributed without any warranty. See the file 'COPYING.GPL' for details. As an exception to the above, the C, C++ and python implementations of the Ecasound Control Interface (ECI) are licensed under the LGPL (see the file 'COPYING.LGPL'). This allows writing ECI applications that are not licensed under GPL. =======================================================================