wtfplay project - Linux based PC playback system

but then why does wtfplay not read any files with the cranborne 500r8?

Cranborne Audio Ltd 500R8 at usb-0000:00:14.0-2, high speed : USB Audio

Playback:
Status: Stop
Interface 1
Altset 1
Format: S32_LE
Channels: 30
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 2
Sync EP Altset: 1
Implicit Feedback Mode: Yes
Interface 1
Altset 2
Format: S32_LE
Channels: 18
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 2
Sync EP Altset: 2
Implicit Feedback Mode: Yes
Interface 1
Altset 3
Format: S32_LE
Channels: 10
Endpoint: 0x01 (1 OUT) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR FC LFE RL RR FLC FRC RC SL
Sync Endpoint: 0x81 (1 IN)
Sync EP Interface: 2
Sync EP Altset: 3
Implicit Feedback Mode: Yes

Capture:
Status: Stop
Interface 2
Altset 1
Format: S32_LE
Channels: 28
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 2
Format: S32_LE
Channels: 18
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Interface 2
Altset 3
Format: S32_LE
Channels: 10
Endpoint: 0x81 (1 IN) (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000
Data packet interval: 125 us
Bits: 24
Channel map: FL FR FC LFE RL RR FLC FRC RC SL
 
The plug plugin will not work. The number of channels is really hardcoded to 2. I am sorry about that
IMO the plug plugin will auto-provide the necessary route plugin feature. Or just the route plugin, if no resampling were desired.

I just tested:

Code:
aplay -v  -D plug:ch8 -c 2 -r 48000 /dev/zero
Plug PCM: Route conversion PCM (sformat=S16_LE)
  Transformation table:
    0 <- 0
    1 <- 1
    2 <- none
    3 <- none
    4 <- none
    5 <- none
    6 <- none
    7 <- none
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : U8
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 8
  buffer_size  : 4096
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 4096
  stop_threshold   : 4096
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
Slave: Hardware PCM card 0 'HDA Intel PCH' device 3 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 8
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 4096
  period_size  : 1024
  period_time  : 21333
  tstamp_mode  : NONE
  tstamp_type  : MONOTONIC
  period_step  : 1
  avail_min    : 1024
  period_event : 0
  start_threshold  : 4096
  stop_threshold   : 4096
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
 
Hi! I have a problem with wtfplay setup connected via HDMI to TV. If i power off TV and swith it on - i have no video signal from wtfplay setup. Same problem if TV is off while wtfplay setup booting. I am using 0.8.2 avx version.
One more question about DSD not playing in Sony PHA-2a. Seems this dac is not supported. Any chance to support it? Does new SMSL dacs are supported to play DSD. Thanks for answer and great sound.
 
Hi, I am not sure hot to help you with the HDMI output and your TV. It seems that your TV picks up the signal once the HDMI output is initialised by your computer firmware. wtfplay-live on itself does not mess with video output, it just merely uses what the computer firmware provides. I suppose unplugging and re-plugging the HDMI cable would not be too convenient and I am not sure if that would even work. You can always hard-reset the computer once wtfplay-live has booted. This is safe.

In terms of PHA-2a, I checked the device reference manual and it says that DSD mode is supported under Windows only. I reckon Sony must have a special driver for it. I do not think there is much we can do here.
 
@promisc: DSD is not handled by USB audio class II specs. Therefore the device cannot tell the host in a standadized way that it supports native DSD. The linux UAC2 driver supports a number of DSD-native devices, but these need to be specifically enabled in the source code - see occurence of flag QUIRK_FLAG_DSD_RAW https://elixir.bootlin.com/linux/v6.9-rc1/A/ident/QUIRK_FLAG_DSD_RAW or (more complicated) QUIRK_FLAG_ITF_USB_DSD_DAC https://elixir.bootlin.com/linux/v6.9-rc1/A/ident/QUIRK_FLAG_ITF_USB_DSD_DAC

If you want to have your DAC supported, you would need to try adding your DAC USB ids to that method https://elixir.bootlin.com/linux/v6.9-rc1/source/sound/usb/quirks.c#L2017 , recompile the kernel on some linux computer, test it and send the result to the alsa mailing list for inclusion to the kernel. Then your DAC could be supprted if frd__ picks up the kernel for his project.

Offtopic: I find this quite funny https://helpguide.sony.net/mdr/pha-2a/v1/en/contents/TP0001211938.html :)

  • One of the above OS need to be installed to the computer at the factory.
  • The unit is not guaranteed to operate with all computers.
  • The unit is not guaranteed to operate with home built computers, operating systems that are personally upgraded, or multiple operating systems.
 
@phofman: I totally agree. Adding a quirk flag is worth trying and I would be quite confident with this approach for audio devices using well known USB interfaces, such as Amanero or Xmos, with just different USB ids. When it comes to big manufactures (Sony) I am sceptical. They have capability to build their own solutions, not compatible with anything and they often do.

Another offtopic: I have a Sony portable music player (walkman). It can be connected to a computer via USB. One would expect that a standard USB cable can be used with this device. But, of course not. The player has a custom connector and a requires a special cable. Thanfully it does not require the "OS installed to the computer at the factory" ;)
 
Hi, I am not sure hot to help you with the HDMI output and your TV. It seems that your TV picks up the signal once the HDMI output is initialised by your computer firmware. wtfplay-live on itself does not mess with video output, it just merely uses what the computer firmware provides. I suppose unplugging and re-plugging the HDMI cable would not be too convenient and I am not sure if that would even work. You can always hard-reset the computer once wtfplay-live has booted. This is safe.

In terms of PHA-2a, I checked the device reference manual and it says that DSD mode is supported under Windows only. I reckon Sony must have a special driver for it. I do not think there is much we can do here.
Dear @frd__ , i have Ubuntu on same device. When booting Ubuntu I have no TV signal issue, it's working fine. I doubt it's only my setup problem. Anyway thanks for reply.

In terms of PHA-2a you are right, Sony has special driver for this DAC. Does I have any chance to proove QUIRK_FLAG_DSD_RAW will work without recompiling linux kernel with just sniffing USB traffic under Windows with Wireshark and some test DSD sample? (to proof Sony dont do any magic)

@phofman , thanks for advice, I saw this method before, but have not to much experience with kernel recompiling, and if i am not mistaken it will not work on virtual machine...
 
BTW, I found quite convenient to control wtfplay setup via wifi and amp via wifi->ir using arduino with modules.
IMG_20240327_185531.jpg