Raspberry Pi Audio Update

As promised, this post is the final update on my journey of building high-quality audio solution based on the Raspberry Pi. As I said in my last post, I ordered the Terratec Aureon Dual USB sound “card” (around 16 EURs) and a TOSLINK cable. The card arrived in a timely manner and, boy!, this is what I’d call plug ‘n’ play. After connecting it with a USB extension cord to the board1 the kernel recognized it immediately:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0586:341e ZyXEL Communications Corp. NWD2105 802.11bgn Wireless Adapter [Ralink RT3070]
Bus 001 Device 005: ID 0ccd:0077 TerraTec Electronic GmbH Aureon Dual USB

To my surprise, Poettering’s brain child has not yet arrived in the Raspian distribution, thus sound output is still managed by ALSA. Of course, when I tried listening with mpd, music was only output on the crappy on-board jack. So I wasted a lot of time with adapting /etc/asound.conf and whatnot until I realized that I could simply specify a different output and mixer device in /etc/mpd.conf:

audio_output {
    type            "alsa"
    name            "My ALSA Device"
    device          "hw:1,0"        # use the external USB sound card
    format          "44100:16:2"
    mixer_device    "hw:1"          # same here
    mixer_control   "Speaker"       # the mixer for the analog jack
    mixer_index     "0"

Now, mpd outputs on the USB sound card and analog volume can be controlled with any mpd client. Compared to the on-board DAC, the Terratec is huge step forward; no hissing, pops and noises at high frequencies. So this is it: my audio setup is complete.

  1. Even though the Zyxel adapter is rather small, both devices do not fit in the dual USB socket.