Document Status:
This is the inital version of the AUSS User Manual.
Author | Description | Date |
---|---|---|
Abram Hindle | Updating the User Manual | Tue Dec 17 21:44:54 PST 2002 |
Abram Hindle | Working on the User Manual | Mon Dec 2 15:10:52 PST 2002 |
Abram Hindle | Started the User Manual | Tuesday Nov 26 10:01:07 PST 2002 |
AUSS is a stream based sound routing system.
AUSS will provides an easy to use API, who's purpose is to hasten the development of
audio applications. AUSS enables the use of pipes and sockets to
move digital audio between processes and computers. AUSS is meant to
enable interprocess, intercomputer patching of audio. AUSS enables computers and
processes to be connected.
The philosophy behind AUSS is keep it easy, keep is simple. Audio is transmitted
raw and often headerless. It is expected that you know what your system is
using. There are headers but they are XML (so they are easily extendable and
readable).
AUSS is also meant to be open, extendable and free. AUSS is GPL'd while the libs
are LGPL. You are welcome to make AUSS software with any license or any
language. AUSS is meant to be so simple that it will be trivial to communicate
to with in most languages.
To compile and make AUSS type:
Once AUSS is compiled then you can run the various programs found in:
For the connector and the configurator you can also "make docs" to regenerate the documentation if you have both javadoc and doxygen installed.
It is up to the Configurator to connect the connections of the Connector
before any audio will be moved.
The Connector can be shutdown by commands from the Configurator
Purpose:
The purpose of this manual to introduce and inform the user on how to use AUSS effectively.
It is also meant to answer user questions and provide some context to the user.
This manual is also meant to provide end-user documentationt to further the
acceptance of AUSS.
Terminology:
Installation:
Currently how you want to install AUSS is up to you.
% make
If you plan to compile AUSS programs in C and don't want to statically link files I suggest you install libAUSS.so into /usr/local/lib or an appropriate library directory.Overview Section:
The AUSS Project Consists of:
% soundProgram | Muxer host1 port1 host2 port2 ...
% Demuxer port1 | soundCardPlayer
% stereoSoundProgram | PipeSplitter 2>e; /dev/null | soundCardPlayer
Connector:
Running:
% Connector
The default port is 6780, the port you provide is the first of 4 ports
e.g.
Waiting for connection on port 6780
Waiting for connection on port 6781
Waiting for connection on port 6782
Waiting for connection on port 6783
Explaination:
The connector now may be connected to by other program on the previously
defined ports.
Configurator:
Running:
% RunConfigurator
Commands:
Muxer:
Running:
% soundSource | Muxer
Commands:
DeMuxer:
Running:
% DeMuxer
Commands:
Sink:
Running:
% Sink
Commands:
PipeSplitter:
Running:
% PipeSplitter
% soundin | PipeSplitter > /dev/null 2| soundout
Commands:
Useful Tools That The Author Uses:
Netcat:
Like cat but over TCP, exactly compatible with AUSS. Netcat can listen on a port and output to stdout. It can connect to remote host and communicate through bother stdin and stdout. Unfortunately the tool comes a shady source :).Ecasound:
Great unix commandline utility. Very powerful software. I use it to play auss audio streams to the sound card.Csound:
Excellent Unix/Windows sound synthesizer. It's much like macro assembler for sound synthesis. You write instrument and then use an orchestra or real time events to call it.
Doxygen:
Doxygen is an excellent source reverse engineering and program understanding tool. It's currently being used to generate up to date architectural diagrams and design documention for C/C++.
Examples:
Mp3 Stream To Connector:
% mpg123 -s ~/we_didnt_start_the_fire.mp3 | ./Muxer localhost 6780
Using Netscat And Ecasound To Play Output From A Sound Connector:
% nc localhost 6781 | ecasound -i stdin
Perl And Muxer Piping To The Connector:
% perl -e 'for(;;){print pack("s",rand(65000));}' | Muxer localhost 6780
Demuxer And Csound:
% Demuxer 6787 | csound -i -o devaudio file.orc file.sco