WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Splitting USB sound card outputs in piCore with alsa and piCorePlayer?  (Read 5476 times)

Offline mff

  • Newbie
  • *
  • Posts: 7
Is it possible to split a UA0099 7.1 sound card into 4x 2 channels with alsa (asound.conf) in piCore environment?
Some people seem to have successfully done this in other distros.

https://johndanning.wordpress.com/2015/03/30/multi-room-audio-on-raspberry-pi-2-with-multi-channel-dac/


My goal is to have one raspberry pi with piCorePlayer to stream to four independend stereo outputs. As piCorePlayer supports multiple instances of squeezelite to be started it should be possible in theory.

As soon as I try to use a modified asound.conf containing "bindings" squeezelite stops working.

any help would be appreciated

Offline beerstein

  • Hero Member
  • *****
  • Posts: 530
Re: Splitting USB sound card outputs in piCore with alsa and piCorePlayer?
« Reply #1 on: September 20, 2016, 07:51:19 AM »
Hi: i am not an expert in this subject, but I think alsa alone can not handle more than one output. The alsa server can only serve one client at a time. In order to have more than one client you probably have to install and run pulseaudio or jack and configure it to your needs.
Configuring pulseaudio from the command line can be fun.
t(w)o be(ers) or not t(w)o be(ers) that is the question

Offline mff

  • Newbie
  • *
  • Posts: 7
Re: Splitting USB sound card outputs in piCore with alsa and piCorePlayer?
« Reply #2 on: September 20, 2016, 08:08:48 AM »
I've tested the setup from the link in my previous post. This setup works fine. Even with four streams on the splitted outputs. The asound.conf used there is
Code: [Select]
pcm_slave.homezones {
pcm "hw:1"
rate 44100
channels 8
periods 128
period_time 0
period_size 1024
buffer_size 4096
}
 
pcm.green {
type dmix
slave homezones
ipc_key 1001
bindings [ 0 1 ]
}
 
pcm.black {
type dmix
slave homezones
ipc_key 1001
bindings [ 2 3 ]
}
 
pcm.yellow {
type dmix
slave homezones
ipc_key 1001
bindings [ 4 5 ]
}
 
pcm.blue {
type dmix
slave homezones
ipc_key 1001
bindings [ 6 7 ]
}

But when I try the same with piCorePlayer I can't see any outputs. I have no idea where the difference is, because both systems use squeezelite as "player".