Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15

    Splitting USB DAC outputs for multi zone audio - piCorePlayer?

    As described here
    http://forums.slimdevices.com/showth...l=1#post859597

    my goal is to split the outputs of cmedia-106 like soundcard (ua0099) to feed up to four independent stereo instances of squeezelite on one RaspberryPi.
    I managed to modify the asound.conf on piCorePlayer but no changes in "Squeezelite Output Devices" are noticeable.

    How can I find the correct command for squeezelite output settings?
    Would it be better to modify other files than the asound.conf?

    greetings
    mff

  2. #2
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    This project exactly describes what I wanted to do with piCorePlayer
    https://johndanning.wordpress.com/20...i-channel-dac/
    But when I try to copy over the asound.conf from this example I'm ending up without any usable squeezelite output.

    any hints appreciated

  3. #3
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    Although I tested many different asound.conf configurations there was no chance to get squeezelite running as soon as using the "channels" option with the dmix plugin.
    It seems to me something is interfering the configuration of my asound.conf or there is a missing (software?) component in Tiny Core Linux.

    I tested the setup of John Danning from the link in my previous post. He used minibian as system base and there was no problem when splitting the outputs with his asound.conf. All four independent stereo outs worked like a charm.

    It would be great if this could also be realized with piCorePlayer, because the system seems to be the most reasonable one of all linux+raspberry+squeezelite setups out there.

    greetings
    mff

  4. #4
    Senior Member mudlark's Avatar
    Join Date
    Aug 2006
    Location
    Cumbria, England
    Posts
    735
    Quote Originally Posted by mff View Post
    Although I tested many different asound.conf configurations there was no chance to get squeezelite running as soon as using the "channels" option with the dmix plugin.
    It seems to me something is interfering the configuration of my asound.conf or there is a missing (software?) component in Tiny Core Linux.

    I tested the setup of John Danning from the link in my previous post. He used minibian as system base and there was no problem when splitting the outputs with his asound.conf. All four independent stereo outs worked like a charm.

    It would be great if this could also be realized with piCorePlayer, because the system seems to be the most reasonable one of all linux+raspberry+squeezelite setups out there.

    greetings
    mff
    Why bother? multiple synced picoreplayers with amplifiers (https://www.hifiberry.com/ampplus/ or others) is much the most simple arrangement?
    Last edited by mudlark; 2016-09-21 at 23:05.
    Transporter or Cyrus streamX>CyrusDACXP>ESPAudio P09B Active filter>Cyrus X x 2>Rhapsody, Avondale and Naim cable, Kubuntu 16.10 server, various boxes for storage.
    SB3 Flycatcher 3A linear power supply. Touch also.
    Using SqueezeBoxServer (LMS) 7.9
    Also piCorePlayer>Rega DAC>B4>Avondale 260>Royd Eden Kubuntu 14.10
    also naim 32.5>hicap>140>Akroyd Coniston

  5. #5
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    Quote Originally Posted by mudlark View Post
    Why bother? multiple synced picoreplayers with amplifiers (https://www.hifiberry.com/ampplus/ or others) is much the most simple arrangement?
    Of course this would be the simplest solution in terms of software setup. But in my case the hardware side should be as economical as possible (eco home).
    The system is running 24/7 as a multiroom solution and if there is 3 more Raspberries about (3*2Watts*24*365) ~50 kWh that could be safed. The (external) amps can be powered as required over the gpio pins.

    So why use additional hardware when one single raspberry can deliver 4 simultanous streams to one card in theory?

  6. #6
    Senior Member Greg Erskine's Avatar
    Join Date
    Sep 2006
    Location
    Sydney, Australia
    Posts
    1,185
    Quote Originally Posted by mff View Post
    Of course this would be the simplest solution in terms of software setup. But in my case the hardware side should be as economical as possible (eco home).
    The system is running 24/7 as a multiroom solution and if there is 3 more Raspberries about (3*2Watts*24*365) ~50 kWh that could be safed. The (external) amps can be powered as required over the gpio pins.

    So why use additional hardware when one single raspberry can deliver 4 simultanous streams to one card in theory?
    hi mff,

    I think the only problem is, because your requirement is a little unique not many people will have the hardware to develop and test a solution for you.

    Please let us know when you get it going.

    regards
    Greg

  7. #7
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    Hello Greg,

    maybe that's the main problem.
    Perhaps I should mention that there are serveral clones of this type of 7.1 USB sound card I'm using.

    Logilink
    https://amzn.com/B003YFVN3Q
    Sweex
    https://amzn.com/B00265L1S2
    and Sewell
    https://amzn.com/B004Y0ERRO

    are only three of them that are known to me. So it's quite probable that some people are using this hardware - more likely with their laptops than with their raspberries
    And as I wrote in my previous posts it can be done and has been done in other linux distributions (debian and minibian tested by myself).

    The main points I would like to figure out: Is the sound card handling the same as in a standard debian setup, or where's the difference? Is it possible to use the dmix plugin together with the "channels" option in piCorePlayer's asound.conf for a working setup?

    regards
    mff

  8. #8
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    So I did some further investigation and found that simultanous output of two sources (player instances) to one output is possible.

    Code:
    pcm.!default {
    type plug
    slave.pcm "logilink"
    }
    
    pcm.logilink {
    type dmix
    ipc_key 1024
    slave {
    	pcm "hw:1,0"
    	period_time 0
    	period_size 1024
    	buffer_size 8192
    	rate 44100
    	}
    }
    
    ctl.logilink {
    type hw
    card 1
    }
    This should mean that dmix Plugin is working correctly.

    My asound.conf for split channels testing looks like

    Code:
    pcm_slave.logilink {
    pcm "hw:1,0"
    channels 8  #<--no chance to get this working!!!
    rate 44100
    # periods 128
    # period_time 0
    period_size 1024
    buffer_size 4096
    }
    
    pcm.green {
    type dmix
    slave logilink
    ipc_key 1024
    bindings [ 1 2 ]
    }
    As soon as I try to use the "green" output, squeezelite is telling me:
    Code:
     test_open:320 playback open error: Broken pipe
     output_init_common:382 unable to open output device
    regards
    mff

  9. #9
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    One more thing to mention.
    The output of the "4 stereo out working" minibian installation
    Code:
    root@minibian:~# /usr/bin/squeezelite-armv6hf -l
    is
    Code:
    Output devices:
      null                           - Discard all samples (playback) or generate zero samples (capture)
      green
      black
      yellow
      blue
      default:CARD=Device            - USB Sound Device, USB Audio - Default Audio Device
      sysdefault:CARD=Device         - USB Sound Device, USB Audio - Default Audio Device
      front:CARD=Device,DEV=0        - USB Sound Device, USB Audio - Front speakers
      surround21:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 2.1 Surround output to Front and Subwoofer speakers
      surround40:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 4.0 Surround output to Front and Rear speakers
      surround41:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 4.1 Surround output to Front, Rear and Subwoofer speakers
      surround50:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 5.0 Surround output to Front, Center and Rear speakers
      surround51:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
      surround71:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
      iec958:CARD=Device,DEV=0       - USB Sound Device, USB Audio - IEC958 (S/PDIF) Digital Audio Output
      dmix:CARD=Device,DEV=0         - USB Sound Device, USB Audio - Direct sample mixing device
      dsnoop:CARD=Device,DEV=0       - USB Sound Device, USB Audio - Direct sample snooping device
      hw:CARD=Device,DEV=0           - USB Sound Device, USB Audio - Direct hardware device without any conversions
      plughw:CARD=Device,DEV=0       - USB Sound Device, USB Audio - Hardware device with all software conversions
    and with piCorePlayer it's missing the dmix and other user created outputs

    Code:
    tc@piCorePlayer:~$ /mnt/mmcblk0p2/tce/squeezelite-armv6hf -l
    Output devices:
      null                           - Discard all samples (playback) or generate zero samples (capture)
      default:CARD=ALSA              - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
      sysdefault:CARD=ALSA           - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
      default:CARD=Device            - USB Sound Device, USB Audio - Default Audio Device
      sysdefault:CARD=Device         - USB Sound Device, USB Audio - Default Audio Device
      front:CARD=Device,DEV=0        - USB Sound Device, USB Audio - Front speakers
      surround21:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 2.1 Surround output to Front and Subwoofer speakers
      surround40:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 4.0 Surround output to Front and Rear speakers
      surround41:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 4.1 Surround output to Front, Rear and Subwoofer speakers
      surround50:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 5.0 Surround output to Front, Center and Rear speakers
      surround51:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
      surround71:CARD=Device,DEV=0   - USB Sound Device, USB Audio - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
      iec958:CARD=Device,DEV=0       - USB Sound Device, USB Audio - IEC958 (S/PDIF) Digital Audio Output
    Last edited by mff; 2016-09-23 at 06:29.

  10. #10
    Junior Member
    Join Date
    Aug 2016
    Location
    Europe
    Posts
    15
    I think I'm stuck at the point that pCP doesn't accept my custom asound.conf.

    Can one of the developers explain why the dmix, dsnoop and other user created outputs are missing in pCP?

    Is it possible that "Unknown field bindings" mean that this version of alsa doesn't know the bindings command at all?

    Code:
    /mnt/mmcblk0p2/tce/squeezelite-armv6hf -n piCorePlayer -o logilink -a 80:::0: -d all=sdebug -f /var/log/pcp_squeezelite.log
    [16:23:53.658055] stream_init:294 init stream
    [16:23:53.658527] stream_init:295 streambuf size: 2097152
    [16:23:53.673885] output_init_alsa:865 init output
    [16:23:53.674074] output_init_alsa:895 requested alsa_buffer: 80 alsa_period: 4 format: any mmap: 0
    [16:23:53.674166] output_init_common:347 outputbuf size: 3528000
    [16:23:53.674660] output_init_common:371 idle timeout: 0
    [16:23:53.689025] ALSA snd_pcm_slave_conf:7393 Unknown field bindings
    [16:23:53.689233] test_open:320 playback open error: Invalid argument
    [16:23:53.689378] output_init_common:382 unable to open output device

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •