Audio::DSP - Perl interface to *NIX digital audio device Version 0.01 Description Audio::DSP is built around the OSS (Open Sound System) API and allows perl to interface with a digital audio device. The Audio::DSP object stores I/O parameters and also supplies temporary storage for raw audio data. Requirements In order to use Audio::DSP, you'll need to have the necessary OSS drivers/includes installed. OSS is available for many popular Unices, and a GPLed version (with which this extention was developed and tested) is distributed with with the Linux kernel. See "See Also" below for relevant URLs. Download The latest version may be downloaded from the Audio::DSP homepage: http://www.pdamusic.com/computer/audio-dsp.html Installation The usual. perl Makefile.PL make make test (optional) make install NOTE: If for some reason the tests fail, it may be because the options specified in the tests are not compatible with your soundcard. I've used "lowest common denominator" settings (8 bit unsigned, 8 kHz mono), but they may not be so "common" to your soundcard. :-) In which case (if you know what you're doing) you may modify or simply skip the tests and do what you will... To Do / Suggestion for Data Manipulation Extentions I may, in the future, implement PerlIO in the Audio::DSP module. For reasons on which I won't expound here, the initial (0.01) release of Audio::DSP relies on C library fcntl/ioctl functions (rather than on the PerlIO abstraction layer) in order to interface with the system's audio device file. In keeping with purpose, I have not included any methods for data manipulation in the Audio::DSP extension (the Audio::DSP object provides storage for raw audio data read from the device, but that is all). It would, however, be nice to implement a suite of modules for the purpose of data manipulation (converting the data to common audio file formats, filtering, etc.). I would suggest a sort of shared "audio data object," to be passed between classes, containing the raw audio data as well as a few necessary paramters. A hash reference looking something like: { data => 'gobbledegook', format => 16, rate => 44100, channels => 2, } would probably suffice. Let me know if this is something on which you'd be interested in collaborating. Author Seth David Johnson affection@pdamusic.com Copyright Copyright (c) 1999 Seth David Johnson. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See Also Open Sound System homepage http://www.opensound.com/ Open Sound System - Audio programming http://www.opensound.com/pguide/audio.html A GPLed version of OSS distributed with the Linux kernel was used in the development of Audio::DSP. See "The Linux Sound System": http://www.linux.org.uk/OSS/ For those curious, the Advanced Linux Sound Architecture (ALSA) API should remain compatible with the OSS API on which this extension is built. ALSA homepage: http://www.alsa-project.org/