Thank you for your donation!


Problem: Bitstream error instead 16/44.1PCM I gopt 384khz DSD
#1
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 ???
Reply
#2
Post output from the command below while playing 16/44.1 file.

Code:
cat /proc/asound/card0/pcm0p/sub0/hw_params
Reply
#3
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.
Reply
#4
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.
Reply
#5
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
Reply
#6
Nice :-) The DAC probably only accepts 24 or 32-bit word length.
Reply
#7
(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 ?
Reply
#8
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
Reply
#9
[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]
Reply
#10
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
Reply


Forum Jump: