09-19-2024, 11:58 AM
(09-19-2024, 11:48 AM)svitalya Wrote:(09-19-2024, 10:26 AM)Tim Curtis Wrote: In the Audio configuration section of the startup log"Audio formats:" lists the supported bit depths for the attached device. You can also use moodeutl -f
moodeutl -f indicates
S32_LE, DSD_U32_LE
Doesn't this mean maximum values? Thank you!
Not maximum bit depths but each individual bit depth that ALSA detects.
Here's an example from a system that has an Allo Boss DAC.
Code:
pi@moode9:~ $ moodeutl -f
S16_LE, S24_LE, S32_LE
The underlying command thats used by moodeutl is below.
Code:
alsacap
#Example from system with Boss DAC
pi@moode9:~ $ alsacap
*** Scanning for playback devices ***
Card 0, ID `vc4hdmi0', name `vc4-hdmi-0'
Device 0, ID `MAI PCM i2s-hifi-0', name `MAI PCM i2s-hifi-0', 1 subdevices (1 available)
Error opening sound device for card 0, device 0: Unknown error 524. Skipping.
Card 1, ID `vc4hdmi1', name `vc4-hdmi-1'
Device 0, ID `MAI PCM i2s-hifi-0', name `MAI PCM i2s-hifi-0', 1 subdevices (1 available)
Error opening sound device for card 1, device 0: Unknown error 524. Skipping.
Card 2, ID `BossDAC', name `BossDAC'
Device 0, ID `Boss DAC HiFi [Master] pcm512x-hifi-0', name `Boss DAC HiFi [Master] pcm512x-hifi-0', 1 subdevices (1 available)
2 channels, sampling rate 8000..384000 Hz
Sample formats: S16_LE, S24_LE, S32_LE
Buffer size range from 8 to 131072
Period size range from 4 to 65536
Subdevice 0, name `subdevice #0'
pi@moode9:~ $
Most modern USB receivers for example XMOS only accept 32 bit word length. Linux/ALSA simply zero-pads lower bit depths to 32. This operation preserves the original bits and is completely transparent when the samples are processed by the audio device.