Moode Forum

Full Version: Bitstream error instead 16/44.1PCM I gopt 384khz DSD
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
I'm new to this forum. And also to Moode Audio.

I attach RPi via I2S DAC from Aliexpress "Sky Song" on ES9038 from "Lusya" version 1.07 or later:
https://www.aliexpress.com%2Fitem%2F32950289780.html&psig=AOvVaw2qak-IG2zNCI7HOgv0fVhy&ust=1581357691647000&source=images&cd=vfe&ved=0CAMQjB1qFwoTCLDBzbKGxecCFQAAAAAdAAAAABAD

I have very strange behavior during playback from NAS. If I play FLAC's with 24/88, 24/96, 24/192 everything is perfect, but when I try normal CD rip 16/44.1 my DAC is turning into DSD mode 384kHz. Noise is awful like in old analog radio when you lost signal. You can hear a music in a background but veeeerryyy silently.

Does anyone have such issue. I tried all drivers for ESS Sabre and I got exactly same result. Others drivers (not ESS) didn't work at all.

How to prevent RPi from sending DSD 384kHz signal ???
Post output from the command below while playing 16/44.1 file.

Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4410
buffer_size: 22050


internet radio works perfectly and got this:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4410
buffer_size: 22050

HD files also perfect:
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 88200 (88200/1)
period_size: 11025
buffer_size: 44100

it seems that S16_LE has a problem... no matter NAS or Internet Radio.
The output shows correct 16/44.1 PCM being sent by Linux/ALSA to the audio device.

Code:
access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4410
buffer_size: 22050

Maybe try contacting the manufacturer of the audio device.
I made partly solution. I turned oversampling to 24bits and now it works at first earsight well with every file no matter 44.1, 88.2, 96 or 192
Nice :-) The DAC probably only accepts 24 or 32-bit word length.
(02-10-2020, 08:12 PM)Tim Curtis Wrote: [ -> ]Nice :-) The DAC probably only accepts 24 or 32-bit word length.

Not sure on optical input 16/48 Worked fine Wink 

Maybe some Chinese engineer made a mistake in writing config for I2S Big Grin

Extra question. On 24/192 seems like RPi loose transfer. What cache value should I set ?
It depends on which interface for example my Katana DAC which uses I2S interface only supports 16 and 32-bit word length.

Code:
pi@rp3:~ $ alsacap
*** Scanning for playback devices ***
Card 0, ID `Katana', name `Allo Katana'
 Device 0, ID `bcm2835-i2s-allo-katana-codec allo-katana-codec.1-0030-0', name `bcm2835-i2s-allo-katana-codec allo-katana-codec.1-0030-0', 1 subdevices (1 available)
   2 channels, sampling rate 44100..384000 Hz
   Sample formats: S16_LE, S32_LE
   Buffer size range from 64 to 131072
   Period size range from 32 to 65536

     Subdevice 0, name `subdevice #0'
pi@rp3:~ $

Some high speed USB chipsets only accept 32-bit word length.

The symptom "On 24/192 seems like RPi loose transfer." suggests a hardware issue with the audio device or the interface, or maybe a bottleneck upstream of the Pi for example the NAS.

-Tim
[quote pid='16481' dateline='1581369558']

Code:
pi@rp3:~ $ alsacap
*** Scanning for playback devices ***
Card 0, ID `Katana', name `Allo Katana'
 Device 0, ID `bcm2835-i2s-allo-katana-codec allo-katana-codec.1-0030-0', name `bcm2835-i2s-allo-katana-codec allo-katana-codec.1-0030-0', 1 subdevices (1 available)
   2 channels, sampling rate 44100..384000 Hz
   Sample formats: S16_LE, S32_LE
   Buffer size range from 64 to 131072
   Period size range from 32 to 65536

     Subdevice 0, name `subdevice #0'
pi@rp3:~ $
How should I login on RPi to get this alsacap report ?
Logged as "pi" I don't get such command ...



[/quote]
moOde 6.4.1 uses the also-capabilities program but it apparently has a bug that prevents it from detecting formats for USB Audio devices so I switched to the alsacap program for upcoming moOde 6.4.2. It has to be compiled from scratch but if u want to test it out u can download the binary from the develop branch of moOde source repo.

Code:
wget https://github.com/moode-player/moode/raw/2b174b1b857a11185fbab3b52e3f5219e75a7767/other/alsacap/alsacap

sudo cp ./alsacap /usr/local/bin
sudo chmod 0755 /usr/local/bin/alsacap

Edit to add: missing wget