MSND - a Un*x/Linux AD/DA-driver for MultiSound/Tahiti/Monterey =============================================================== MultiSound(classic)/Tahiti/Monterey are soundcards made by Turtle Beach Systems. They can, among other features, record and play digital audio at rates up to 44.1kHz stereo on their onboard AD/DA-converters. This device driver accesses the converters of a single card, allowing high quality harddisk recording/playback without dropouts - even on a busy system! Unfortunately the other features as wave synthesis, MIDI and signalprocessor (DSP) CANNOT be used. Also, recording and playback at the same time is not possible. The driver was originally designed to run on a generic System V386/ R3.2. It now includes an EXPERIMENTAL interface to Linux, providing the same functionality. This interface doesn't yet coexist with VoxWare, the default soundcard driver on Linux. It was checked to operate on several kernel versions between 1.0.9 and 1.2.1. Contents: --------- 1. Features 2. How to obtain necessary DSP-code images 3. Installation 4. What's new in this release? 5. Concept of operation 6. Reliability, support, improvements 7. Credits 8. Author and where to get more information 9. Copyright and disclaimer 1. Features ----------- * interfacing soundcards made by Turtle Beach Systems, Inc., that are using proprietary Harry Cane (or so ...) arcitecture; tested with MultiSound(classic)/Tahiti/Monterey * recording or playback directly at 11.025, 22.05 and 44.1kHz, mono or stereo, with big- or littleendian 16bit samples (refer to Lance Norskog's package `(L)sox' for conversion of other formats) BUT: NO MIDI, NO ADVANCED DSP-PROGRAMMING, NO SIMULTANIOUS REC/PLAY, NO PROTHEUS/WAVE-SYNTHESIS, NO SPECIAL EFFECTS * flexible interrrupt buffering scheme for robust continuous recording and playback from/to disk; can keep up with sync even on a busy system * driver kernel interfaces and driver installation interfaces to a) ATT Unix V386/R3.2 (might run as is with other systems like Interactive and SCO, but NOT tested) b) Linux, replacing VoxWare, thereby loosing VoxWares functional benefits (like /dev/audio) * uses a single character device which can be read or written; parameters like rate and format of are controlled by ioctl() * implements control of `IN' and `AUX' sensitivity * three application programs for playback (featuring continous repeat of any file without delaying samples when rewinding), recording (set number of samples to be recorded) and control are supplied * for copyright reasons the necessary DSP56001-code images have been excluded from the source tree; they have to be obtained from a public source (see below) 2. How to obtain the necessary DSP-code images ---------------------------------------------- Use the World-Wide-Web to retrieve the MultiSound software package multi_10.zip from foo would record audio data to the file foo until the process is killed or a selectable limit of samples is reached. After that one could use command cat foo >/dev/msnd to play the file back again. In order to set a different sampling rate a process would have to perform ioctl-calls on the /dev/msnd. For convenience the commands msndctl, play and rec are provided. The first allows to alter the operational paramters, whereas the other two also directly record to or, respectively, play from a file. 6. Realiability, support, improvements -------------------------------------- The driver has been used for a long time time on a generic Unix V386/R3.2 using the MultiSound classic. A Tahiti has been tested for a day. The Linux interface is EXPERIMENTAL. It just encapsulates the code of the V386/R3.2 driver. Using the MultiSound classic it has been tested for a short time on Linux 1.0.9, 1.1.88, 1.2.1. Compiler was gcc 2.5.8. Greg Smith has tested msnd-2.1 under Linux 1.1.45 using a Monterey. See also HISTORY-file. If you experience substantial problems please contact me. Maybe I can help. If all goes well drop me a note too! Whereas I will rather confine myself to bugfixing Greg is also plannig improved releases. For suggestions on improvement see file TODO. Eventually this driver should merge into VoxWare, if Hannu Savolainen finds the time. Don't get too excited about functional improvements: TBS has kept a strict information policy in the past. It seems unlikely that they will ever release any information how to program the hardware. All information that was needed to implement the present functionality of this driver was obtained by painfully debugging of the DOS executables. 7. Credits ---------- Thanks to * Greg Smith for discussions, suggestions and testing of the experimental Linux interface. * Hannu Savolainen for help with the experimental Linux. * Eddie from Music Shop, Munich, for generously allowing me to test the MultiSound and Tahiti before buying. * Sean McCreary for maintaining the WWW archive site and the mailing list (see below), without it I never would have felt encouraged to publish this driver. 8. Author and more information ------------------------------ Questions, remarks, suggestions and advice are welcome Markus Mummert * SNAILMAIL: Emanuelstr. 27 D-80796 Muenchen Germany * PHONE: +49 89 300 44 70 * MAIL: Please Note: this adress is checked depending on traffic - maybe only twice a month at the worst My own system is offline. For further information check * WWW: Archive site, FAQs on turtle beach soundcards * MAILING LIST: read all about it on WWW-page * USENET: 9. Copyright and disclaimer --------------------------- Copyright (c) 1994-1995 by Markus Mummert Redistribution and use of this software, modifcation and inclusion into other forms of software are permitted provided that the following conditions are met: 1. Redistributions of this software must retain the above copyright notice, this list of conditions and the following disclaimer. 2. If this software is redistributed in a modified condition it must reveal clearly that it has been modified. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ===EOT===$Id: README,v 2.1.0.1 1995/04/11 14:46:40 mummert Exp mummert $