ALSA PCM DOP Mode - DAC Support
Leonard Bocock <[email protected]> Thu, 30 Mar 2023 09:18:22 +1100
| Newsgroups | gmane.linux.alsa.user |
|---|---|
| Message-ID | <[email protected]> |
--===============1881678166544371589==
Content-Type: multipart/alternative;
boundary="Apple-Mail=_4C7F7AA3-91CC-4E86-992C-4A295BA9AB93"
--Apple-Mail=_4C7F7AA3-91CC-4E86-992C-4A295BA9AB93
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=us-ascii
I'm developing an ALSA based audio application.
The DSD audio file under test is fs64 DSD format 2 channel.
The file plays well under ALSA using my native DSD frame packer. It =
plays well using my DSD to PCM decoder and frame packer.
It is not playing using my DOP frame packer.
I'm reasonably confident I have ALSA format set up correctly.....
- The ALSA format is set to S32_LE as the DAC supports this.
- The ALSA sample rate set in for FS64 which should be 176k
cat /proc/asound/DX1/pcm0p/sub0/hw_params during a play:
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 as per DOP =
specification, so the buffer looks like this:
MSB LSB
0x5 0xd3 0x2c 0x0=20
0x5 0xd3 0x2c 0x0=09
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 with play 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 with the same result.
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,
--Apple-Mail=_4C7F7AA3-91CC-4E86-992C-4A295BA9AB93
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=us-ascii
<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><div =
dir=3D"auto" style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: =
space; line-break: after-white-space;"><div><p style=3D"box-sizing: =
border-box; margin-top: 0px; margin-bottom: 1rem; white-space: pre-wrap; =
caret-color: rgb(33, 37, 41); color: rgb(33, 37, 41); font-family: =
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, =
"Helvetica Neue", Arial, "Noto Sans", sans-serif, =
"Apple Color Emoji", "Segoe UI Emoji", "Segoe =
UI Symbol", "Noto Color Emoji"; font-size: 14px;">I'm =
developing an ALSA based audio application.</p><p style=3D"box-sizing: =
border-box; margin-top: 0px; margin-bottom: 1rem; white-space: pre-wrap; =
caret-color: rgb(33, 37, 41); color: rgb(33, 37, 41); font-family: =
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, =
"Helvetica Neue", Arial, "Noto Sans", sans-serif, =
"Apple Color Emoji", "Segoe UI Emoji", "Segoe =
UI Symbol", "Noto Color Emoji"; font-size: 14px;">The DSD =
audio file under test is fs64 DSD format 2 channel.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">The file plays well under ALSA using my native DSD =
frame packer. It plays well using my DSD to PCM decoder and frame =
packer.</p><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 1rem; white-space: pre-wrap; caret-color: rgb(33, 37, =
41); color: rgb(33, 37, 41); font-family: -apple-system, =
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica =
Neue", Arial, "Noto Sans", sans-serif, "Apple Color =
Emoji", "Segoe UI Emoji", "Segoe UI Symbol", =
"Noto Color Emoji"; font-size: 14px;">It is not playing using =
my DOP frame packer.</p><p style=3D"box-sizing: border-box; margin-top: =
0px; margin-bottom: 1rem; white-space: pre-wrap; caret-color: rgb(33, =
37, 41); color: rgb(33, 37, 41); font-family: -apple-system, =
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica =
Neue", Arial, "Noto Sans", sans-serif, "Apple Color =
Emoji", "Segoe UI Emoji", "Segoe UI Symbol", =
"Noto Color Emoji"; font-size: 14px;">I'm reasonably confident =
I have ALSA format set up correctly.....
- The ALSA format is set to S32_LE as the DAC supports this.
- The ALSA sample rate set in for FS64 which should be 176k</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">cat /proc/asound/DX1/pcm0p/sub0/hw_params during a =
play:</p><p style=3D"box-sizing: border-box; margin-top: 0px; =
margin-bottom: 1rem; white-space: pre-wrap; caret-color: rgb(33, 37, =
41); color: rgb(33, 37, 41); font-family: -apple-system, =
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica =
Neue", Arial, "Noto Sans", sans-serif, "Apple Color =
Emoji", "Segoe UI Emoji", "Segoe UI Symbol", =
"Noto Color Emoji"; font-size: 14px;">access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 176400 (176400/1)
period_size: 22050
buffer_size: 88200</p><p style=3D"box-sizing: border-box; margin-top: =
0px; margin-bottom: 1rem; white-space: pre-wrap; caret-color: rgb(33, =
37, 41); color: rgb(33, 37, 41); font-family: -apple-system, =
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica =
Neue", Arial, "Noto Sans", sans-serif, "Apple Color =
Emoji", "Segoe UI Emoji", "Segoe UI Symbol", =
"Noto Color Emoji"; font-size: 14px;">The 32 bit frames =
written to snd_pcm_writei() are packed as per DOP specification, so the =
buffer looks like this:</p><p style=3D"box-sizing: border-box; =
margin-top: 0px; margin-bottom: 1rem; white-space: pre-wrap; =
caret-color: rgb(33, 37, 41); color: rgb(33, 37, 41); font-family: =
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, =
"Helvetica Neue", Arial, "Noto Sans", sans-serif, =
"Apple Color Emoji", "Segoe UI Emoji", "Segoe =
UI Symbol", "Noto Color Emoji"; font-size: 14px;">MSB =
LSB
0x5 0xd3 0x2c 0x0=20
0x5 0xd3 0x2c 0x0=09
0xfa 0xd2 0xd2 0x0
0xfa 0xd2 0xd2 0x0
0x5 0xd2 0xd2 0x0
0x5 0xd2 0xd2 0x0</p><p style=3D"box-sizing: border-box; margin-top: =
0px; margin-bottom: 1rem; white-space: pre-wrap; caret-color: rgb(33, =
37, 41); color: rgb(33, 37, 41); font-family: -apple-system, =
BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica =
Neue", Arial, "Noto Sans", sans-serif, "Apple Color =
Emoji", "Segoe UI Emoji", "Segoe UI Symbol", =
"Noto Color Emoji"; font-size: 14px;">There are no overflow or =
ALSA play errors; however with play all I get is a high pitched note to =
start, and then noise. I'm stumped.</p><p style=3D"box-sizing: =
border-box; margin-top: 0px; margin-bottom: 1rem; white-space: pre-wrap; =
caret-color: rgb(33, 37, 41); color: rgb(33, 37, 41); font-family: =
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, =
"Helvetica Neue", Arial, "Noto Sans", sans-serif, =
"Apple Color Emoji", "Segoe UI Emoji", "Segoe =
UI Symbol", "Noto Color Emoji"; font-size: 14px;">The DAC =
is a Topping DX1 which has an XMOS USB interface and an AK4493S chip. =
I've also tried my Accuphase DAC-60 with the same result.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">Documentation on this seems sparse.</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">- 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?</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">Is there anything obvious I am missing here?</p><p =
style=3D"box-sizing: border-box; margin-top: 0px; margin-bottom: 1rem; =
white-space: pre-wrap; caret-color: rgb(33, 37, 41); color: rgb(33, 37, =
41); font-family: -apple-system, BlinkMacSystemFont, "Segoe =
UI", Roboto, "Helvetica Neue", Arial, "Noto =
Sans", sans-serif, "Apple Color Emoji", "Segoe UI =
Emoji", "Segoe UI Symbol", "Noto Color Emoji"; =
font-size: 14px;">Thanks,</p></div>
<br></div></body></html>=
--Apple-Mail=_4C7F7AA3-91CC-4E86-992C-4A295BA9AB93--
--===============1881678166544371589==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============1881678166544371589==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user
--===============1881678166544371589==--