• These commercial threads are for private transactions. diyAudio.com provides these forums for the convenience of our members, but makes no warranty nor assumes any responsibility. We do not vet any members, use of this facility is at your own risk. Customers can post any issues in those threads as long as it is done in a civil manner. All diyAudio rules about conduct apply and will be enforced.

New FIFO buffer for RPI/SBCs

By enabling the optimum clock topology for a DAC chip.

//

You think about a MCLK uf-l inputt on the Kali II which will slave the flip/flop outputt after the Fifo Buffer to minimize the jitter even more ? (while using a more performant MasterClock than the NDKs provided ?) Or maybe just an MCLK inputt for the flip/flop and an isolator chip between it and the FGPA outputt ?

Sorry for my poor understanding !
 
Last edited:
I just fixed it :) By using -C 0 parameter in squeezelite instead of the default (in picoreplayer) of -C 15.
Now all cracks are gone :) This software silence generation option obsoletes the need for a hardware DAC mute signal :)

Please can you provide a screenshot where you configured that C -15 setting is squeezelite (picoreplayer)

Thanks in advance!

Alex
 
Jerms. You were quite close. :D

I've got the funny feeling, I'm finally getting there.

What you need to do is

1.
Download all firmware files from Allo git and copy them to the right spot (that spot is hardcoded into the driver. No way to change it!):

Code:
cd /tmp
git clone [url]https://github.com/allocom/piano-firmware.git[/url]
mv ./piano-firmware/lib/firmware/allo /lib/firmware
rm -rf ./piano-firmware


2.
Only then, u can select wihin Alsamixer under a visible label called "Subwoofer" = Subwoofer Mode ??? the modes "2.0" "2.1" "2.2"
Default mode is "2.0".

Beside that you can select the "subwoofer level" and crossover frequency.
I don't know yet how this works with HW volume control of both DAC chips. I'd assume that that control just controls the subwoofer DSP filter output level.
And I'm not sure if the control called "digital" controls "both" digital VCs that come after the DSP part of the DACs.

The crossover frequencies are "hardcoded" into the driver btw - to be able to show them in Alsamixer!
The driver then just looks for a matching filename (including that frequency). That's how I understand the process.

3.
When it comes to enabling the Piano DAC PLUS - also known as PIANO DAC2.1 - driver the file /boot/config.txt requires this entry:

Code:
dtoverlay=allo-piano-dac-plus-pcm512x-audio

If you also run the Kali - to use the Kali masterclock and not
just the mediocre DAC PLLs you enter:

Code:
dtoverlay=allo-piano-dac-plus-pcm512x-audio,glb_mclk

(Hmmh. BTW. Did you notice the "pcm512x" ? Aren't we running a 5142 DAC? - Ok,Ok. Just cosmetics. )

So far so good.

What's still missing is the "dual mono - single channel" and if possible at all "dual-mono - double channel" firmware.
cdsgames - I hope you're willing to provide us with a set of files. You could also make use of them if you'd ever consider to come
up with a dual-mono Boss. ;)
Probably there's more interest out there to run dual-mono, then running these very limited subwoofer/crossover mode/functions.

Ah. Just to mention it. The DSP usage is limited to 192kHz. Using 384kHz to bypass the DAC filters will probably only work in 2.0 mode.


A final comment:
I'd strongly advise Allo to revise the docs and the IMO inconsistent terminologies used all over the place.


Thx.
 
Last edited:
did you all try the max2play software with squeezelite with kali??
i saying this because i am experimenting a lot with the software and yesterday i test picoreplayer 3.20, runeaudio last beta 0.4 beta and beta max2play and max2play sound better...
picoreplayer and max2play with squeezelite with the same comand line options.
and runeaudio is mdp. there is a big difference in sound between mpd and squeezelite.
but i´m using hifiberry digi+ pro.
could you test with kali to see if you note those differences??
 
One more:

Within the filter/firmware production doc you'll find below note:

NOTE: In <file>.bin, file name must be as follows
allo-piano-dsp-<sampling rate>-<cut-off-frequency>-<sub-woofer>.bin
sampling rate: 44100, 48000, 88200, 96000, 176400 or 192000
cut-off-frequency: 60, 70, …. 190 or 200
sub-woofer: 1 for subwoofer & 0 for audio-speakers.

If I now generate a "custom" firmware file I'd need to call it e.g. ...60...
for 60Hz for 60Hz cutoff. Even if there'd be e.g. just one channel muted inside that
firmware.
Hmmh. That suggested process would look like a dirty hack to me!


I'd suggest to introduce at least a ...0... variant to the driver&firmeware that can be used as "custom" DSP filter option.

*****

Just to get back to terminology:

I guess in above "sub-woofer:" line you mean:

"0" for firmware of DAC1 and "1" for the firmware of DAC2.
Your provided firmware samples come with
"LowCut/HighPass" for DAC1 "0" (midrange/tweeter)
HighCut/LowPass" for DAC2 "1" (subwoofer)

Correct?

*****


Cheers
 
Last edited:
did you all try the max2play software with squeezelite with kali??
i saying this because i am experimenting a lot with the software and yesterday i test picoreplayer 3.20, runeaudio last beta 0.4 beta and beta max2play and max2play sound better...
picoreplayer and max2play with squeezelite with the same comand line options.
and runeaudio is mdp. there is a big difference in sound between mpd and squeezelite.
but i´m using hifiberry digi+ pro.
could you test with kali to see if you note those differences??

Hi pistollero,

What kind of Max2Play image did you install? The Allo.com image?
Or another beta image? Can you post link please?

I have Kali reclocker too, and using Picoreplayer 3.20, would like to compare and report back!

Thanks in advance,
Regards,
Alex
 
Hi pistollero,

What kind of Max2Play image did you install? The Allo.com image?
Or another beta image? Can you post link please?

I have Kali reclocker too, and using Picoreplayer 3.20, would like to compare and report back!

Thanks in advance,
Regards,
Alex

installed the hifiberry image and update for the last beta.
i think kali worked with the hifiberry dac driver(i don´t have the kali anymore and i´m waiting for the next version)
 
installed the hifiberry image and update for the last beta.
i think kali worked with the hifiberry dac driver(i don´t have the kali anymore and i´m waiting for the next version)

ok, that's clear to me.
Does Max2Play also has an Android App to control?
I don't like webinterfaces, have iPeng on iPad for squeezebox, and Squeeze Commander on Android. Do they also work with Max2Play?

Is it possible to connect Max2Play to other squeezelite server, and use Max2Play as a client, or does it only work as combined server-client solution, running on RPI?
 
As a general note, if I were you I'd make sure that in all cases your I2S signal output is at 24 or 32 bits.. I've found that at least in case of my 9018 DAC it makes an audible difference.

yes i tested that too...
in this case you could choose in alsa parameters:

audioplayer tab:
alsa parameter: 80:4::0 (this is always 32bit)
alsa parameter: 80:4:16:0 (this is always 16bit)
alsa parameter: 80:4:24:0 (this is always 24bit)
alsa parameter: 80:4:24_3:0 (this is always 24bit)
alsa parameter: 80:4:32:0 (this is always 32bit)

if you run on console the command:
cat /proc/asound/card*/pcm*p/sub*/hw_params

you will get something like this and see what is happening:
cat /proc/asound/card*/pcm*p/sub*/hw_params

access: RW_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4096
buffer_size: 16384

the thing is we should open a tread about the audioplayers because from what i´m listening in my system is very complicated listening to dacs and they output stages when the problem is on the digital feeding of the dacs...
so many softwares claiming bit perfect but they all sound different and to complicate more things the parameters of each one will sound even different.
so i ´m starting to believe the major problem is not on the dacs but the way digital signal gets to the dac.

you can do a simple test and enable and disable the mmap on squeezelite parameters ans listen to the difference:

by default it comes with mmap active parameter: 80:4::1
with mmap disabled parameter: 80:4::0

to complicate more try to instead 80:4::0 ---- 40:4::0

and then the internal buffers and so on....
the all sound different...
 
Last edited:
ok, that's clear to me.
Does Max2Play also has an Android App to control?
I don't like webinterfaces, have iPeng on iPad for squeezebox, and Squeeze Commander on Android. Do they also work with Max2Play?

Is it possible to connect Max2Play to other squeezelite server, and use Max2Play as a client, or does it only work as combined server-client solution, running on RPI?

i use android orange squeeze...to control on tablet
the server on the pc and the squeezelite on raspberry pi.
 
So, you have LMS7.9 and use this as server, on pc.
Not using Max2Play as squeeze server?

Thanks and regards!
Alex

i have the LMS7.7.5 on the pc.
if you are reading flac instead of wav files you could go the setting>files types on lms setting and configure flac to pcm and in this way you decode flac to pcm on the server and send pcm as if it was a wav native file.
and check on file types if wav is native or if is decouding to flac because i think
from default lms has wav to flac and not wav native as it shoud be.
another thing that make difference in sound reproduction.

regards