mikebrady / sps-alsa-explore

A tool to scan ALSA devices for use by Shairport Sync.
GNU General Public License v2.0
12 stars 0 forks source link

unable to set hardware parameters for device #2

Open nnewc opened 2 years ago

nnewc commented 2 years ago

My Creative sound card plays sound in Ubuntu 22.04 when selected using the Gnome Settings app, and while Airplay will let me play music there is no sound being produced.

$ docker run -it --device /dev/snd mikebrady/sps-alsa-explore
/ # sps-alsa-explore -vvv
         0.000088160 "sps-alsa-explore.c:417" card number 3, device number: 0.
         0.000009689 "sps-alsa-explore.c:425" 1 subdevices,
         0.000005990 "sps-alsa-explore.c:451" device name: "hw:Creative"
         0.000004045 "sps-alsa-explore.c:453" card: 3, device: 0
         0.148484751 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.059750378 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.144990282 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.059034441 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.153425770 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.062595802 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.000017029 "sps-alsa-explore.c:417" card number 3, device number: 1.
         0.000007513 "sps-alsa-explore.c:425" 1 subdevices,
         0.000007128 "sps-alsa-explore.c:451" device name: "hw:CARD=Creative,DEV=1"
         0.000006475 "sps-alsa-explore.c:453" card: 3, device: 1
         0.147804170 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.000350054 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.148020595 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.000407899 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.152879337 "sps-alsa-explore.c:283" unable to set hardware parameters for device "hw:3": Invalid argument.
         0.000383982 "sps-alsa-explore.c:356" check 44100, S32_LE, result: -1.
         0.000010841 "sps-alsa-explore.c:417" card number 3, device number: 2.
         0.000005580 "sps-alsa-explore.c:421" hw:3,2): No such file or directory
         0.000227853 "sps-alsa-explore.c:583" Devices found in the sound devices directory "/dev/snd": 24, devices accessible: 24.
mikebrady commented 2 years ago

Thanks for the report. Could you run sps-alsa-explore -e please, and post the output? (The -vvv is very "noisy" and is really only for debugging the program itself, and the messages themselves don't convey any real information about the device itself.)

nnewc commented 2 years ago

My Creative device does not show up in this list:

/ # sps-alsa-explore
> Device Full Name:    "hw:PCH"
  Short Name:          "hw:0"
  This device seems suitable for use with Shairport Sync.
  Possible mixers:     "Master",0              Range:  64.00 dB
                       "Headphone",0           Range:  64.00 dB
                       "PCM",0                 Range:  51.00 dB
                       "Front",0               Range:  64.00 dB
                       "Front Mic",0           Range:  46.50 dB
                       "Surround",0            Range:  64.00 dB
                       "Center",0              Range:  64.00 dB
                       "LFE",0                 Range:  64.00 dB
                       "Side",0                Range:  64.00 dB
                       "Line",0                Range:  46.50 dB
                       "Rear Mic",0            Range:  46.50 dB
                       "Front Mic Boost",0     Range:  30.00 dB
                       "Line Boost",0          Range:  30.00 dB
                       "Rear Mic Boost",0      Range:  30.00 dB
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=PCH,DEV=1"
  Short Name:          "hw:0,1"
  This device seems suitable for use with Shairport Sync.
  Possible mixers:     "Master",0              Range:  64.00 dB
                       "Headphone",0           Range:  64.00 dB
                       "PCM",0                 Range:  51.00 dB
                       "Front",0               Range:  64.00 dB
                       "Front Mic",0           Range:  46.50 dB
                       "Surround",0            Range:  64.00 dB
                       "Center",0              Range:  64.00 dB
                       "LFE",0                 Range:  64.00 dB
                       "Side",0                Range:  64.00 dB
                       "Line",0                Range:  46.50 dB
                       "Rear Mic",0            Range:  46.50 dB
                       "Front Mic Boost",0     Range:  30.00 dB
                       "Line Boost",0          Range:  30.00 dB
                       "Rear Mic Boost",0      Range:  30.00 dB
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=3"
  Short Name:          "hw:1,3"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=7"
  Short Name:          "hw:1,7"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=8"
  Short Name:          "hw:1,8"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=9"
  Short Name:          "hw:1,9"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=10"
  Short Name:          "hw:1,10"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=11"
  Short Name:          "hw:1,11"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=12"
  Short Name:          "hw:1,12"
  This device seems suitable for use with Shairport Sync.
  The following rate and format would be chosen by Shairport Sync in "auto" mode:
     Rate              Format
     44100             S32_LE
mikebrady commented 2 years ago

Thanks for the update. My guess (I’ll check tomorrow) is that the Creative device only does frame rates of 48000 or multiples. Is that possible? If that is so, then it’s a flaw in this program that it doesn’t at least list the device. But I’ll check tomorrow.

mikebrady commented 2 years ago

Okay, so I think I was right – a flaw in the program means that it will not list a device if the device can not accept at least one Shairport-Sync-compatible format and if the device doesn't report an error until the format settings are actually applied.

However, using sps-alsa-explore -e will list the device.

In any case, I will update the program shortly.

nnewc commented 2 years ago

I'm confused. Are you saying my sound car is listed in -e output? I believe the onboard motherboard sound card is hw0, since the creative sound card shows as hw3 in the original output. I can try and confirm this by plugging speakers in the motherboard jack which I normally don't use.

mikebrady commented 2 years ago

Yes, I believe it should be listed when you add the -e option (you didn't use it earlier). So if you repeated whatever you did above, but just add -e to the command line, I expect that the missing device will be listed. (Not sure why it would be necessary to plug in speakers though.)

mikebrady commented 2 years ago

I've just pushed what I think is a fix for this flaw in the experimental branch, so it should no longer be needed to add the -e command line option to have the extra device. If you got a chance to try it out, that would be great.

Can you post the model information of the Creative card please? It might be useful for determining its capabilities.

nnewc commented 2 years ago

It looks like I forgot to include the -e flag in the output above. When I included the flag the Creative device showed up. Here is the extendend output:

$ docker run -it --device /dev/snd mikebrady/sps-alsa-explore
/ # sps-alsa-explore -e
> Device Full Name:    "hw:PCH"
  Short Name:          "hw:0"
    Card Name:         "HDA Intel PCH"
    Device ID:         "ALC892 Analog"
    Device Name:       "ALC892 Analog"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
  Possible mixers:     "Master",0              Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Headphone",0           Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "PCM",0                 Range:  51.00 dB, max:   0.00 dB, min: -51.00 dB
                       "Front",0               Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Front Mic",0           Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Surround",0            Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Center",0              Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "LFE",0                 Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Side",0                Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Line",0                Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Rear Mic",0            Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Front Mic Boost",0     Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
                       "Line Boost",0          Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
                       "Rear Mic Boost",0      Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE

> Device Full Name:    "hw:CARD=PCH,DEV=1"
  Short Name:          "hw:0,1"
    Card Name:         "HDA Intel PCH"
    Device ID:         "ALC892 Digital"
    Device Name:       "ALC892 Digital"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
  Possible mixers:     "Master",0              Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Headphone",0           Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "PCM",0                 Range:  51.00 dB, max:   0.00 dB, min: -51.00 dB
                       "Front",0               Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Front Mic",0           Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Surround",0            Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Center",0              Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "LFE",0                 Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Side",0                Range:  64.00 dB, max:   0.00 dB, min: -64.00 dB
                       "Line",0                Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Rear Mic",0            Range:  46.50 dB, max:  12.00 dB, min: -34.50 dB
                       "Front Mic Boost",0     Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
                       "Line Boost",0          Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
                       "Rear Mic Boost",0      Range:  30.00 dB, max:  30.00 dB, min:   0.00 dB
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=3"
  Short Name:          "hw:1,3"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 0"
    Device Name:       "HDMI 0"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=7"
  Short Name:          "hw:1,7"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 1"
    Device Name:       "HDMI 1"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=8"
  Short Name:          "hw:1,8"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 2"
    Device Name:       "HDMI 2"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=9"
  Short Name:          "hw:1,9"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 3"
    Device Name:       "HDMI 3"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=10"
  Short Name:          "hw:1,10"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 4"
    Device Name:       "HDMI 4"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=11"
  Short Name:          "hw:1,11"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 5"
    Device Name:       "HDMI 5"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:CARD=NVidia,DEV=12"
  Short Name:          "hw:1,12"
    Card Name:         "HDA NVidia"
    Device ID:         "HDMI 6"
    Device Name:       "HDMI 6"
    Subdevice Name:    "subdevice #0"
  This device seems suitable for use with Shairport Sync.
    No mixers usable by Shairport Sync.
    Suitable rates and formats (suggested setting first):
     Rate              Formats
     44100             S32_LE,S16_LE
     88200             S32_LE,S16_LE
     176400            S32_LE,S16_LE

> Device Full Name:    "hw:Creative"
  Short Name:          "hw:2"
    Card Name:         "HDA Creative"
    Device ID:         "CA0132 Analog"
    Device Name:       "CA0132 Analog"
    Subdevice Name:    "subdevice #0"
  Shairport Sync can not use this device.

> Device Full Name:    "hw:CARD=Creative,DEV=1"
  Short Name:          "hw:2,1"
    Card Name:         "HDA Creative"
    Device ID:         "CA0132 Digital"
    Device Name:       "CA0132 Digital"
    Subdevice Name:    "subdevice #0"
  Shairport Sync can not use this device.

I'd still be happy to test out this change. Why would it say Shairport Sync not be able to use this device?

EDIT: Here is the new output:

~/src/sps-alsa-explore$ ./sps-alsa-explore
...
> Device Full Name:    "hw:Creative"
  Short Name:          "hw:2"
  Shairport Sync can not use this device.

> Device Full Name:    "hw:CARD=Creative,DEV=1"
  Short Name:          "hw:2,1"
  Shairport Sync can not use this device.
mikebrady commented 2 years ago

Many thanks for all the information. Due to the fact that AirPlay uses 44,100 frames per second (fps) -- the CD standard -- Shairport Sync requires a device that can accept audio at 44,100 fps or a small multiple: 88,200, 176,400, 352,800. My guess is that the Creative device can't be set to 44,100 fps, (but probably can be set to 48,000 fps -- a movie standard, I believe).

nnewc commented 2 years ago

Many thanks for all the information. Due to the fact that AirPlay uses 44,100 frames per second (fps) -- the CD standard -- Shairport Sync requires a device that can accept audio at 44,100 fps or a small multiple: 88,200, 176,400, 352,800. My guess is that the Creative device can't be set to 44,100 fps, (but probably can be set to 48,000 fps -- a movie standard, I believe).

Shairport sync used to work with this sound card. Is there a way in shairport we could confirm this? I'd be happy to send over some logs.

mikebrady commented 2 years ago

It has always been the case that Shairport Sync required 44,100 or a multiple.

The ALSA sound system has plug-ins that can transcode from 44,100 to 48,000. Is it possible that Shairport Sync was outputting so another "device" that in turn was outputting to this device? If you specify plughw:.. instead of hw:..., you get the transcoders interposed -- if you do $ aplay -L, you'll see a list. Similarly, if you were outputting to the default, it would have been including transcoders.

mikebrady commented 2 years ago

Here is an example of a card that can only do 48,000. It's an Apple USB-C to Audio Jack adapter. Very high audio quality, apparently. Notice the Rates: lines:

$ cat /proc/asound/card1/stream0 
Apple, Inc. USB-C to 3.5mm Headphone Jack A at usb-0000:13:00.0-2, full speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S24_3LE
    Channels: 2
    Endpoint: 0x02 (2 OUT) (SYNC)
    Rates: 48000 - 48000 (continuous)
    Bits: 0
    Channel map: FL FR
  Interface 1
    Altset 2
    Format: S16_LE
    Channels: 2
    Endpoint: 0x02 (2 OUT) (SYNC)
    Rates: 48000 - 48000 (continuous)
    Bits: 0
    Channel map: FL FR
$
nnewc commented 2 years ago

From sound card owner's manual:

Depending on your system configuration, output sampling frequencies may be available at 48 and 96 kHz.

So what sampling frequency should alsa output? 44.1?

I will look into how setup a plugin to transcode to this.

mikebrady commented 2 years ago

Good stuff – mystery solved.

From sound card owner's manual: Depending on your system configuration, output sampling frequencies may be available at 48 and 96 kHz.

Using the plughw:... instead of hw:... will do the transcoding automatically, AFAIK. The transcoding should be from 44.1 to 48k or 96k, but I think it's all done automatically.

nnewc commented 2 years ago

Good stuff – mystery solved.

Interestingly, it looks like the ADC and digital outputs have no problem outputting 44.1kHz. What a joke...

Using the plughw:... instead of hw:... will do the transcoding automatically, AFAIK. The transcoding should be from 44.1 to 48k or 96k, but I think it's all done automatically.

Can you provide an example asound.rc? I do not understand the ALSA config format.

mikebrady commented 2 years ago

I've never used asound.rc or any of that stuff -- I don't understand it either. What I mean by using plughw:... instead of hw:... is much simpler:

Suppose you are trying to output to Card 2 at hw:2, you would enter the following in the Shairport Sync configuration file:

output_device = "hw:2"; 

This would give Shairport Sync a direct route to the DAC. However, since it can't accept 44.1k, you direct output to an ALSA virtual device called plughw:2 instead, where it automatically transcodes from 44.1k to 48k before forwarding to hw:2:

output_device = "plughw:2"; 

This avoids all that ALSA asound stuff.

nnewc commented 2 years ago

When I run aplay -L:

hw:CARD=Creative,DEV=0
    HDA Creative, CA0132 Analog
    Direct hardware device without any conversions
hw:CARD=Creative,DEV=1
    HDA Creative, CA0132 Digital
    Direct hardware device without any conversions
plughw:CARD=Creative,DEV=0
    HDA Creative, CA0132 Analog
    Hardware device with all software conversions
plughw:CARD=Creative,DEV=1
    HDA Creative, CA0132 Digital
    Hardware device with all software conversions
sysdefault:CARD=Creative
    HDA Creative, CA0132 Analog
    Default Audio Device

So I edited output_device line to be: output_device = "plughw:CARD=Creative,DEV=0"; and systemctl restart shairport-sync, but still don't get any audio coming out of the speakers. Any troubleshooting I can do?

As an aside, would sps-alsa-explore be able to recommend the plughw device or is the capabilities of plugin too opaque?

mikebrady commented 2 years ago

Hmm, I don't normally use plughw, (though I did check that it worked on my own system with that 48k-only Apple adapter), so I'm afraid I can't offer you any advice, apart from just trying the card number, plughw:2.

If you stop the Shairport Sync daemon: $ sudo systemctl stop shairport-sync, you can run it from the command line with diagnostics on:

$ shairport-sync -v --statistics

This will give you an idea of any problems it might encounter, and also the rate at which it is processing frames of audio.

You should get something like this:

$ shairport-sync -v --statistics
         0.064788334 "shairport.c:2016" startup in Airplay 2 mode with features 0x405fca00,0x1c340 on device "b8:27:eb:d7:85:d2".
         0.000188958 "shairport.c:2059" software version: "4.1-dev-430-gf3ef4ff7-dirty-AirPlay2-OpenSSL-Avahi-ALSA-soxr-metadata-dbus-sysconfdir:/etc"
         0.000033229 "shairport.c:2065" log verbosity is 1.
         0.000075313 "audio_alsa.c:1027" alsa: alsa_maximum_stall_time of 0.200000 sec.
         0.000090781 "audio_alsa.c:1316" alsa: disable_standby_mode is "always".
         0.000023698 "audio_alsa.c:1320" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.
         0.000023958 "audio_alsa.c:1322" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.
         0.000079844 "audio_alsa.c:1362" alsa: output device name is "hw:sndrpihifiberry".
         0.002045677 "shairport.c:2094" libsodium initialised.
         0.000424062 "shairport.c:2144" disable resend requests is off.
         0.000030157 "shairport.c:2145" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
         0.000027187 "shairport.c:2149" statistics_requester status is 1.
         0.000021979 "shairport.c:2154" rtsp listening port is 7000.
         0.000021979 "shairport.c:2155" udp base port is 6001.
         0.000021042 "shairport.c:2156" udp port range is 10.
         0.000021146 "shairport.c:2157" player name is "Speakers!".
         0.000021042 "shairport.c:2158" backend is "alsa".
         0.000021198 "shairport.c:2159" run_this_before_play_begins action is "(null)".
         0.000022343 "shairport.c:2160" run_this_after_play_ends action is "(null)".
         0.000021511 "shairport.c:2161" wait-cmd status is 0.
         0.000020885 "shairport.c:2162" run_this_before_play_begins may return output is 0.
         0.000021719 "shairport.c:2163" run_this_if_an_unfixable_error_is_detected action is "(null)".
         0.000022292 "shairport.c:2165" run_this_before_entering_active_state action is  "/usr/bin/logger "Active Start"".
         0.000022552 "shairport.c:2167" run_this_after_exiting_active_state action is  "/usr/bin/logger "Active End"".
         0.000023593 "shairport.c:2169" active_state_timeout is  10.000000 seconds.
         0.000026980 "shairport.c:2170" mdns backend "(null)".
         0.000021197 "shairport.c:2172" interpolation setting is "auto".
         0.000021615 "shairport.c:2175" interpolation soxr_delay_threshold is 30000000.
         0.000021823 "shairport.c:2176" resync time is 0.050000 seconds.
         0.000022344 "shairport.c:2177" allow a session to be interrupted: 0.
         0.000022552 "shairport.c:2178" busy timeout time is 0.
         0.000020729 "shairport.c:2179" drift tolerance is 0.001995 seconds.
         0.000022708 "shairport.c:2180" password is "(null)".
         0.000020886 "shairport.c:2181" ignore_volume_control is 0.
         0.000021041 "shairport.c:2185" volume_max_db is not set
         0.000020990 "shairport.c:2186" volume range in dB (zero means use the range specified by the mixer): 70.
         0.000022604 "shairport.c:2188" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.
         0.000022448 "shairport.c:2192" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
         0.000022552 "shairport.c:2194" disable_synchronization is 0.
         0.000020886 "shairport.c:2195" use_mmap_if_available is 1.
         0.000020989 "shairport.c:2196" output_format automatic selection is enabled.
         0.000058333 "shairport.c:2200" output_rate automatic selection is enabled.
         0.000025469 "shairport.c:2204" audio backend desired buffer length is 0.100000 seconds.
         0.000023959 "shairport.c:2206" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.
         0.000024010 "shairport.c:2208" audio backend latency offset is 0.000000 seconds.
         0.000023958 "shairport.c:2210" audio backend silence lead-in time is "auto".
         0.000021667 "shairport.c:2214" zeroconf regtype is "_raop._tcp".
         0.000021250 "shairport.c:2215" decoders_supported field is 1.
         0.000021250 "shairport.c:2216" use_apple_decoder is 0.
         0.000020729 "shairport.c:2217" alsa_use_hardware_mute is 0.
         0.000020938 "shairport.c:2221" no special mdns service interface was requested.
         0.000047135 "shairport.c:2224" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
         0.000027344 "shairport.c:2231" metadata enabled is 1.
         0.000021614 "shairport.c:2232" metadata pipename is "/tmp/shairport-sync-metadata".
         0.000022396 "shairport.c:2233" metadata socket address is "(null)" port 0.
         0.000022813 "shairport.c:2235" metadata socket packet size is "500".
         0.000021562 "shairport.c:2236" get-coverart is 1.
         0.000020573 "shairport.c:2254" loudness is 0.
         0.000020365 "shairport.c:2255" loudness reference level is -20.000000
         0.000365208 "rtsp.c:3940" metadata pipe name is "/tmp/shairport-sync-metadata".
         0.061398594 "shairport.c:2337" NQPTP is online.
         0.026281979 "dbus-service.c:1057" *warning: could not acquire a Shairport Sync native D-Bus interface "org.gnome.ShairportSync.i678" on the system bus.
         1.418802708 "shairport.c:250" "soxr" interpolation has been chosen.
        21.901099010 "rtsp.c:3112" Connection 1. AP2 Buffered Audio Stream.
         0.289726146 "rtp.c:1308" Connection 1: Note: anchor parameters have changed before clock 90e17b32a58b0008 has stabilised.
         0.497114895 "player.c:2650" Connection 1: Playback Started -- AirPlay 2 Buffered.
         7.906403695 "player.c:2491" Sync Error ms | Net Sync PPM | All Sync PPM | Min DAC Queue | Min Buffer Size | Output FPS (r) | Output FPS (c)
         0.000121927 "player.c:2491"         -1.05            0.0            0.0            2183              274k              N/A              N/A
         8.001077497 "player.c:2491"         -1.64            0.0            0.0            2922             3584k         44100.25         44110.00
         8.024523747 "player.c:2491"         -1.55            0.0            0.0            2928             3599k         44100.01         44110.15
         8.018197237 "player.c:2491"         -1.77           11.3           11.3            2928             3571k         44100.06         44110.53
         7.981542601 "player.c:2491"         -1.33            0.0            0.0            2952             3550k         44099.99         44110.74

(The Min DAC Queue figures here are lower than you'd normally get -- they should be around 7 to 9k. Also, the disable_standby_mode setting is irrelevant.)

If you get those lines of information at the end, it means that Shairport Sync "thinks" it is successfully sending audio to the output device.

The purpose of sps-alsa-explore is to explore hardware that would allow Shairport Sync direct access to suitable hardware, so investigating software plugins would really be out of scope. Apart from this, TBH I'm not familiar with the internals of ALSA plugins.

mikebrady commented 2 years ago

I just noticed this:

sysdefault:CARD=Creative
    HDA Creative, CA0132 Analog
    Default Audio Device

Does this mean that the Creative card is being used for audio output for the system in general?

nnewc commented 2 years ago

Yes. I have enabled it in the Ubuntu settings and from other applications works fine.

mikebrady commented 2 years ago

So, it may be that it is busy when the transcoder is trying to use is. Have you tried setting the output_device to "default" or just commented it out?

mikebrady commented 2 years ago

I’m going to guess that it works if you run it from the command line and set the output device to ”default” or leave it commented out.

nnewc commented 2 years ago

It seems to play with the output set as default but there is still no audio:


0.000255327 "shairport.c:1729" Started!                                                                                                                                                                                                                             
         0.000019988 "shairport.c:1756" software version: "3.3.8-libdaemon-OpenSSL-Avahi-ALSA-jack-pa-dummy-stdout-pipe-soxr-convolution-metadata-mqtt-dbus-mpris-sysconfdir:/etc"                                                                                           
         0.000003321 "shairport.c:1762" log verbosity is 1.                                                                                                                                                                                                                  
         0.000005695 "audio_alsa.c:1015" alsa: alsa_maximum_stall_time of 0.200000 sec.                                                                                                                                                                                      
         0.000018409 "audio_alsa.c:1299" alsa: disable_standby_mode is "never".                                                                                                                                                                                              
         0.000003308 "audio_alsa.c:1303" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.                                                                                                                                                                   
         0.000003577 "audio_alsa.c:1305" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.                                                                                                                                                               
         0.000020024 "audio_alsa.c:1345" alsa: output device name is "default".                                                                                                                                                                                              
         0.000054668 "shairport.c:1810" disable resend requests is off.                                                                                                                                                                                                      
         0.000014121 "shairport.c:1811" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.                                                                                                                           
         0.000002918 "shairport.c:1815" statistics_requester status is 1.                                                                                                                                                                                                    
         0.000002382 "shairport.c:1817" daemon status is 0.                                                                                                                                                                                                                  
         0.000014377 "shairport.c:1818" daemon pid file path is "/run/shairport-sync/shairport-sync.pid".                                                                                                                                                                    
         0.000002461 "shairport.c:1820" rtsp listening port is 5000.                                                                                                                                                                                                         
         0.000002367 "shairport.c:1821" udp base port is 6001.                                                                                                                                                                                                               
         0.000002791 "shairport.c:1822" udp port range is 10.                                                                                                                                                                                                                
         0.000010866 "shairport.c:1823" player name is "Jupiter".                                                                                                                                                                                                            
         0.000002594 "shairport.c:1824" backend is "alsa".                                                                                                                                                                                                                   
         0.000003249 "shairport.c:1825" run_this_before_play_begins action is "(null)".                                                                                                                                                                                      
         0.000012928 "shairport.c:1826" run_this_after_play_ends action is "(null)".                                                                                                                                                                                         
         0.000002421 "shairport.c:1827" wait-cmd status is 0.                                                                                                                                                                                                                
         0.000002596 "shairport.c:1828" run_this_before_play_begins may return output is 0.                                                                                                                                                                                  
         0.000002980 "shairport.c:1829" run_this_if_an_unfixable_error_is_detected action is "(null)".                                                                                                                                                                       
         0.000003395 "shairport.c:1830" run_this_before_entering_active_state action is  "(null)".                                                                                                                                                                           
         0.000003754 "shairport.c:1831" run_this_after_exiting_active_state action is  "(null)".                                                                                                                                                                             
         0.000003280 "shairport.c:1832" active_state_timeout is  10.000000 seconds.                                                                                                                                                                                          
         0.000004125 "shairport.c:1833" mdns backend "(null)".                                                                                                                                                                                                               
         0.000003289 "shairport.c:1835" interpolation setting is "auto".                                                                                                                                                                                                     
         0.000003111 "shairport.c:1838" interpolation soxr_delay_threshold is 30.                                                                                                                                                                                            
         0.000004189 "shairport.c:1839" resync time is 0.050000 seconds.                                                                                                                                                                                                     
         0.000002563 "shairport.c:1840" allow a session to be interrupted: 0.                                                                                                                                                                                                
         0.000002465 "shairport.c:1841" busy timeout time is 120.                                                                                                                                                                                                            
         0.000002429 "shairport.c:1842" drift tolerance is 0.001995 seconds.                                                                                                                                                                                                 
         0.000003287 "shairport.c:1843" password is "(null)".                                                                                                                                                                                                                
         0.000004461 "shairport.c:1844" ignore_volume_control is 0.                                                                                                                                                                                                          
         0.000003203 "shairport.c:1848" volume_max_db is not set                                                                                                                                                                                                             
         0.000003072 "shairport.c:1849" volume range in dB (zero means use the range specified by the mixer): 0.                                                                                                                                                             
         0.000004217 "shairport.c:1851" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.                                                                                                                                     
         0.000003374 "shairport.c:1855" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).                                                                                                                                                  
         0.000004229 "shairport.c:1857" disable_synchronization is 0.                                                                                                                                                                                                        
         0.000003712 "shairport.c:1858" use_mmap_if_available is 1.                                                                                                                                                                                                          
         0.000003090 "shairport.c:1859" output_format automatic selection is enabled.                                                                                                                                                                                        
         0.000002675 "shairport.c:1863" output_rate automatic selection is enabled.                                                                                                                                                                                          
         0.000004192 "shairport.c:1867" audio backend desired buffer length is 0.200000 seconds.                                                                                                                                                                             
         0.000003371 "shairport.c:1869" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.                                                                                                                                                         
         0.000004481 "shairport.c:1871" audio backend latency offset is 0.000000 seconds.                                                                                                                                                                                    
         0.000004044 "shairport.c:1873" audio backend silence lead-in time is "auto".                                                                                                                                                                                        
         0.000004425 "shairport.c:1877" zeroconf regtype is "_raop._tcp".                                                                                                                                                                                                    
         0.000003783 "shairport.c:1878" decoders_supported field is 1.                                                                                                                                                                                                       
         0.000003032 "shairport.c:1879" use_apple_decoder is 0.                                                                                                                                                                                                              
         0.000004392 "shairport.c:1880" alsa_use_hardware_mute is 0.                                                                                                                                                                                                         
         0.000004248 "shairport.c:1884" no special mdns service interface was requested.                                                                                                                                                                                     
         0.000006798 "shairport.c:1887" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".                                                                                                                                           
         0.000004760 "shairport.c:1894" metadata enabled is 1.
0.000003667 "shairport.c:1895" metadata pipename is "/tmp/shairport-sync-metadata".
         0.000004191 "shairport.c:1896" metadata socket address is "(null)" port 0.
         0.000003580 "shairport.c:1898" metadata socket packet size is "500".
         0.000003540 "shairport.c:1899" get-coverart is 1.
         0.000003616 "shairport.c:1902" mqtt is disabled.
         0.000003567 "shairport.c:1903" mqtt hostname is (null), port is 1883.
         0.000003684 "shairport.c:1904" mqtt topic is /Jupiter.
         0.000003510 "shairport.c:1905" mqtt will not publish raw metadata.
         0.000003550 "shairport.c:1906" mqtt will not publish parsed metadata.
         0.000003605 "shairport.c:1907" mqtt will not publish cover Art.
         0.000003415 "shairport.c:1908" mqtt remote control is disabled.
         0.000003521 "shairport.c:1912" convolution is 0.
         0.000003101 "shairport.c:1913" convolution IR file is "(null)"
         0.000004055 "shairport.c:1914" convolution max length 8192
         0.000003434 "shairport.c:1915" convolution gain is 0.000000
         0.000002798 "shairport.c:1917" loudness is 0.
         0.000003023 "shairport.c:1918" loudness reference level is -20.000000
         0.000029858 "rtsp.c:1665" metadata pipe name is "/tmp/shairport-sync-metadata".
         0.003016802 "mdns_avahi.c:375" avahi_dacp_monitor_start Avahi DACP monitor successfully started
         0.000286626 "dbus-service.c:548" >> setting loudness threshold to -20.000000.
         0.000018381 "dbus-service.c:561" >> setting drift tolerance to 0.001995 seconds
         0.000013952 "dbus-service.c:909" >> ALACDecoder set to "hammerton"
         0.000006119 "dbus-service.c:914" >> Active set to "false"
         0.000006032 "dbus-service.c:919" >> disable standby mode set to "off"
         0.000005865 "dbus-service.c:940" >> interpolation set to "auto" (soxr support built in)
         0.000009836 "dbus-service.c:456" >> deactivating disable standby
         0.000007398 "dbus-service.c:538" >> deactivating loudness
         0.000005262 "dbus-service.c:472" >> deactivating convolution
         0.000010537 "dbus-service.c:441" >> log verbosity set to 1.
         0.000006051 "dbus-service.c:425" >> start logging statistics
         0.000014243 "dbus-service.c:390" >> stop including elapsed time in logs
         0.000010215 "dbus-service.c:400" >> start including delta time in logs
         0.000006855 "dbus-service.c:413" >> start including file and line in logs
         0.000012295 "dbus-service.c:1045" Shairport Sync native D-Bus service started at "org.gnome.ShairportSync" on the system bus.
         0.000620993 "mpris-service.c:341" MPRIS service started at "org.mpris.MediaPlayer2.ShairportSync" on the system bus.
         1.496170612 "shairport.c:200" "soxr" interpolation has been chosen.
        27.084549090 "rtsp.c:1057" Connection 1: SETUP DACP-ID "30979FC665334555" from fe80::18f6:a8:e558:77d9 to fe80::4eb0:6eb0:bb31:a0ca with UDP ports Control: 6001, Timing: 6002 and Audio: 6003.
         0.281215886 "audio_alsa.c:528" alsa: output format chosen is "S32".
         0.000034475 "audio_alsa.c:569" alsa: output speed chosen is 44100.
         0.003041420 "player.c:1937" sync error in milliseconds, net correction in ppm, corrections in ppm, total packets, missing packets, late packets, too late packets, resend requests, min DAC queue size, min buffer occupancy, max buffer occupancy, source nominal frames per second, source actual frames per second, output frames per second, source clock drift in ppm, source clock drift sample count, rough calculated correction in ppm
         1.708906070 "rtp.c:818" Time ping turnaround time: 208206919 ns -- it looks like a timing ping was lost.
         1.046748492 "audio_alsa.c:1726" alsa: device status returns fault status -32 and SND_PCM_STATE_* 3  for play.
         0.001574577 "audio_alsa.c:1700" alsa: underrun while writing 8820 samples to alsa device.
         9.418768708 "player.c:2744"       3.97,    -585.5,     585.5,        1003,      0,      0,      0,      0,   3146,  224,  269,   44100.10,   44130.03,   44062.44,      0.00,     0,   -854.73
         8.006060530 "player.c:2744"       2.59,    -866.7,     866.7,        2006,      0,      3,      0,      1,   8439,  223,  230,   44100.02,   44094.87,   44062.68,      0.00,     0,   -847.60
         8.004198277 "player.c:2744"       2.60,    -835.6,     835.6,        3009,      0,      3,      0,      1,   8453,  223,  230,   44100.04,   44101.08,   44062.28,      0.00,     0,   -857.03
         8.005180044 "player.c:2744"       2.57,    -827.1,     827.1,        4012,      0,      3,      0,      1,   8390,  223,  231,   44100.01,   44105.19,   44062.32,      0.00,     0,   -855.37
         8.005538105 "player.c:2744"       2.58,    -838.4,     838.4,        5015,      0,      3,      0,      1,   8641,  224,  230,   44100.01,   44098.33,   44062.59,      0.00,     0,   -849.08
         8.005442104 "player.c:2744"       2.61,    -866.7,     866.7,        6018,      0,      3,      0,      1,   8592,  223,  230,   44100.02,   44101.22,   44062.63,      0.00,     0,   -848.53
         8.004991466 "player.c:2744"       2.59,    -846.9,     846.9,        7021,      0,      3,      0,      1,   8607,  223,  230,   44100.00,   44101.97,   44062.58,      0.00,     0,   -849.25
         8.009633428 "player.c:2744"       2.58,    -858.2,     858.2,        8024,      0,      3,      0,      1,   8248,  224,  247,   44100.01,   44197.51,   44062.62,      0.00,     0,   -848.40
         8.003399513 "player.c:2744"       2.60,    -846.9,     846.9,        9027,      0,      3,      0,      1,   8554,  222,  247,   44100.00,   44186.08,   44062.47,      0.00,     0,   -851.86
mikebrady commented 2 years ago

Yeah, it “thinks” it’s sending to the output. There is a utility called alsamixer you can use to check mixer (i.e. volume control) levels. It just might be worth trying out in case output from Shairport Sync is somehow being attenuated.

nnewc commented 2 years ago

Yes I have played around with alsamixer, and everything seems good. Screenshot from 2022-07-23 15-18-42

mikebrady commented 2 years ago

Thanks. I’m kind of out of ideas at this point…

nnewc commented 2 years ago

@mikebrady thanks for all of your help!! If I get it working I will let you know. At this point it is probably something on my end...

mikebrady commented 2 years ago

Thanks for the kind words, and good luck!

nnewc commented 2 years ago

Today in the process of finding out what "valid" hw params are for my device I tried:

$ aplay --dump-hw-params -Dhw:CARD=Creative,DEV=0 test.wav 
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
HW Params of device "hw:CARD=Creative,DEV=0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S32_LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 32]
FRAME_BITS: [32 192]
CHANNELS: [2 6]
RATE: [16000 192000]
PERIOD_TIME: (31 32768000]
PERIOD_SIZE: [6 524288]
PERIOD_BYTES: [128 2097152]
PERIODS: [2 32]
BUFFER_TIME: (62 65536000]
BUFFER_SIZE: [12 1048576]
BUFFER_BYTES: [128 4194304]
TICK_TIME: ALL
--------------------

and this seemed to play audio just fine. The interesting thing is it's a 44.1kHz file and the hw params list valid range of 16-192kHz if I'm understanding the output correctly.

This test had no sound ouptut:

$ sudo shairport-sync --statistics -- -dhw:CARD=Creative,DEV=0
warning: audio_alsa: Unable to set hw parameters for device "hw:CARD=Creative,DEV=0": Invalid argument.
sync error in milliseconds, net correction in ppm, corrections in ppm, total packets, missing packets, late packets, too late packets, resend requests, min DAC queue size, min buffer occupancy, max buffer occupancy, source nominal frames per second, source actual frames per second, output frames per second, source clock drift in ppm, source clock drift sample count, rough calculated correction in ppm
warning: audio_alsa: Unable to set hw parameters for device "hw:CARD=Creative,DEV=0": Invalid argument.
   -192.22,    1033.1,    1033.1,        1003,      0,     45,      0,     12,      0,  159,  266,       0.00,       0.00,       0.00,      0.00,     0,      0.00
   -194.79,    1937.0,    1937.0,        2006,      0,     59,      0,     18,      0,  198,  230,       0.00,       0.00,       0.00,      0.00,     0,      0.00
   -195.62,    2238.3,    2238.3,        3009,      0,     59,      0,     18,      0,  223,  230,       0.00,       0.00,       0.00,      0.00,     0,      0.00
   -197.34,    2840.9,    2840.9,        4012,      0,     62,      0,     19,      0,  223,  230,       0.00,       0.00,       0.00,      0.00,     0,      0.00
   -197.35,    2840.9,    2840.9,        5015,      0,     64,      0,     20,      0,  223,  230,       0.00,       0.00,       0.00,      0.00,     0,      0.00
   -197.37,    2840.9,    2840.9,        6018,      0,     70,      0,     22,      0,  223,  230,       0.00,       0.00,       0.00,      0.00,     1,      0.00
   -197.40,    2840.9,    2840.9,        7021,      0,     72,      0,     23,      0,  223,  230,       0.00,       0.00,       0.00,      0.00,     1,      0.00
   -197.43,    2840.9,    2840.9,        8024,      0,     77,      0,     25,      0,  219,  230,       0.00,       0.00,       0.00,      0.00,     2,      0.00
warning: audio_alsa: Unable to set hw parameters for device "hw:CARD=Creative,DEV=0": Invalid argument.
   -197.00,    2696.5,    2696.5,        9027,      0,     77,      0,     25,      0,  218,  247,       0.00,       0.00,       0.00,      0.00,     2,      0.00
Playback Stopped. Total playing time 00:01:22. Input: 0.00 frames per second.

This test also had no sound output, but had no alsa warnings:

$ sudo shairport-sync --statistics -- -dsysdefault
sync error in milliseconds, net correction in ppm, corrections in ppm, total packets, missing packets, late packets, too late packets, resend requests, min DAC queue size, min buffer occupancy, max buffer occupancy, source nominal frames per second, source actual frames per second, output frames per second, source clock drift in ppm, source clock drift sample count, rough calculated correction in ppm
      3.43,    -487.4,     487.4,        1003,      0,      3,      0,      1,   3146,  215,  278,   44099.94,   44058.87,   44062.72,      0.00,     0,   -844.66
      2.61,    -835.6,     835.6,        2006,      0,      3,      0,      1,   8692,  226,  247,   44100.04,   44532.44,   44062.79,      0.00,     0,   -845.38
      2.58,    -849.7,     849.7,        3009,      0,      9,      0,      2,   8691,  230,  247,   44100.02,   44362.28,   44061.08,      0.00,     0,   -883.76
      2.56,    -849.7,     849.7,        4012,      0,      9,      0,      2,   8681,  232,  247,   44099.99,   44295.45,   44062.52,      0.00,     0,   -850.40
      2.56,    -844.1,     844.1,        5015,      0,      9,      0,      2,   8689,  219,  247,   44100.00,   44253.23,   44062.83,      0.00,     0,   -843.78
      2.59,    -869.6,     869.6,        6018,      0,     13,      0,      4,   8693,  227,  247,   44100.00,   44226.60,   44062.86,      0.00,     1,   -842.95
      2.56,    -849.7,     849.7,        7021,      0,     13,      0,      4,   8640,  231,  247,   44100.00,   44209.30,   44062.83,      0.00,     3,   -843.58
      2.59,    -824.2,     824.2,        8024,      0,     15,      0,      5,   8684,  214,  250,   44100.00,   44096.29,   44062.88,      0.00,     3,   -842.41
      2.62,    -855.4,     855.4,        9027,      0,     15,      0,      5,   8694,  220,  230,   44100.00,   44101.01,   44062.72,      0.00,     4,   -846.21
Playback Stopped. Total playing time 00:01:24. Input: 44101.01, output: 44062.72 frames per second.
mikebrady commented 2 years ago

Thanks for the updates. Can you tell me where to get (or how to make) that test.wav file please? I'd like to try the same experiment here.

nnewc commented 2 years ago

Here is the wav file in a zip archive. test.zip

mikebrady commented 2 years ago

Super, thanks.

mikebrady commented 2 years ago

Okay, well that is interesting. This is what I got from my Apple USB-C to Audio adapter, which only does 48,000 fps:

$  $ aplay --version
aplay: version 1.2.4 by Jaroslav Kysela <perex@perex.cz>

$ aplay --dump-hw-params -Dhw:2 test.wav 
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
HW Params of device "hw:2":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: [16 24]
FRAME_BITS: [32 48]
CHANNELS: 2
RATE: 48000
PERIOD_TIME: [1000 2730667)
PERIOD_SIZE: [48 131072]
PERIOD_BYTES: [192 524288]
PERIODS: [2 1024]
BUFFER_TIME: [2000 5461334)
BUFFER_SIZE: [96 262144]
BUFFER_BYTES: [384 1048576]
TICK_TIME: ALL
--------------------
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
         please, try the plug plugin 

What actually happened is that even though the file is identified as a 44100 fps file, is was played at 48,000 fps. You can tell because the pitch of the tune is higher than if played on a regular system (a Mac in my case).

My bet is that you're not getting the warning because the Creative card isn't returning enough information when the software tries to set it -- that's what caused the problem with sps-alsa-explore.