Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Squeezelite and spdif / sound frequently interrupted

Featured Replies

Hi,

I have just changed from a custom legacy kernel to armbian and like the experience.

I use the Logitech Media Server and squeezelite, mainly to play radio on the armbian box itself as well as on a Squeezebox Radio I still have.

This works in principle, but using the spdif optical output, I get an interrupt every minute or so of about half a second.

Is this common and do I need to install something in addition to use the spdif output?

 

System information:

  • Allwinner A20 cubietruck
  • Kernel (uname -r): 4.19.62-sunxi
  • Squeezelite v1.8

  • Logitech Media Server Version: 7.9.2 - 1565967976 @ Fri Aug 16 17:18:03 CEST 2019

  • output of aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: sun4icodec [sun4i-codec], device 0: CDC PCM Codec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SPDIF [On-board SPDIF], device 0: spdif-dit-hifi dit-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
  • output of squeezelite -l
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  default:CARD=sun4icodec        - sun4i-codec,  - Default Audio Device
  sysdefault:CARD=sun4icodec     - sun4i-codec,  - Default Audio Device
  dmix:CARD=sun4icodec,DEV=0     - sun4i-codec,  - Direct sample mixing device
  dsnoop:CARD=sun4icodec,DEV=0   - sun4i-codec,  - Direct sample snooping device
  hw:CARD=sun4icodec,DEV=0       - sun4i-codec,  - Direct hardware device without any conversions
  plughw:CARD=sun4icodec,DEV=0   - sun4i-codec,  - Hardware device with all software conversions
  default:CARD=SPDIF             - On-board SPDIF,  - Default Audio Device
  sysdefault:CARD=SPDIF          - On-board SPDIF,  - Default Audio Device
  dmix:CARD=SPDIF,DEV=0          - On-board SPDIF,  - Direct sample mixing device
  dsnoop:CARD=SPDIF,DEV=0        - On-board SPDIF,  - Direct sample snooping device
  hw:CARD=SPDIF,DEV=0            - On-board SPDIF,  - Direct hardware device without any conversions
  plughw:CARD=SPDIF,DEV=0        - On-board SPDIF,  - Hardware device with all software conversions

 

I run squeezlite with option -o hw:1

other options I tried was -o default:CARD=SPDIF, -o hw:CARD=SPDIF,DEV=0, plughw:CARD=SPDIF,DEV=0

The default option was the worst in terms of interrupts, I think.

 

Any hints?  Cannot see anything suspicious in the logs.  The interrupts do not appear if I use the hw:0 (sun4icodec), but the volume level and noise is much better with the spdif.

I read somewhere that it is normally not necessary to mess with buffer or alsa parameters. (-b / -a options in squeezelite)

 

  • Author

I am answering my own question.

I finally did play with the -a and -b options of squeezelite, and it seems that the option -a 400 does the trick, which is 400ms seconds of alsa buffer time, if I read the man page correctly.

I have been listening to squeezelite for the last 10 minutes or so and did not have an interruption, so far.

specifying a stream buffer with -b does not change anything (or only very marginally).

So for me:

To make squeezelite work well with spdif on a cubietruck (Allwinner A20 processor), I need to launch it as follows

squeezelite -o hw:1 -a 400

To properly load it with systemd, the following lines need to be in /etc/default/squeezelite :
 

SL_SOUNDCARD="hw:1" 
SB_EXTRA_ARGS="-a 400"

Maybe it helps someone ;)

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.