Introduction: Use USB Sound Card in Raspberry Pi

About: Systems Administrator and Software Programmer.

Introduction

I bought a Sound Blaster X-Fi Surround 5.1 Pro recently at a Computer Fair because it was on offer. Before I bought it, I researched how good is its Linux support.It was promising so I bought it. This instructable will show how to install this sound card. Generally, it applies to other brands of USB sound card. Check how good is its Linux support before buying it.

Scope

This instructable will cover the following:

  • Install the USB Sound Card
  • Use ALSA utilities to test sound card and sound device

This instructables will NOT cover the following

  • PulseAudio
  • Open Sound System (OSS)

Specifications

My Raspberry Pi:

  • Raspberry Pi 2 model
  • Raspbian based on Debian Version 8.0 (a.k.a Jessie)
  • Advanced Linux Sound Architecture Driver Version k4.1.10-v7+
  • Pulse Audio and OSS are NOT installed
  • 2 speakers connected to Raspberry Pi's audio/video 3.5mm socket.

Step 1: Disable Raspberry Pi's Built-in Sound Chip

This step is optional. I prefer disabling the broadcom sound chip so that I can isolate and troubleshoot the USB sound card.

Complete the steps in "Disable the Built-in Sound Card of Raspberry Pi" instructable.

Step 2: Install the USB Sound Card

The Raspberry Pi should detect the USB Sound Card and load the kernel module (device driver) automatically. However, this is not guaranteed. So I need to check.

Open terminal:

sudo tail -f /var/log/messages

Refer to screenshot. The lines are irrelevent because I have not connected the USB Sound Card to Raspberry Pi yet.

Connect the USB Sound Card to Raspberry Pi and observe the output of terminal. Refer to second screenshot.

The following line indicates that Raspberry Pi has detected the USB Sound Card:

Oct 14 12:38:15 rpiproj4 kernel: [ 2460.232593] usb 1-1.5.6: Product: SB X-Fi Surround 5.1 Pro

Step 3: Check That Kernel Module (Device Driver) Was Loaded Automatically

Accoding to alsa-project.org the kernel module name for this sound card is snd-usb-audio (or snd_usb_audio).

Check that his kernel module was automatically loaded.

Open terminal:

lsmod | grep snd_usb_audio

Refer to screenshot. The snd_usb_audio was listed so it means kernel module was loaded by Raspberry Pi.

Step 4: Discover the ALSA Card Id and Device Id of the USB Sound Card

Open terminal:

Display ALSA playback device

aplay -l

The ALSA Card Id is "Pro" or number 1. Not a very descriptive name. Refer to screenshot.

The ALSA Card has 2 devices:

  • First Device Id is 0
  • Second Device Id is 1

This USB sound card has line-in for microphone. So there should be a corresponding ALSA capture device

arecord -l

There is one ALSA Capture device. Cards. Card id = Pro or number 1 | Device Id = 0. Refer toscreenshot.

Step 5: Test by Sending Sound Stream to ALSA Playback Device

Make sure speakers are connected to the USB Sound Card and that Speakers are powered-up.

Open terminal:

speaker-test -Dhw:1,0 -c2 -twav

If the speakers put out a lady's voice that say:

FRONT LEFT and FRONT RIGHT on both speaker, then the Sound Card is successfully installed.