Home of the Squeezebox™ & Transporter® network music players.
Page 386 of 386 FirstFirst ... 286336376384385386
Results 3,851 to 3,857 of 3857
  1. #3851
    Quote Originally Posted by bpa View Post
    Why test with USB0 when there is no USB0 defined in attached asound.conf file

    The verbose option is "-v" or --verbose" not "-vv" - it's possible not giving out full info.
    The option "--dump-hw-params" can sometimes also be helpful.

    The utility speaker-test is useful just to sanity check basic audio out but not to check various formats which is essential for LMS.

    Googling ALSA "h/w params: Broken pipe" errors - seems to indicate an issue with audio device driver not liking a request and this can mneas more than just formats(ew.g. aysdnchronous, mutip[le) - you may have a limited device driver. So you need to solely test with aplay to understand limit & valid settings.

    If a device is busy then some process has it open already, often system sounds.

    To avoid problem until you are sure you understand what is happening.
    * Make sure when testing with aplay - all squeezelite process are stopped, LMS is stopped.
    * Make sure all system audio & effects uses the inbuilt sounds card (e.g. Realtek, headphone socket etc.) - not the USB sound
    * If you have Pulseaudio running on your system - make sure these USB devices are not being accessed by Pulseaudio.
    Hello, a little bit later than usual, but took some time to make a fresh install.

    About
    The verbose option is "-v" or --verbose" not "-vv"
    , -vv is to gat an extra vumeter in add. Normally should not truncate output infos.

    So, Fresh Raspbian , Squeezelite, Alsa .

    USB DAC 1 mapped to -> "USB1" card.

    Code:
    pi@multiroom:~ $ sudo aplay -D plughw:USB1  --dump-hw-params -v /home/pi/wav1.wav                                                                                           
    Playing WAVE '/home/pi/wav1.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono                                                                                              
    HW Params of device "plughw:USB1":
    --------------------
    ACCESS:  MMAP_INTERLEAVED MMAP_NONINTERLEAVED MMAP_COMPLEX RW_INTERLEAVED RW_NON                                                                                               INTERLEAVED
    FORMAT:  S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE MU_LAW A_LAW IMA_ADPCM S20_LE S20_BE U20_LE U20_BE S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE
    SUBFORMAT:  STD
    SAMPLE_BITS: [4 64]
    FRAME_BITS: [4 640000]
    CHANNELS: [1 10000]
    RATE: [4000 4294967295]
    PERIOD_TIME: [1000 8192000]
    PERIOD_SIZE: [4 4294967295]
    PERIOD_BYTES: [2 4294967295]
    PERIODS: (0 1073741824)
    BUFFER_TIME: [1 4294967295]
    BUFFER_SIZE: [5 4294967294]
    BUFFER_BYTES: [3 4294967295]
    TICK_TIME: ALL
    --------------------
    Plug PCM: Hardware PCM card 5 'USB Audio DAC' device 0 subdevice 0
    Its setup is:
      stream       : PLAYBACK
      access       : RW_INTERLEAVED
      format       : S16_LE
      subformat    : STD
      channels     : 1
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 16
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
      appl_ptr     : 0
      hw_ptr       : 0
    Then apply a equalizer on "plughw:USB1" has :

    Code:
    # equalizer1
    ctl.equal {
      type equal;
      module "Eq10";
    }
    
    pcm.plugequal {
      type equal;
      slave.pcm "plughw:USB1";
      module "Eq10";
    }
    
    pcm.equal {
      type plug;
      slave.pcm plugequal;
    }
    
    #################################
    
    # equalizer2
    ctl.equal2 {
      type equal;
      module "Eq10";
    }
    
    pcm.plugequal2 {
      type equal;
      slave.pcm "plughw:USB2";
      module "Eq10";
    }
    
    pcm.equal2 {
      type plug;
      slave.pcm plugequal2;
    }
    Re test Aplay :

    Code:
    sudo aplay -D equal -vv /home/pi/wav1.wav
    Playing WAVE '/home/pi/wav1.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
    Plug PCM: Route conversion PCM (sformat=S16_LE)
      Transformation table:
        0 <- 0
        1 <- 0
    Its setup is:
      stream       : PLAYBACK
      access       : RW_INTERLEAVED
      format       : S16_LE
      subformat    : STD
      channels     : 1
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 16
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
    Slave: Linear Integer <-> Linear Float conversion PCM (FLOAT_LE)
    Its setup is:
      stream       : PLAYBACK
      access       : MMAP_INTERLEAVED
      format       : S16_LE
      subformat    : STD
      channels     : 2
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 16
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
    Slave: alsaequal
    Its setup is:
      stream       : PLAYBACK
      access       : MMAP_INTERLEAVED
      format       : FLOAT_LE
      subformat    : STD
      channels     : 2
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 32
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
    Slave: Plug PCM: Linear Integer <-> Linear Float conversion PCM (S16_LE)
    Its setup is:
      stream       : PLAYBACK
      access       : MMAP_INTERLEAVED
      format       : FLOAT_LE
      subformat    : STD
      channels     : 2
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 32
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
    Slave: Hardware PCM card 5 'USB Audio DAC' device 0 subdevice 0
    Its setup is:
      stream       : PLAYBACK
      access       : MMAP_INTERLEAVED
      format       : S16_LE
      subformat    : STD
      channels     : 2
      rate         : 48000
      exact rate   : 48000 (48000/1)
      msbits       : 16
      buffer_size  : 24000
      period_size  : 6000
      period_time  : 125000
      tstamp_mode  : NONE
      tstamp_type  : MONOTONIC
      period_step  : 1
      avail_min    : 6000
      period_event : 0
      start_threshold  : 24000
      stop_threshold   : 24000
      silence_threshold: 0
      silence_size : 0
      boundary     : 1572864000
      appl_ptr     : 0
      hw_ptr       : 0
    Then I launch 2 squeezelite instance :

    Code:
    squeezelite -z -n  Sam -m 00:00:00:00:00:02 -o equal2 -a 80:::0 -C 5 -G 17:H -d all=info -f ~/squeezelite_sam.log
    sudo squeezelite -z -n Cuisine -m 00:00:00:00:00:01 -o equal  -a 80:::0 -C 5 -G 4:H -d all=info -f ~/squeezelite_cui.log
    This part WORK
    Last edited by Chestroled; 2022-04-24 at 03:55.

  2. #3852
    Globally the system work ( local music, youtube music plugin, radio )

    The problem only coming when 2 players are Sync ! ( Have pointed that after many tests)

    So, when start to play a song when players are sync : No more audio output !

    Log says :

    Code:
    [10:34:17.600310] opus_decompress:154 setting track_start
    [10:34:17.623833] output_thread:682 open output device: equal
    [10:34:17.624875] alsa_open:351 opening device at: 44100
    [10:34:17.631734] alsa_open:422 opened device equal using format: S32_LE sample rate: 44100 mmap: 0
    [10:34:17.636053] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3528 period size: 882
    [10:34:17.748562] _output_frames:153 track start sample rate: 48000 replay_gain: 0
    [10:34:17.758743] output_thread:682 open output device: equal
    [10:34:17.759789] alsa_open:351 opening device at: 48000
    [10:34:17.765143] alsa_open:422 opened device equal using format: S32_LE sample rate: 48000 mmap: 0
    [10:34:17.768368] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3840 period size: 960
    [10:34:55.761289] decode_flush:236 decode flush
    [10:34:55.761567] output_flush:445 flush output buffer
    [10:34:55.771093] decode_flush:236 decode flush
    [10:34:55.771526] output_flush:445 flush output buffer
    [10:34:55.778776] output_thread:800 disabling output
    [10:34:55.877622] codec_open:264 codec open: 'm'
    [10:34:55.877801] codec_open:281 closing codec: 'u'
    [10:34:55.877940] connect_socket:164 connecting to 192.168.0.10:9000
    [10:34:55.878537] stream_sock:600 header: GET /stream.mp3?player=00:00:00:00:00:01 HTTP/1.0
    Authorization: Basic c3F1ZWV6ZWJveFhYWDo2YjZ0ZUd0aUZX
    But no sound...

    I then try to change track or another source :

    Then :

    Code:
    10:34:56.038841] _check_lame_header:163 gapless: skip: 2257 samples: 9609684 delay: 1105 padding: 347
    [10:34:56.039326] mad_decode:247 setting track_start
    [10:34:56.079579] output_thread:682 open output device: equal
    [10:34:56.079695] alsa_open:351 opening device at: 48000
    [10:34:56.084949] alsa_open:422 opened device equal using format: S32_LE sample rate: 48000 mmap: 0
    [10:34:56.088165] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3840 period size: 960
    [10:34:56.090986] alsa_open:530 unable to set hw params: Protocol error
    [10:35:01.091144] output_thread:682 open output device: equal
    [10:35:01.232747] alsa_open:351 opening device at: 48000
    [10:35:01.242980] alsa_open:422 opened device equal using format: S32_LE sample rate: 48000 mmap: 0
    [10:35:01.249430] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3840 period size: 960
    [10:35:01.254814] alsa_open:530 unable to set hw params: Protocol error
    [10:35:06.254995] output_thread:682 open output device: equal
    [10:35:06.255448] alsa_open:351 opening device at: 48000
    [10:35:06.265765] alsa_open:422 opened device equal using format: S32_LE sample rate: 48000 mmap: 0
    [10:35:06.272176] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3840 period size: 960
    [10:35:06.277550] alsa_open:530 unable to set hw params: Protocol error
    [10:35:11.277730] output_thread:682 open output device: equal
    I've to reboot the Raspberry to get it work again since instance seems to be stuck.

    Something happen on grouping player, but can't get more logs to point the problem .

    When set log to debug on squeezelite instance :

    Code:
    [12:56:59.398317] sendRESP:226 RESP
    [12:56:59.423855] sendSTAT:195 STAT: STMl
    [12:56:59.438595] _check_lame_header:163 gapless: skip: 2257 samples: 6362748 delay: 1105 padding: 947
    [12:56:59.439746] mad_decode:247 setting track_start
    [12:56:59.439819] mad_decode:276 gapless: skipping 1152 frames at start
    [12:56:59.440489] mad_decode:276 gapless: skipping 1105 frames at start
    [12:56:59.464367] process:528 strm
    [12:56:59.464539] process_strm:280 strm command u
    [12:56:59.464590] process_strm:337 unpause at: 1489889 now: 1489698
    [12:56:59.464640] sendSTAT:195 STAT: STMr
    [12:56:59.533668] output_thread:682 open output device: equal2
    [12:56:59.534386] alsa_open:351 opening device at: 44100
    [12:56:59.539987] alsa_open:422 opened device equal2 using format: S32_LE sample rate: 44100 mmap: 0
    [12:56:59.543417] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3528 period size: 882
    [12:56:59.546346] ALSA snd_pcm_hw_hw_params:386 SNDRV_PCM_IOCTL_HW_PARAMS failed (-71)
    [12:56:59.546497] alsa_open:530 unable to set hw params: Protocol error
    [12:57:00.006408] process:528 strm
    [12:57:00.006542] process_strm:280 strm command t
    [12:57:00.006577] sendSTAT:195 STAT: STMt
    [12:57:04.006659] process:528 strm
    [12:57:04.006844] process_strm:280 strm command t
    [12:57:04.006911] sendSTAT:195 STAT: STMt
    [12:57:04.546655] output_thread:682 open output device: equal2
    [12:57:04.546987] alsa_open:351 opening device at: 44100
    [12:57:04.557525] alsa_open:422 opened device equal2 using format: S32_LE sample rate: 44100 mmap: 0
    [12:57:04.564157] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3528 period size: 882
    [12:57:04.568967] ALSA snd_pcm_hw_hw_params:386 SNDRV_PCM_IOCTL_HW_PARAMS failed (-71)
    [12:57:04.575475] alsa_open:530 unable to set hw params: Protocol error
    [12:57:08.006823] process:528 strm
    [12:57:08.007002] process_strm:280 strm command t
    [12:57:08.007069] sendSTAT:195 STAT: STMt
    [12:57:09.575635] output_thread:682 open output device: equal2
    [12:57:09.576025] alsa_open:351 opening device at: 44100
    [12:57:09.586573] alsa_open:422 opened device equal2 using format: S32_LE sample rate: 44100 mmap: 0
    [12:57:09.593254] alsa_open:513 buffer: 80 period: 4 -> buffer size: 3528 period size: 882
    [12:57:09.598845] ALSA snd_pcm_hw_hw_params:386 SNDRV_PCM_IOCTL_HW_PARAMS failed (-71)
    [12:57:09.605513] alsa_open:530 unable to set hw params: Protocol error
    [12:57:12.006820] process:528 strm
    [12:57:12.007021] process_strm:280 strm command t
    [12:57:12.007088] sendSTAT:195 STAT: STMt
    Last edited by Chestroled; 2022-04-24 at 03:58.

  3. #3853
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    21,828
    Quote Originally Posted by Chestroled View Post
    Globally the system work ( local music, youtube music plugin, radio )

    The problem only coming when 2 players are Sync ! ( Have pointed that after many tests)
    Sorry can't help anymore.

    The steps you are taking are not fully documented: details of source to understand if LMS is transcoding, edited squeezelite logs means missing info (i.e. start missing)
    Try to simplify the issue, you seem to add a new pieces of complexity - random source formats, adding equaliser, unusual command line options (e.g. no need for -C 5) etc. - this make it hard to get to the problem.

    Sync requires every player to play the exact same bitstream from LMS. I suspect this is the problem - maybe two devices are confined to play different formats.
    Simplify,simplify - make testing without equaliser - just hw:USB1 no changes, only MP3 CD quality, minimal command line option on squeezelite.
    Last time a I saw a similar problem was a user using ALSA mixer (i.e. initially opens at 44100, and then tried to add a source at 48000 -failure)

  4. #3854
    Quote Originally Posted by bpa View Post
    Sorry can't help anymore.

    The steps you are taking are not fully documented: details of source to understand if LMS is transcoding, edited squeezelite logs means missing info (i.e. start missing)
    Try to simplify the issue, you seem to add a new pieces of complexity - random source formats, adding equaliser, unusual command line options (e.g. no need for -C 5) etc. - this make it hard to get to the problem.

    Sync requires every player to play the exact same bitstream from LMS. I suspect this is the problem - maybe two devices are confined to play different formats.
    Simplify,simplify - make testing without equaliser - just hw:USB1 no changes, only MP3 CD quality, minimal command line option on squeezelite.
    Last time a I saw a similar problem was a user using ALSA mixer (i.e. initially opens at 44100, and then tried to add a source at 48000 -failure)
    hello, I can apply any protocol of test as request, I will try new test soon with simplified command line.

    about unusual command line , Squeezelite also command GPIO output of the Raspberry to cut the amp power so, -C 5 is to close the output afterr 5 second of inactivity, and

    -C <timeout> : Close the output device after <timeout> seconds of the player being idle; the default is to always keep the device open as long as the payer is "on".
    -G <Rpi GPIO#>:<H/L> : Specify the BCM GPIO# to use for Amp Power Relay and if the output should be Active High or Low. This cannot be used with the -S option.
    These command are documented here :

    https://ralph-irving.github.io/squeezelite.html

    thanks for help

  5. #3855
    Senior Member
    Join Date
    Jan 2016
    Posts
    108
    Hi everyone,

    a few weeks ago I asked here for some support to AES/Ravenna. Unfortunately, with squeezelite there was no way to get it to work.
    A speakertest and also aplay worked but for whatever reason squeezelite and this virtual sound card did not work together.

    This was the last comment to this topic

    Taking Ralphy's advice - my suggested command line would be now
    Code:
    squeezelite -n AES -a ::24:1 -u E -Z 38400 -r 48000-48000 -d all=debug -o hw:CARD=RAVENNA
    If choppiness continue try increasing ALSA buffer size such as
    Code:
    squeezelite -n AES -a 80:4:24:1 -u E -Z 38400 -r 48000-48000 -d all=debug -o hw:CARD=RAVENNA
    "Softness" may be due to the LMS doing volume control and possibly Gain according to tags. If you want to do like-for-like comparison with "aplay" try changing
    WebUI Settings/Player/Audio/Volume Control to "Output level is fixed at 100%"

    sudo (or membership of Audio group) maybe necessary to change the mmap options to get rid of "error" message in Squeezelite log or set realtime priority.
    Now I got some new information from the developer which may help. Any idea with regards to this S24_3LE format?

    druidlabs commented 19 days ago
    Is there a mismatch in the format? You said Squeezelite is S24_LE; the daemon is S24_3LE. Can they interoperate?

    @bondagit
    bondagit commented 9 days ago Ľ
    Can they interoperate?

    yes, the PCM encoding conversion is done by the kernel module but if you open the audio stream with S24_LE it means your player should provide 4 bytes samples with a 0 padding for the most significant byte.
    For example:
    S24_3LE : 0x123456(in 3bytes, No padding)
    S24_LE : 0x00123456(in 4bytes, MSB 0 padding)
    Thanks for help and support.

    S

  6. #3856

    Intel Based Appliance

    I currently use piCore on RPI3 but need to setup two more Squeezelite boxes around the house leveraging 4/5th generation Intel CPU and looking for recommendation for piCore equivalent for Intel.

    Thank You

  7. #3857
    Senior Member
    Join Date
    Feb 2008
    Posts
    5,615
    There isn't anything like piCore.

    If you already have a piCore LMS server running then:

    Try win10 and install Squeezelite-x
    ------------------------------------------------------------------------------------

Posting Permissions

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