Make a Custom Sound Device That Downmix 5.1 Channel to 2.0 Channel in Raspberry Pi
by mirza irwan osman in Circuits > Raspberry Pi
4232 Views, 7 Favorites, 0 Comments
Make a Custom Sound Device That Downmix 5.1 Channel to 2.0 Channel in Raspberry Pi
Introduction
Playing a 5.1 channel sound in the Raspberry Pi's built-in sound chip analogue output is not doable unless the 5.1 channel sound is downmix to 2 channel. This instructable will show how to downmix 5.1 channel sound to 2.0 channel sound. After completing this instructable, you might be interested to check out "Play Dolby Digital 5.1 Audio on Raspberry Pi" instructable.
Scope
This instructable will cover the following:
- How to create a virtual device that downmix 5.1 channel sound to 2.0
- How to install Advanced Linux Sound Architecture (ALSA) utilities
- 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
- Rasbian 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.
Test Sound Card and Speakers Are Working
Complete the Test Sound Card and Speakers instructable.
Provide Instructions to ALSA to Create a Virtual Device
Use a ALSA plugin called "route".
"Route plugin converts channels and applies volume during the conversion"Open terminal:
Use vi or any text editor.
cd
vi .asoundrc
Enter the lines as shown in the screenshot.
Save the file.
Check That ALSA Created the Custom Virtual Device
ALSA will read "home" directory for .asoundrc and create the virtual device that was defined in the previous step.
Open terminal:
aplay -L
The above program will display the custom virtual device as:
51to20
Virtual device that downmixes 5.1 channel to 2.0 channel
Test the Virtual Device
I have uploaded a sample sound file that has 6 channels (5.1) to test the virtual device that was created in the previous step.
Download the 51sound.wav
Open terminal
aplay -D 51to20 51sound.wav
The front 2 speaker should say the following:
Speaker RIGHT: "FRONT RIGHT"
Speaker LEFT: "FRONT LEFT"
Speaker RIGHT and Speaker LEFT together: "CENTER"
Speaker RIGHT and Speaker LEFT together: Some words that I cannot make out
Speaker RIGHT: "REAR RIGHT"
Speaker LEFT: "REAR LEFT"