All,
After having spent several days trying to make working a Volumio 2.0 with my AudioGD NFB28 DAC connected in I2S to Raspberry3, I decided to try Runaudio distribution.
I finally found the right procedure, so after having read in forums so many user having experienced same troubles, I just wanted to summarize procedure here.
All this would not have been possible without this forum, so before to start I'd like to release great thanks to Frank for the quality of his support in this forum
Installation Description:
- Hardware connection DAC to Rpi3: GPIO 18-21 4 wires GND,LRCLOCK, DATA, BITCLOCK
- Standard Runaudio installation (network, NAS, MPD library update ....) validated with Audio streams on Audio jack = OK
- dtoverlay=hifiberry-dac added onto /boot/config.txt file
Issue Description:
- Files encoded under 16Bits won't plays properly, File played but surrounded by an horrible noise and played on right channel only.
- Files greater than 16 bits like for instance webradios in 24bits plays perfectly.
Root Cause:
- NFB28 uses ES9018 DAC and requires 32 bits Frames Left justified for each Channel.
- Hifiberry-dac default drivers generates 16 bits frames for file encoded under 16 bits and 32 bits frames if encoded file is > 16 bits.
How to force Hifiberry-dac driver to generate 32 bits frames:
- Edit the file "/srv/http/db/redis_acards_details" and add "card_option":"format\t\"*:24:*\"" to hifiberry DAC input changing
from
$redis->hSet('acards_details', 'snd_rpi_hifiberry_dac', '{"sysname":"snd_rpi_hifiberry_dac","extlabel":"HiFiBerry DAC (I²S)","hwplatformid":"01","type":"i2s"}');
to
$redis->hSet('acards_details', 'snd_rpi_hifiberry_dac', '{"sysname":"snd_rpi_hifiberry_dac","extlabel":"HiFiBerry DAC (I²S)","card_option":"format\t\"*:24:*\"","hwplatformid":"01","type":"i2s"}');
- execute the following 2 commands to re-initialize the Audio Card database
redis-cli del acards
php /srv/http/db/redis_acards_details
- reboot
Than like me all your 16bits file should play
Thanks again Frank