ScdComparison - SdPhd

ScdComparison


Contents

Comparing the CD-quality, full-duplex timing behavior of a virtual (dummy), hda-intel, and FTDI-based AudioArduino soundcard drivers for Advanced Linux Sound Architecture

This project continues the treatment of the DIY approach to soundcards - as an example of an overall approach to PC-based digital audio hardware development - started with ExtendingISASoundcard, and continued in Minivosc, AudioArduino, AudioArduino-AnalogBoard, and AudioBareBonesFPGA. This is a project that explores the issues in transitioning the Advanced Linux Sound Architecture (ALSA) soundcard driver(s) in these projects, from their original settings (half or full-duplex, mono, 8-bit, 8 kHz or 44.1 kHz) to full-duplex CD-quality settings (stereo, 16-bit, 44.1 kHz). The research focuses on comparing the timing performance between the (snd-)dummy, (snd-)hda-intel, and AudioArduino ALSA drivers in full-duplex, CD-quality regime; and it has been conducted by implementing corresponding, open-source: user-space audio software; kernel-space soundcard drivers; and test & analysis (user-space) software and scripts — which otherwise utilize a variety of open source tools.

In continuation of AudioArduino, AudioArduino-AnalogBoard, and AudioBareBonesFPGA, this project's deliverables have also been been built on (and for) the the 2.6.3* Linux kernel series (v2.6 Index) — primarily developed on Ubuntu 11.04 (Linux kernel 2.6.38) and Ubuntu 10.04 (Linux kernel 2.6.32) GNU/Linux operating systems. This project thus completes the overview of development of soundcard drivers (both virtual and hardware ), from low to high-fidelity audio settings, on this operating system series.



Paper

  • Please note that the corresponding paper, "Comparing the CD-quality, full-duplex timing behavior of a virtual (dummy), hda-intel, and FTDI-based AudioArduino soundcard drivers for Advanced Linux Sound Architecture", is published only as a part of my Ph.D. dissertation (please see the thesis E-publication)

Source code

The primary deliverable for this project is released as a software collection named (alsa-)scdcomp; the source code can be browsed here, or checked out from svn through:

svn co http://svn.code.sf.net/p/sdaaubckp/code/alsa-scdcomp alsa-scdcomp
# or, alternatively
svn co svn://svn.code.sf.net/p/sdaaubckp/code/alsa-scdcomp alsa-scdcomp

A related deliverable is the numStepCsvLogVis.py - a Python + ncurses TUI + Tkinter GUI application - with source code that can be browsed here, or checked out from svn through:

svn co http://svn.code.sf.net/p/sdaaubckp/code/numStepCsvLogVis numStepCsvLogVis
# or, alternatively
svn co svn://svn.code.sf.net/p/sdaaubckp/code/numStepCsvLogVis numStepCsvLogVis

The scdcomp collection consists of 93 files organized in 10 directories - some of which may have already been posted (in slightly different versions) as part of the mailing list thread Questions about virtual ALSA driver (dummy), PortAudio and full-duplex. A more detailed description, along with building and running instructions, will eventually follow (TODO!); but some of the more distinct parts are:

GIF animations

MPG animations


»»



Choose skin to view site in: 0 1 2 3 4 5 6 7 8 9 10 11