DSD for Raspberry Pi

DSD for Raspberry Pi


I decided to share my successes/failures so far in compiling DSD on the Raspbian Wheezy distribution for the Raspberry Pi.

---Setup---
- Raspberry Pi Model-B with 256MB of RAM.
- USB Microphone-in for discriminator audio-in (C-Media device: http://dx.com/p/virtual-5-1-surround-usb-2-0-external-sound-card-22472)
- Raspbian Wheezy distro, 2012-10-28-wheezy-raspbian
- 4GB SD card
- MbeLib 1.2.3 https://github.com/szechyjs/mbelib
- DSD 1.4.1 https://github.com/szechyjs/dsd (I am using the copy from here since other people have not been releasing their source code for their patches/forks)

---OS Install---
1. Download Raspbian "wheezy", (http://www.raspberrypi.org/downloads)
2. Install onto SD card using Win32DiskImager or dd (http://www.raspberrypi.org/downloads)
3. Connect RaspberryPi to an internet connection with DHCP
4. Attach Keyboard and USB sound card
5. Boot RaspberryPi and login with user: pi password: raspberry
6. Close the config tool that first comes up by hitting Esc.
7. Update/upgrade system utils. I used the command: "sudo apt-get update && sudo apt-get upgrade" (this will take a while)

If you can't get to this point, see: http://elinux.org/R-Pi_Troubleshooting

---DSD Install---
7. Type the following lines:
cd ~
mkdir dsd-src
cd dsd-src
wget -O mbelib.zip https://github.com/szechyjs/mbelib/archive/master.zip
wget -O dsd.zip https://github.com/szechyjs/dsd/archive/master.zip
unzip mbelib.zip

unzip dsd.zip
cd mbelib-master
sudo make
sudo make install
cd ..
cd dsd-master
sudo make
sudo make install
cd /
dsd -h


---Running DSD (Experimental)---
By default, Raspbian won't have a /dev/audio or /dev/dsp for DSD to use. You have to enable OSS emulation.

8. Enable OSS emulation: sudo modprobe snd-pcm-oss

Now there should be a /dev/dsp and /dev/dsp1 (as well as a /dev/audio and /dev/audio1). dsp1 is most likely your USB sound card.



10. Start DSD by typing: dsd -i /dev/dsp1 -o /dev/dsp1 [Options].
For example, I use: dsd -i /dev/dsp1 -o /dev/dsp1 -fp -v 1



Current issues:
-Whenever I try to use the RaspberryPi audio output (via HDMI or built-in output jack), DSD causes a kernel panic. So I just stick with the USB in/out (/dev/dsp1). I don't know if this is a USB stack issue, and OSS emulation issue, or what.

-Decoding is very slow and almost unusable. I have only tested ProVoice at this point, so I'll be tweaking the settings/DSD code to hopefully optimize it.

-You may want to try overclocking your RaspberryPi, see: http://lifehacker.com/5944867/overclock-a-raspberry-pi-without-voiding-your-warranty


I would like to hear everyone else's opinions and experiences concerning anything OSS/ALSA/DSD.

1 comment:

  1. DSD on Rasberry PI

    I also am trying to get DSD running on my Rasberry PI. I did the same as you show and wasn't getting much. I added the compiler options:
    -march=armv6
    -mfpu-vfp
    -mfloat-abi=hard

    This helped a little. Then I setup over clocking to 800Mhz.
    I set the boot variable dwc_otg.speed=1 to lower the USB speed. Not sure this did anything.

    I still don't really have decent decode? It may just be that the hardware is just not enough.

    ReplyDelete

Thanks for your comments, Comments may take a day to show up
.
Digital Ham Radio / Amateur Radio
DigitalHamRADIO@groups.io
https://groups.io/g/DigitalHamRADIO
.

Note: Only a member of this blog may post a comment.