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

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.1177997

BibTeX 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}
}