DSD DOP - DAC Support and Viability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm developing an ALSA based audio application; c and c++. The DSD source file under test is fs64 DSD format. 

It plays well under ALSA using the native DSD frame packer. It plays well using the DSD to PCM decoder and frame packer. 

It is not playing using DOP. 

I'm reasonably confident I have ALSA set up correctly.....
- The ALSA format is set to S32_LE, as supported by the DAC? 
- The ALSA sample rate set in for FS64 which should be 176k?

cat /proc/asound/DX1/pcm0p/sub0/hw_params 

access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200

The 32 bit frames written to snd_pcm_writei() are packed I think as per DOP specification, so the buffer looks like this:

MSB                    LSB
0x5  0xd3  0x2c 0x0 
0x5  0xd3  0x2c  0x0	
0xfa 0xd2  0xd2  0x0
0xfa 0xd2  0xd2  0x0
0x5  0xd2  0xd2  0x0
0x5  0xd2 0xd2  0x0		

There are no overflow or ALSA play errors; however all I get is a high pitched note to start, and then noise. I'm stumped.

The DAC is a Topping DX1 which has an XMOS USB interface and an AK4493S chip. I've also tried my Accuphase DAC-60.

Documentation on this seems sparse.

- How can test if ALSA / Linux is putting the DAC into DOP mode?
- How can I determine if the DAC or USB interface is supported by Debian (latest version) and controlling the DAC correctly?

Is there anything obvious I am missing here?

Thanks,



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux