Raspberry Pi with Piano2.1 DAC DSP and Volumio2

^ That's unfortunate. I'll have to check that on volumio when I do some measurements on the standard firmware.

In the meantime you can try the firmware from post #91. It uses a less aggressive BW2 instead of LR4 for DAC#0. If your fronts have a sealed woofer it will match slopes much better to the subwoofer.

Tonight, I'll post a firmware pkg that is pass through for DAC#0 (no HP filter).
 
Last edited:
Firmware - DAC0 Front (L&R) pass thru, DAC1 sub LP LRx

@komerdoor - this is for your evaluation. You can always mix & match with other firmware in this thread.
 

Attachments

  • Piano Pinout 2.2-5.jpg
    Piano Pinout 2.2-5.jpg
    159.3 KB · Views: 434
  • DAC0 front pass through.jpg
    DAC0 front pass through.jpg
    271.5 KB · Views: 420
  • DAC1 sub LP LR2 LR4.jpg
    DAC1 sub LP LR2 LR4.jpg
    311.9 KB · Views: 419
  • TI PurePath Projs.zip
    141.1 KB · Views: 59
  • 2.2-5 firmware.zip
    144.2 KB · Views: 60
^ I just downloaded and tried 2.2-5 and it works fine via Volumio. It's unlikely that the amplifier shield is causing the problem. It's more likely a problem with the copy, or permissions, or "sticky" configurations.

I've put screenshots of the directory permissions and contents of the 2.2 directory after I copied the 2.2-5 firmware into it. Note the file sizes which are related to the firmware build.

With Volumio, 1) I copy the firmware files over to the 2.2 directory, 2) select the mode I want, 3) reboot the system. I can see from dmesg that the old configuration (sticky) is initially loaded then it's overwritten with the new configuration.
 

Attachments

  • firmware piano 2.2-5 listing.jpg
    firmware piano 2.2-5 listing.jpg
    141.4 KB · Views: 404
  • piano firmware permissions.jpg
    piano firmware permissions.jpg
    58.8 KB · Views: 403
^ I just downloaded and tried 2.2-5 and it works fine via Volumio. It's unlikely that the amplifier shield is causing the problem. It's more likely a problem with the copy, or permissions, or "sticky" configurations.

I've put screenshots of the directory permissions and contents of the 2.2 directory after I copied the 2.2-5 firmware into it. Note the file sizes which are related to the firmware build.

With Volumio, 1) I copy the firmware files over to the 2.2 directory, 2) select the mode I want, 3) reboot the system. I can see from dmesg that the old configuration (sticky) is initially loaded then it's overwritten with the new configuration.


Thank you. It works, but only if I set my MPD settings to the following:

audio_output_format "192000:32:2"


Instead of:

audio_output_format "384000:32:2"


Kernel log of firmware being loaded when I play a song using the 384000 setting in MPD:


Code:
[  134.775288] pcm512x 1-004c: Dsp Firmware File Name: allo/piano/2.2/allo-piano-dsp-192000-60-0.bin
[  134.987251] pcm512x 1-004d: Dsp Firmware File Name: allo/piano/2.2/allo-piano-dsp-192000-60-1.bin
 
Switched back to Dual-Stereo for now. No matter what I did I could not solve the issue with my sub (REL Quake II) sounding too flat (phase and placement are optimal). With Dual-Stereo and using the crossover on the sub itself it sounds much better. It is probably the kind of music I am listening to (Dub/Reggae, Ska, old R&B) where a punchy bass is very important (mids accentuated by the sub, which I could not achieve using 2.2/2.1 mode and increasing the XO freq somehow) and the non-optimal (square) room. May be DRC can solve some of it, but I have no way to generate + record a new frequency response sweep using my setup (speakers are directly connected to my Pi + Allo Volt, so I have to generate the sweep from the Pi and use my computer + ECM8000 to record it which I am not sure is possible with the usual tools?)
 
I wished I could update my previous comment instead of spamming an new one. I just removed the Allo Volt and am using my old NAD again so I can at least have multiple inputs (one from the Pi and one from my computer's external soundcard) to train the DRC using different setups (LR2/4, Sub Depth/Slam mode, no sub) with your custom firmware binaries. I also think the Allo Volt was a bit underpowered.
 
REW + UMIK on the RPI

I wanted to see if I could do measurements directly on the RPI using the Piano2.1 and the audio processing chain. This means temporarily attaching a monitor, keyboard, and mouse to do the install setup. I'll see later on if I can export the display and run it remotely.

Using a separate SD card, I loaded NOOBS 3.0 Download NOOBS for Raspberry Pi , booted and installed Raspbian full. There is s/w I don't need that can be removed (mathematica, scratch, etc) using [menu][preference][add/rem software] to free up space. An 8GB SD card is enough and I used 65% of it.

Then REW is installed from REW - Room EQ Wizard Room Acoustics Software by downloading the "Linux Installer" then you change the permissions of "/home/pi/download/REW_linux_5_19.sh" using "chmod 777" then run that script to install REW. The stock Raspbian Java worked fine and I did not need to install the Oracle version.

The Piano2.1 was not automatically detected. So enable the I2C interface using [menu][preference][rpi config] and in the "interfaces" tab enable I2C, remote GPIO, VNC, SSH then OK. To enable the Piano2.1 overlay edit "/boot/config.txt" to add the following, then reboot.
Code:
# /boot/config.txt
# additional lines to add overlay for piano
audio_pwm_mode=2
dtparam=i2c_arm=on
dtoverlay=allo-dac-plus-pcm512x-audio

Then make the piano2.1 controls visible using [menu][preference][audio device] and [select controls] and toggle on all 25 radio buttons or some subset you need. You will now see all the controls in Alsamixer and see the soundcard with "aplay -l".

Plug in the UMIK-1 mic and it installs no problem and will be recognized in alsamixer.

Launch REW and it will prompt for the UMIK cal file. Set the preferences to use the Piano2.1 and UMIK and make a measurement. Display screenshot pic below.
 

Attachments

  • REW + UMIK on Raspbian.jpg
    REW + UMIK on Raspbian.jpg
    107.2 KB · Views: 440
^ Yes , and as an example there is 2 way XO at post #76 Raspberry Pi with Piano2.1 DAC DSP and Volumio2 The example XO points are higher than you want because a tweeter was used instead of a full range.

In your case, I agree that the zobels (R3/C1, R5/C3) are not required and the attenuation is driver specific. Might be better to do the driver level match in the amps or simple L-pad. A firmware set has 15 xo points that could be spaced [300..1200] or 600Hz +/-octave. That would allow some flexibility during evaluation.
 
have you looked into Kali reclocker. it offers 44khz and 48khz support so if you use ths you will not be limiting to 48khz always.

All the DAC firmware I posted will work from 44.1K-192K that's why there are so many files. The RPI, Piano and Volumio can also work at those rates but some rates will have more clock jitter that the Kali removes. Volumio will load the correct DAC firmware based on the rate you select or autmatically based on what the music rate is. I have no plans to use the Kali.

I resample and fix at 48K to get lower jitter than other rates but more importantly because of BruteFir. I need to explicitly tell the convolver what rate to use and my convolution FIR filters are based on 48K. My music playback path is [mpd]->[Ecasound]->[BruteFir]->[Alsa + Piano2.1].
 
Last edited:
At least you got a reply...!!

This elitist support model from TI means I will never buy another TI product.

Thanks DonVK for your continued help and making firmware available.

You're welcome.

I initially assumed getting the TI PP would just be a self registered download :rolleyes:. It would make sense to encourage more people to use it and possibly generate demand. It took me a few months to get a license (see below). I think TI is afraid their support staff will be burdened.


Thanks Don
My request for purepath has been rejected with reason that my email id dont match or meet requirements. i will try it again.

I had the same problems and eventually used the contact email provided to tell them "I'm a hobbiest and I don't need any support, I just need a license"

I'll generate FAST / WAW firmware builds for both 1st and 2nd order systems and post them.
 
Last edited:
Piano Firmware 2.2-6 - FAST/WAW 2way using BW1

This replacement 2.2 firmware is for implementing FAST or WAW configurations where a woofer and a full range are used together. These XO points are higher than used for a subwoofer [60..200] but lower than used for a tweeter [1000-3000]. So This addition sets the XO at [200-1000] using a modest 1st order Butterworth (BW1).

The mapping between the Volumio menu and actual XO is:
Code:
- to select the XO point using Volumio mode 2.2 settings using this cross ref
		- mode2.2 sel -> XO freq
		- 60 -> 200 Hz
		- 70 -> 250 Hz
		- 80 -> 300 Hz
		- 90 -> 350 Hz
		- 100 -> 400 Hz
		- 110 -> 450 Hz
		- 120 -> 500 Hz
		- 130 -> 550 Hz
		- 140 -> 600 Hz
		- 150 -> 650 Hz
		- 160 -> 700 Hz
		- 170 -> 750 Hz
		- 180 -> 800 Hz
		- 190 -> 900 Hz
		- 200 -> 1000 Hz

The schematic, readme, projects files and the firmware (2.2-6) are listed below.
 

Attachments

  • DSCN3226 crop_text.jpg
    DSCN3226 crop_text.jpg
    203 KB · Views: 374
  • TI PurePath Left.jpg
    TI PurePath Left.jpg
    245.2 KB · Views: 365
  • TI PurePath Right.jpg
    TI PurePath Right.jpg
    244.4 KB · Views: 374
  • ReadMe + Project.zip
    255.9 KB · Views: 87
  • 2.2-6.zip
    152.4 KB · Views: 65