Aglaophone is a system of interconnectable modules for the recording, processing, and playback of real-time audio.
Anything you want, provided you write modules
Modules with the following functionality are included:
soundcardio(record) -> bits -> spectr -\ (play)\- <- <- <- <--/
Aglaophone is currently available only for Linux, but I strongly encourage anyone who is interested to port it to other operating systems. It shouldn't be at all difficult.
Aglaophone is (mostly) licensed under the GNU General Public License. You can download the Aglaophone source code. (if it doesn't download when you click on the file name, try shift-clicking). I don't currently distribute binaries.
Aglaophone is still in pre-release. Versions are numbered by date. The format is aglaophone<mm><dd><yy> where <mm> is the month, <dd> is the day, and <yy> is the year.
If the modules included with the Agalophone distribution don't do what you need, go ahead and write more! There is a utility library in the lib/ directory which is full of convenient routines. You can also use pre-existing modules as examples. For a signal processing module, "bits" is probably the best example.
If you do write additional modules, I request (but do not require) that you do the following things:
(click on the images to make them larger)
This shows the real-time spectrogram module ("spectr"). The upper part of the display shows the real time spectrogram, with time on the horizontal axis and frequency on the vertical axis. Color corresponds to amplitude at the corresponding time and frequency. The bottom of the spectrogram display corresponds to zero frequency. The top corresponds to the nyquist limit (5.02 kHz in this case). The black vertical bar through the spectrogram display shows where sound is currently being recorded. The lower part of the display is a real-time oscilloscope showing the actual samples of the signal being recorded.
This demonstrates the imaging distortion one gets from using a step mode DAC. The bottom display is an x4 oversampled and step-filtered version of the audio data from the upper display. The high frequency components (upper 3/4 of the lower window's spectrogram display) are images from 5 kHz-20 kHz of the 0 - 5 kHz audio data. You can see the 'step' type interpolation in the time domain by looking at the lower oscilloscope display.
This shows the effect of very large quantization steps. In the section on the right, the 11 lowest order (out of 16) bits of the digital audio stream have been masked out, adding quantization noise. The noise is visible in the right half of the spectrogram display as a broadband signal. You can see the quantization steps in the oscilloscope display.
In this example quantization is being added to the subbands of a Smith-Barnwell filter bank. A spectrogram shows the spectral character of the signal, as affected by the different quantization in the two subbands.
We use the same Smith-Barnwell filter bank above, but use a wavelet transform architecture, and eight subbands instead of two. Sample configuration files are provided for both time-domain and frequency-domain quantization. This provides a framework for understanding the audible differences between time-domain and frequency-domain quantization and the effect of subband quantization as a compression algorithm.
In the upper left is a switch that allows comparison of the original and reconstructed sounds. On the lower left is a spectrogram display. On the right are quantizers for each frequency band.
Aglaophone was one of the Sirens of Greek mythology. It means "Bright voice"
"[Sirens] were huge birds with women's heads who lived on an island off the coast of Sicily. By their sweet singing, they lured seafarers on to dangerous rocks."
"In primitive times the Sirens, who were daughters of the river Achelous, had been river deities. In number they were - depending on different authors - two, three, four or even eight. They had names which emphasized the charm of their voices: Aglaophonos or Aglaophone (of the brilliant voice); Thelxepeia (of the words which enchant); PeisinoŽ (the persuasive); Molpe (song)."
For more information, see http://sunflower.singnet.com.sg/~rliza/SIREN.HTM
Aglaophone was written by Steve Holland (sdh4 at the domain iastate dot edu).
It is Copyright (C) 1998-1999 Steve Holland. Aglaophone is
distributed under the GNU General Public License.
IMPORTANT: Some included modules were written by different authors and may have different (i.e. non-GPL) licensing restrictions