• Disclaimer: This Vendor's Forum is a paid-for commercial area. Unlike the rest of diyAudio, the Vendor has complete control of what may or may not be posted in this forum. If you wish to discuss technical matters outside the bounds of what is permitted by the Vendor, please use the non-commercial areas of diyAudio to do so.

Support for Botic Linux driver

Got my BBB up and running with connected I2S ES9018K2M DAC board. Added the MCLK signal from a Amanero Combo384 board for fs=44k1 files,works great!

Some flac files give a tinny sound, somehow MPD uses a 16-bit sample format when it should not. Fixing MPD to output using a 32-bit sample format resolves that issue.

Sometimes there is a 'machine gun' sound when I skip to the next track? Anybody else seen this?

Now on to getting stereo DSD with my setup...[edit: got it working!]

Great work on the driver!
 
Last edited:
Thanks for the report.

This 'machine gun' kind of sound could be caused by improper buffer size (or it could be also some issue with data transfers). I'll try to fix this in the next version.

With the work-in-progress driver I hear similar (continuous) sound when playing 24bit output, however the 16bit and 32bit seems to be fine.
 
I have updated my MPD repo on github. Native DSD playback is now usable. A new config option has been added 'dsd_native' to enable DSD native support (see 'README-native-dsd').

Many thanks for this update. After downloading the new master.zip, I compiled the source without problems and confirmed the insertion of "dsd_native" line into the mpd.conf worked fine with my DSD sources (both 128 and 64). The sound quality is quite satisfactory as expected, though I could not find any difference with the last binary.

So far, so good. However, there is one problem. The new mpd-0.18.11-dsd with the recommended mpd.conf in README-native-DSD fails to play 44.1K flac or alac (apple lossless m4a), playing too much fast with "format: S16_LE" in hw_params.

Adding "format "44100:32:2"" into the audio_output section solved this problem with the hw_params changing to "format: S32_LE", with which playing 44.1K flac and m4a files went quite normal at last, thank you for this tweak.

Of course this addition on the other hand caused disabling DSD play and anomalous resampling of such a 96K file, as expected.

Anticipating further refinement. Thank you for your quick work.

twluke
 
Many thanks for this update. After downloading the new master.zip, I compiled the source without problems and confirmed the insertion of "dsd_native" line into the mpd.conf worked fine with my DSD sources (both 128 and 64). twluke
Thanks for testing. Out of interest, what kind of DAC board are you using?

So far, so good. However, there is one problem. The new mpd-0.18.11-dsd with the recommended mpd.conf in README-native-DSD fails to play 44.1K flac or alac (apple lossless m4a), playing too much fast with "format: S16_LE" in hw_params.

Adding "format "44100:32:2"" into the audio_output section solved this problem with the hw_params changing to "format: S32_LE", with which playing 44.1K flac and m4a files went quite normal at last, thank you for this tweak.
twluke
I have noticed problems with some FLAC files as well while testing I2S output on a Raspberry Pi and BBB. I'll have to investigate if this is a problem with MPD itself or caused by my latest changes.

BTW you do not have to fix the frequency to 44100, using "*:32:*" should also work.

On a 'normal' PC with USB soundcard (uses 32-bit sampleformat) this problem does not occur.
To be continued...
 
> Thanks for testing. Out of interest, what kind of DAC board are you using?

Well..., this is one of the TPA threads and I have to confess that I'm a loyal user to Buffalo III and IIISE. ;)

> BTW you do not have to fix the frequency to 44100, using "*:32:*" should also work.

Thanks for this instruction. It worked well.

> To be continued...

I hope so, thank you!
 
Hi meiro, I'm following the Botic development with interest and really appreciate your considerable input as I'm sure it'll make the difference between a good solution and an excellent solution; personally I think you deserve more than a simple thank you.

Anyway, with my limited knowledge of these matters I'm unclear about how the overall solution will operate, such as how will we control what is playing over the network, noting that you are working outside of solutions such as Volumio and RuneAudio; can I check my understanding and ask some questions;

I believe you're working on the driver software element, which will provide the means of interfacing with and controlling the Botic hardware and not a complete music playing solution that will sit on Debian on the BBB.

Is the aim to to use the 'native' Linux music player (ALSA) or will it be necessary to use one embedded in the driver?

The primary reason for my questioning is because I would like to continue to use my current UPnP/DLNA solution, which is working well with a RPi (Raspbian) and HiFiBerry DAC (as well as controlling music on my Denon home cinema amp). I use GMediaRenderer and I know it is packaged for Debian; here are the links to the pages I used for setting it up on the RPi;

Playing music on a Raspberry Pi using UPnP and DLNA (revisited) | Stephen C Phillips

Playing music on a Raspberry Pi using UPnP and DLNA (v3) | Stephen C Phillips

Apologies for the distraction but not all of us are as gifted as yourself.

Cheers

Ray
 
Hi nautibuoy,

There is no player embedded in the driver, just regular ALSA sound driver. Thus it should be compatible also with your current solution :)

the support for "Botic" can be added to most of current distributions for BBB by installing these 3 components:
- kernel binary
- kernel modules (plugins)
- dtb file (hardware configuration file)

But in the botic1 version there is SD card image with all these preinstalled. Reason is to have common environment which allows easier troubleshooting.
 
Which pins are used for the other data lines in multichannel audio?


Sent from my iPhone using Tapatalk
Code:
P9_30 - D12/0 - mcasp0_axr0 (data0) - SPI1_D1
P9_41 - D13/0 - mcasp0_axr1 (data1) - GPIO3_20 shared pin with D14
P9_28 - C12/2 - mcasp0_axr2 (data2) - SPI1_CS0 shared with HDMI audio output
P9_27 - C13/2 - mcasp0_axr3 (data3) - GPIO3_19
From: http://bbb.ieero.com/