summaryrefslogtreecommitdiff
path: root/TROUBLESHOOTING.md
diff options
context:
space:
mode:
authorbboffey <boffeymail@gmail.com>2016-02-23 16:25:29 +0000
committerbboffey <boffeymail@gmail.com>2016-02-23 16:25:29 +0000
commit6138099c0348591d3a2d5126d53879484d4b0c77 (patch)
tree1aea30674a460d861240952da2d6963ce13bc5b0 /TROUBLESHOOTING.md
parentda50f19b1af2b8ae92d09faf8f878edf65350a59 (diff)
Update TROUBLESHOOTING.md
Added details of sound.conf buffer and period tweaks as a workaround for stuttering audio on certain USB DACs
Diffstat (limited to 'TROUBLESHOOTING.md')
-rw-r--r--TROUBLESHOOTING.md74
1 files changed, 73 insertions, 1 deletions
diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md
index 6300236..e29e9fd 100644
--- a/TROUBLESHOOTING.md
+++ b/TROUBLESHOOTING.md
@@ -1,6 +1,6 @@
Troubleshooting
-----
-The installation and setup of Shairport Sync is straightforward on recent Linux distributions. Issues can occasionally arise caused by problems elsewhere in the system, typically WiFi reception and/or the WiFi adapter settings, the network, the router, firewall settings.
+The installation and setup of Shairport Sync is straightforward on recent Linux distributions. Issues can occasionally arise caused by problems elsewhere in the system, typically WiFi reception and/or the WiFi adapter settings, the network, the router, firewall settings or some more esoteric audio interfaces.
In this brief document will be listed some problems and some solutions.
@@ -55,3 +55,75 @@ You may have to change the IP adresses range depending on your own local network
You can check UFW config by typing `sudo ufw status` in shell. Please make sure that UFW is active, especially if you have deactivated it previously for testing purpose.
Run your song from your remote device. Enjoy !
+
+### Stuttering audio on certain USB DACs (such as the Creative Soundblaster MP3+)
+
+**Problem**
+When using a USB DAC on a Raspberry Pi audio plays fine through other methods (such as through mpd, mopidy, mplayer or aplay) but when streamed to Shairport Sync regular dropouts or stutters are heard.
+
+**Possible Cause**
+There is a suspicion (although this is not 100% confirmed) that this is a fun latency/timing issue related to a combination of
+- The Raspberry Pi's ethernet itself being a USB device resulting in shared bandwidth/interrupts with USB DACs
+- Shairport Sync continually checking the latency of the USB DAC to maintain synchronisation of audio
+- Quirky USB DACs (already known to be problematic on the Raspberry Pi more info available [here](https://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md#knownissues)
+For more discussion on this issue see [issue 167](https://github.com/mikebrady/shairport-sync/issues/167) or read on for the quick fix!
+
+**Solution**
+To get nice smooth audio first check the details of your USB DAC by either using 'aplay -l' which will give you output something like this:
+````
+**** List of PLAYBACK Hardware Devices ****
+card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
+ Subdevices: 8/8
+ Subdevice #0: subdevice #0
+ Subdevice #1: subdevice #1
+ Subdevice #2: subdevice #2
+ Subdevice #3: subdevice #3
+ Subdevice #4: subdevice #4
+ Subdevice #5: subdevice #5
+ Subdevice #6: subdevice #6
+ Subdevice #7: subdevice #7
+card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
+ Subdevices: 1/1
+ Subdevice #0: subdevice #0
+card 1: MP3 [Sound Blaster MP3+], device 0: USB Audio [USB Audio]
+ Subdevices: 0/1
+ Subdevice #0: subdevice #0
+````
+
+or look at your exisiting '/etc/asound.conf' file, which may look something like this
+
+````
+pcm.!default {
+ type hw
+ card 1
+}
+ctl.!default {
+ type hw
+ card 1
+}
+````
+The important information you want is the card number which in this case is 1.
+
+Now modify your 'etc/asound.conf' file (or create one if it doesn't exist) using the following template substituting the 'pcm "hw:1"' and 'card 1' sections with the card number of your device
+
+````
+pcm.!default {
+ type plug
+ slave.pcm {
+ type dmix
+ ipc_key 1024
+ slave {
+ pcm "hw:1"
+ rate 48000
+ period_time 0
+ period_size 1920
+ buffer_size 19200
+ }
+ }
+}
+ctl.!default {
+ type hw
+ card 1
+}
+````
+Note that some distributions (such as Volumio 2) don't use an asound.conf file by default, they instead specificy the hardware details directly in '/etc/shairport-sync.conf' and '/etc/mpd.conf' files so some more in depth modification is needed to override this.