EsounD - alpha version - 0.2.1

So you've got your (insert sound playing program here) cruising at full tilt, and you want to check out this cool Monty Python quote, but you don't want to kill the original sound? This is just the fix, with a little tweaking, of course. =P The Enlightened Sound Daemon can mix several audio streams into one sound device. It will mix in pre-loaded samples, too. Want to play a frightening sound whenever the user presses the "go" button? No problem, just cache it, and play it back by sample id number.

Caveats

This is hot off the presses software, get it while it's still hot. Seriously, don't download this unless you're willing to help debug, test thoroughly, port other players, etc. It's still got a ways to go yet. Be prepared for a bumpy ride. Any and all reasonable patches and improvements accepted.

Requirements

The Enlightened Sound Daemon requires the following: Linux, version 2.??? or higher. I run 2.0.33, but I don't think the sound API has significantly changed recently. If you find it to be incompatible with different kernel/OSS revs, let me know. The incompatability with recent 2.1.xx kernels has been fixed.

And of course, a sound device.

Currently, this only runs under Linux. I will work on porting to SGI/Irix soon. Ports to other platforms are requested.

Known Problems, Deficiencies, and Possible Workarounds:

This should probably have some documentation as to the API, but for now it's still in development (i.e. subject to change). See the sample command line driver utilities (esd?*) for usage.

Any other pressing issues or patches may be directed to ericmit@ix.netcom.com. Please mention "EsounD v0.2.1" in the subject line.
I occasionally hang out in the #E irc channel as ricdude.

New Features

Version 0.2.1
Version 0.2

Downloading, Compiling, and Installing

Simply download the EsounD archive from ftp://ftp.enlightenment.org/pub/ricware/esound-0.2.1.tar.gz - (Alternate) and extract the contents of the archive.

To compile the package, change to the newly created "esound-0.2.1" directory, and type "configure ; make". The sound daemon, and the command line toolset should build as is. All executables should run fine from the source directory. You may need to "export LD_LIBRARY_PATH=`pwd`" (for sh/bash) or "setenv LD_LIBRARY_PATH `pwd`" (for csh/tcsh), for the dynamically linked libs to link properly.

As root, type "make install". This should copy all relevant files to useful/accessible places.

Running EsounD

esd
the Enlightened Sound Daemon.
* options for esd - -port <port> = accept connections on port (default=5001)

esdctl controls certain aspects of the sound daemon. options are lock, unlock, standby, resume.
lock - only the "owner" of the daemon can play sounds. the first key (16 bytes) submitted to the daemon identified the owner.
unlock - anyone can play sounds through the daemon.
standby - frees the audio device for use by other programs. all sounds are ignored until the daemon is resumed.
resume - brings daemon out of standby mode
more than one option may be listed on the command line
* in addition, "kill -HUP <esd-pid>" resets ownership of the daemon.
* the file, ~/.esd-auth, is used to determine identity, and is created at random if needed.

esdcat
plays a raw audio stream through the daemon
esdmon
outputs the mixed stream from the daemon
esdrec
outputs from the sound device's current input
* options for cat,mon,rec - default to 16 bit signed short, stereo, 44.1kHz
* -b = 8 bit unsigned char, -m = mono, -r <rate> = sample rate of rate Hz.
esdsample
test scaffolding for sample cache, play back, and free.
esdloop
test scaffolding for sample cache, loop, and free.
* options for esdsample, esdloop - same as above, but must specify a file on command line.

** all client programs can connect to remote hosts via the ESPEAKER environment variable: export ESPEAKER=inet.addr.of.host:port for bash; setenv ESPEAKER inet.addr.of.host:port for tcsh. The client will connect to EsounD running on the specified host on the specified port.

Planned Development and Top Suggestions So Far...

Porting of sound playing applications. It shouldn't be *too* hard. Anyone willing to lend a hand in this effort will be duly appreciated.

Planned Feature Additions:


Potentially Useful Links
[ Ric's Home ] - [ Ric's E Page ] - [ Econfig ] - [ EsounD ] - [ Links ]


gratuitous counter brave souls have dared to view this page's evil content.
Page created by: ericmit@ix.netcom.com
Changes last made on: April 29, 1998