• 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

For hqplayer an additional ARM or PC сomputer is required, isn't it?


Yes, for hqplayer a quite powerful pc is needed at server side, while BBB can host NetworkaudioD client and output via I2S to the dac. This way, sound quality is even better than just using hqplayer server as usb player.
A bit similar to lms on a pc and squeezelite on a sbc/squeezebox, but hqp sound quality is much better: pc computing power is used to upsample and convert to dsd in a very accourate way that sigma-delta dac chips simply are not powerful enough to reach.

That's what i understand, i'm not a digital audio expert so i cannot explain better. But i have good ears and i can state that hqp sound quality is way above any other player i've heard - assuming your dac can play native dsd...
 
Last edited:
Best MPD player for BBB!

Yes, for hqplayer a quite powerful pc is needed at server side, while BBB can host NetworkaudioD client and output via I2S to the dac. This way, sound quality is even better than just using hqplayer server as usb player.
A bit similar to lms on a pc and squeezelite on a sbc/squeezebox, but hqp sound quality is much better: pc computing power is used to upsample and convert to dsd in a very accourate way that sigma-delta dac chips simply are not powerful enough to reach.

That's what i understand, i'm not a digital audio expert so i cannot explain better. But i have good ears and i can state that hqp sound quality is way above any other player i've heard - assuming your dac can play native dsd...
Thank you for your explanation! Unfortunately I am not interested in dsd-format at all!
 
Thank you for your explanation! Unfortunately I am not interested in dsd-format at all!

I'm not interested in dsd format, too. All the files i have in my library are pcm flacs. But dsd conversion is performed by hqp on the fly, starting from pcm files, and it's just a trick to obtain better reproduction by the vast majority of dacs. You just play normal pcm files as you ever did.
If you want, you can avoid dsd conversion in hqp and let it just oversample pcm files to higher resolution, but that way you loose the highest quality level hqp can deliver...
 
Newer version of gentooplayer for BBB available at Download - GentooPlayer
Now configuration via web interface is possible and user can choose between different ALSA versions. Various kernel options (including RT and botic ones) and players/servers available (more than one can be enabled at once), ramdisk support and more.
Stable, high performance and very good sounding! :up:

I tried this Gentoo Player last night. Wow, quite an improvement. Even my wife commented on it. I use the Roon Bridge formerly on Debian Jessie.
There are 14 Botic kernels to choose from. Do you know what the differences are? There is not much documentation.
 
I tried this Gentoo Player last night. Wow, quite an improvement. Even my wife commented on it. I use the Roon Bridge formerly on Debian Jessie.
There are 14 Botic kernels to choose from. Do you know what the differences are? There is not much documentation.


Sorry i'm just an user, not a developer. But you can ask the developer (Antonello Caroli) in this forum: GentooPlayer - Page 28 - Software - Audiophile Style
 
disabling plughw for Beaglebone black debian 10

This is due to the original botic kernel being massively outdated and I believe no cpufreq driver for BBB was implemented in mainline kernel back then.

Hi coroner21!
Please explain, how disable plughw?

arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
hw:CARD=Botic,DEV=0
Botic,
Direct hardware device without any conversions

plughw:CARD=Botic,DEV=0
Botic,
Hardware device with all software conversions
---------------------------------------------------------

Configuration file /etc/asound.conf not help
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
 
Last edited:
output to hw:0,0

plughw in ALSA is only active if you send some data source to it. If you do not want various controls being executed by ALSA, such as volume, EQ, etc., then send all your output to hw:0,0 - you can simply ignore plughw.
Thank you for your advise!
Yes I do not want various controls being executed by ALSA, such as volume, EQ, etc.
Please give me an example of the basic configuration (linux file) I need to set up to send all my output to hw:0,0 !? Unfortunately modifying mpd.conf not give me the necessary resalt!?
 
Last edited:
Now I have:

/proc/asound/cards

0 [Botic ]: Botic - Botic
Botic


arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
hw:CARD=Botic,DEV=0
Botic,
Direct hardware device without any conversions
plughw:CARD=Botic,DEV=0
Botic,
Hardware device with all software conversions


arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Botic [Botic], device 0: external botic-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0



Should I use in /etc/asound.conf belowmentioned settings?

pcm.!default {
type hw
card 0
device 0
}

ctl.!default {
type hw
card 0
device 0
}
 
Last edited:
Member
Joined 2007
Paid Member
Simply putting device "hw:0:0" into mpd.conf is all I ever had to do. But then I am using archlinux ARM so that might be different to debian.

This is my experience as well, and I use Debian. My mpd.conf file includes:
Code:
audio_output {
        type            "alsa"
        name            "J20"
        device          "hw:0,0"        # optional
        dsd_usb         "no"
        dsd_native      "yes"
        dsd_native_type "3"
        priority        "FIFO:32"
        mixer_type      "hardware"
        period_time     "1"
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

I have experience manipulating asound.conf in order to run various filters, mixers and channel alignments. *You are looking at 'arecord' sources.* These will have nothing to do with output from MPD or any other player software that the OS is running. You only need to address 'recording' ports if you want to *import* a PCM stream (for example, via external USB). Then ALSA will manage the synchronous PCM stream and make the stream available in the system. For player software (like MPD) running on the linux board, the only ALSA parameter that software needs are the available *play* ports and those you can list using 'aplay -L'. Each of the listed channels will be a working input channel into ALSA. One of the channels should be 'hw:xxxx,xxxx'. You can type out the words after the colon (the 'xxxx' in my example), or you can just use the numbers 0,0 if there is no need to further process the signal. The 'hw:0,0' sends the PCM out of the ALSA system.

If you have modified asound.conf and it is not working, try this for pcm.!default:
Code:
pcm.!default {
    type plug
    slave {
     pcm "hw:0,0"
     rate "unchanged"
    }
}

In general, manipulating ALSA takes patience and study of documentation that is not at all simple nor even complete. Good luck.
 
avoid various filters and mixers!

For player software (like MPD) running on the linux board, the only ALSA parameter that software needs are the available *play* ports and those you can list using 'aplay -L'. Each of the listed channels will be a working input channel into ALSA. One of the channels should be 'hw:xxxx,xxxx'. You can type out the words after the colon (the 'xxxx' in my example), or you can just use the numbers 0,0 if there is no need to further process the signal. The 'hw:0,0' sends the PCM out of the ALSA system.

I try to avoid various filters and mixers :confused: and really appreciated for your help francolargo!
Hier is my aplay -L
~$ aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
hw:CARD=Botic,DEV=0
Botic,
Direct hardware device without any conversions
plughw:CARD=Botic,DEV=0
Botic,
Hardware device with all software conversions
 
Hi coroner21,
could you provide the botic dts for debian 10 (trying to change mclk to half the frequency)?
Or is it the same/unchanged from Miero?


Which mclk frequencies you need? In general, the debian buster branch of my github repository does not use the dts to specify frequencies. Instead it is a module paramter to the snd-soc-botic module:


Code:
MODULE_PARM_DESC(clk_48k, "frequency of crystal for 48k modes");
MODULE_PARM_DESC(clk_44k1, "frequency of crystal for 44k1 modes");