Raspberry Pi microphone setup with USB sound card

Two options of attaching a microphone into Raspberry Pi. One is to have USB mic, another to have an external USB sound card. Regardless the choice, the following instruction will work in setting up some basic microphone setup, before doing something cool like recording music, or experimenting with voice recognition modules. A generic such USB sound card as the ‘Sound Blaster Play!’ dongle can be purchased for this exercise.
1. Plug in the dongle and check the version of your sound card with lsusb:
Bus 001 Device 004: ID 041e:30d3 Creative Technology, Ltd Sound Blaster Play!
2. To enable USB audio output, load the sound driver:
$sudo modprobe snd_bcm2835

To prevent the internal sound card to appear at the top comment out line, and change index from -2 to 1:

$sudo nano /etc/modprobe.d/alsa-base.conf

options snd-usb-audio index=1

3. Enable USB audio output by default

$sudo nano /etc/asound.conf

pcm.!default {
type plug
slave {
pcm "hw:1,0"
ctl.!default {
type hw
card 1

4. Reboot now:

$sudo reboot

5. To record:

$arecord -D plughw:1,0 -f cd test.wav

6. To playback:

$aplay test.wav
7. You may want to adjust some volumes:
8. To save your settings:
$sudo alsactl store
Have you tried anything cool with a microphone on your Raspberry Pi? Please share your experience here.

Viewed: [post_view]

(Visited 24,068 times, 15 visits today)
  • Hello. I’m trying to make a soun studio about the acustic contamination in my classroom, so I need that my raspberry can check the volmune or intensity or db about the sound. Can you help me ? ­čÖé Ty

  • Dipto Pratyaksa

    Hi, sure, you can hook RPi to external sound sensors or simple microphone, and write a python program to detect the decibels.

  • Avichal Sahai

    arecord -D plughw:0,0 -f cd test.wav
    sir i think it should be,
    arecord -D plughw:1,0 -f cd test.wav

  • Pingback: Audio Configuration in Raspberry pi | Corredera Jorge()

  • David Bendell

    Hello Urbano. Did you have any success with this project? Could you share some details of how you did this? Thanks.

  • Yusuf Mayet

    Hi, can you tell what sound card you are using. I am using a C-Media based one, and really struggling, because I am just getting static. This seems to be a common problem with C-Media chipsets. Would love to know which sound card you are using?

  • John Walsh

    I tried the Logitech H390 headset with PocketSphinx Speech Recognition application but failed to get PocketSphinx to recognize the microphone. This was because it was recording in stereo.

    It clearly had both mono and stereo record modes that showed up in alas mixer, but I could not figure out how to make alas use the mono channel.

    Does anyone know a way to achieve this?

    I am currently awaiting delivery of a mono microphone and will try again but need to know how to fix the stereo record problem.


  • Dipto Pratyaksa

    You can also try the analog to digital converter chip in between the mic and gpio pins, it will take in voltages as bits, the more bits there are, the noisier the room is. https://www.adafruit.com/product/856