Audio Arduino -- an ALSA (Advanced Linux Sound Architecture) Audio Driver for FTDI-based Arduinos
Smilen Dimitrov, and Stefania Serafin
Proceedings of the International Conference on New Interfaces for Musical Expression
- Year: 2011
- Location: Oslo, Norway
- Pages: 211–216
- Keywords: alsa,arduino,audio,driver,linux,sound card
- DOI: 10.5281/zenodo.1177997 (Link to paper)
- PDF link
Abstract:
A contemporary PC user, typically expects a sound cardto be a piece of hardware, that: can be manipulated by'audio' software (most typically exemplified by 'media players'); and allows interfacing of the PC to audio reproduction and/or recording equipment. As such, a 'sound card'can be considered to be a system, that encompasses designdecisions on both hardware and software levels -- that also demand a certain understanding of the architecture of thetarget PC operating system.This project outlines how an Arduino Duemillanoveboard (containing a USB interface chip, manufactured byFuture Technology Devices International Ltd [FTDI]company) can be demonstrated to behave as a full-duplex,mono, 8-bit 44.1 kHz soundcard, through an implementation of: a PC audio driver for ALSA (Advanced LinuxSound Architecture); a matching program for theArduino'sATmega microcontroller -- and nothing more than headphones (and a couple of capacitors). The main contributionof this paper is to bring a holistic aspect to the discussionon the topic of implementation of soundcards -- also by referring to open-source driver, microcontroller code and testmethods; and outline a complete implementation of an open -- yet functional -- soundcard system.
Citation:
Smilen Dimitrov, and Stefania Serafin. 2011. Audio Arduino -- an ALSA (Advanced Linux Sound Architecture) Audio Driver for FTDI-based Arduinos. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.5281/zenodo.1177997BibTeX Entry:
@inproceedings{Dimitrov2011, abstract = {A contemporary PC user, typically expects a sound cardto be a piece of hardware, that: can be manipulated by'audio' software (most typically exemplified by 'media players'); and allows interfacing of the PC to audio reproduction and/or recording equipment. As such, a 'sound card'can be considered to be a system, that encompasses designdecisions on both hardware and software levels -- that also demand a certain understanding of the architecture of thetarget PC operating system.This project outlines how an Arduino Duemillanoveboard (containing a USB interface chip, manufactured byFuture Technology Devices International Ltd [FTDI]company) can be demonstrated to behave as a full-duplex,mono, 8-bit 44.1 kHz soundcard, through an implementation of: a PC audio driver for ALSA (Advanced LinuxSound Architecture); a matching program for theArduino'sATmega microcontroller -- and nothing more than headphones (and a couple of capacitors). The main contributionof this paper is to bring a holistic aspect to the discussionon the topic of implementation of soundcards -- also by referring to open-source driver, microcontroller code and testmethods; and outline a complete implementation of an open -- yet functional -- soundcard system.}, address = {Oslo, Norway}, author = {Dimitrov, Smilen and Serafin, Stefania}, booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression}, doi = {10.5281/zenodo.1177997}, issn = {2220-4806}, keywords = {alsa,arduino,audio,driver,linux,sound card}, pages = {211--216}, title = {Audio Arduino -- an ALSA (Advanced Linux Sound Architecture) Audio Driver for FTDI-based Arduinos}, url = {http://www.nime.org/proceedings/2011/nime2011_211.pdf}, year = {2011} }