• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Introducing DSPi | A powerful, user friendly and open source DSP for less than a cup of coffee

Hey @Weeb Labs , thank you so much for your patience.

We tested the firmware (DSPi Firmware v1.1.3-beta4) with the new Windows console (DSPi-Console-Windows-1.1.3). When we routed SPDIF 2 instead of SPDIF 1 and changed the connection to GPIO 7, we were able to hear audio from the board. However, when we use SPDIF 1, which is connected to GPIO pin 6, the audio does not come through.

Is there anything we might be missing? Could you please help us with this?

Thank you so much.
 

Attachments

  • 1776064382170.png
    1776064382170.png
    37 KB · Views: 46
Hey @Weeb Labs , thank you so much for your patience.

We tested the firmware (DSPi Firmware v1.1.3-beta4) with the new Windows console (DSPi-Console-Windows-1.1.3). When we routed SPDIF 2 instead of SPDIF 1 and changed the connection to GPIO 7, we were able to hear audio from the board. However, when we use SPDIF 1, which is connected to GPIO pin 6, the audio does not come through.

Is there anything we might be missing? Could you please help us with this?

Thank you so much.
Just to confirm, this a Pico 1 (RP2040)?
 
So now with the latest Windows update I can finally try this out for real! ^^ Just had to do some soldering on these cheap PCM5102 boards, apparently some (mislabeled!) jumpers needed to be bridged before they could accept the I2S input.

Anyways, they seem to sound just fine and the software is mostly doing what it's supposed to be doing except for the loudness compensation that goes hard clipping on the master channel as soon as I enable it?
As I understand it it should be compensating upping the bass, but seeing that it does it by around 20dB which just clips everything I'm not sure if it does it correctly? Or should I compensate it by lowering the preamp by around the same amount? Looking at the loudness graph in that window it looks like it's supposed to lower the midrange/treble and not upping anything. Could the be clarified maybe? :)
Also what exactly is the reference SPL supposed to be calibrated against? Is this whatever SPL at 1kHz comes out from my speakers with the host volume set to max?
I've done some testing (without any actual SPL measuring) and no matter the reference SPL I cannot get it to have the FR to sound the same when I change the volume, instead I have to set it to 100dB and then lower the intensity to 30% to get it to sound more or less the same (a bit more upper bass muddy at lower volumes though) when I change the volume. Feels like this is the wrong way to do it? Though I guess if it works it works, I really do like having this which is one of the reasons why I want DSPi instead of my MiniDSP, but it would be nice to have it set up correctly instead of just guessing :)
1776079021580.png

Btw, the icon for the loudness compensation and the volume leveller seems to be flipped, so the loudness has a moon and leveler has just a normal speaker icon.
Would also be nice if we could somehow get the loudness compensation showing live in the filter response somehow.

Can we get a left/right channel linking option for at least the master EQ? I don't know how other people use the master, but I tend to do my final subjective curve there and that should be the same on both channels so linking would be nice.

The filters seem to have a comma showing no matter what, mostly cosmetic I guess but it shouldn't probably be like that. Would also be nice to be able to be in on field and then tab to the next one.
1776080930211.png


And lastly, when DSPiConsole is opened the window is quite small, filling just a small portion of my screen with everything cramped together in there. The loudness window does the same. Could these be at least twice as big, or at least have the size saved in a config somewhere? :)
1776081254230.png


Anyways, fun stuff to finally be able to play around with it myself and maybe contribute a bit for this awesome development :) Thank you Troy!
 
I used transmitter
So now with the latest Windows update I can finally try this out for real! ^^ Just had to do some soldering on these cheap PCM5102 boards, apparently some (mislabeled!) jumpers needed to be bridged before they could accept the I2S input.

Anyways, they seem to sound just fine and the software is mostly doing what it's supposed to be doing except for the loudness compensation that goes hard clipping on the master channel as soon as I enable it?
As I understand it it should be compensating upping the bass, but seeing that it does it by around 20dB which just clips everything I'm not sure if it does it correctly? Or should I compensate it by lowering the preamp by around the same amount? Looking at the loudness graph in that window it looks like it's supposed to lower the midrange/treble and not upping anything. Could the be clarified maybe? :)
Also what exactly is the reference SPL supposed to be calibrated against? Is this whatever SPL at 1kHz comes out from my speakers with the host volume set to max?
I've done some testing (without any actual SPL measuring) and no matter the reference SPL I cannot get it to have the FR to sound the same when I change the volume, instead I have to set it to 100dB and then lower the intensity to 30% to get it to sound more or less the same (a bit more upper bass muddy at lower volumes though) when I change the volume. Feels like this is the wrong way to do it? Though I guess if it works it works, I really do like having this which is one of the reasons why I want DSPi instead of my MiniDSP, but it would be nice to have it set up correctly instead of just guessing :)
View attachment 524354
Btw, the icon for the loudness compensation and the volume leveller seems to be flipped, so the loudness has a moon and leveler has just a normal speaker icon.
Would also be nice if we could somehow get the loudness compensation showing live in the filter response somehow.

Can we get a left/right channel linking option for at least the master EQ? I don't know how other people use the master, but I tend to do my final subjective curve there and that should be the same on both channels so linking would be nice.

The filters seem to have a comma showing no matter what, mostly cosmetic I guess but it shouldn't probably be like that. Would also be nice to be able to be in on field and then tab to the next one.
View attachment 524371

And lastly, when DSPiConsole is opened the window is quite small, filling just a small portion of my screen with everything cramped together in there. The loudness window does the same. Could these be at least twice as big, or at least have the size saved in a config somewhere? :)
View attachment 524372

Anyways, fun stuff to finally be able to play around with it myself and maybe contribute a bit for this awesome development :) Thank you Troy!

I used this one as it has no setting solder links.It only requires 3.3v and xmt link to unmute and can confirm it works with latest i2s patch. The model is listed as Dollatek PCM5102A
 

Attachments

  • Screenshot_20260413_134859_Amazon Shopping.jpg
    Screenshot_20260413_134859_Amazon Shopping.jpg
    131.3 KB · Views: 46
I used transmitter


I used this one as it has no setting solder links.It only requires 3.3v and xmt link to unmute and can confirm it works with latest i2s patch. The model is listed as Dollatek PCM5102A
I have three of these, so almost the same as yours, and those H*L labels on the backside are upside down on mine. I realized this after I had no sound and googling how to solder them with all the photos showing up looked 100% the same apart from those labels being upside down which makes the High and Low jumper on mine flipped. So I ignored my labels and soldered according to the photos instead. Took a while though to figure out how to get the solder to bridge properly, I'm not really an expert in this :P

They do sound good (ie as they should) though, pressing my ear against the speaker I hear no noise whatsoever while my MiniDSP 2x4HD have a slight hiss. So considering the price of ~3 EUR it really is a very good bang for the buck upgrade!

1776085585701.png
 
Thanks for the Windows version!

I installed it on a Pi-Hut ProtoMate board (for the normal Pi) and attached it instead of a Raspberry Pi into my Audiophonics Evo Sabre using the I2S output.

I haven't soldered in over 25 years, so the solder quality is sh*t, and I made a small mistake in resistor placement so the wires cross (resistors are on BCK and LRCK because I plan on adding a second small DAC for the subwoofer output), but everything seems to work perfectly!

...except that for some reason, my pinout configuration in the console is not saved. I haven't set up the filters yet, but I assume it will be the same there. Where is the DSPi configuration supposed to be saved? I can't seem to find any configuration file. On the Pico itself? If so, it does not seem to work for me. Any help would be appreciated.

EvoSabre.jpgProtoMate.jpg
 
Thanks for the Windows version!

I installed it on a Pi-Hut ProtoMate board (for the normal Pi) and attached it instead of a Raspberry Pi into my Audiophonics Evo Sabre using the I2S output.

I haven't soldered in over 25 years, so the solder quality is sh*t, and I made a small mistake in resistor placement so the wires cross (resistors are on BCK and LRCK because I plan on adding a second small DAC for the subwoofer output), but everything seems to work perfectly!

...except that for some reason, my pinout configuration in the console is not saved. I haven't set up the filters yet, but I assume it will be the same there. Where is the DSPi configuration supposed to be saved? I can't seem to find any configuration file. On the Pico itself? If so, it does not seem to work for me. Any help would be appreciated.

View attachment 524394View attachment 524395
Parameters are saved to presets. You can right-click the current preset to save, clear or rename. By default, pin assignments are not restored when loading presets but you can enable that behavior via the checkbox in Settings.
 
I just installed the new console. It works perfectly on my "office" machine. On the mini-PC in the bedroom it does not recognize the DSPi device. I have it plugged directly into the computer and the computer recognizes it as the default audio device. The one difference between the two boxes other than processor and misc. hardware is that Visual Studio is not installed on the mini-Pc. The .Net SDK is installed. The mini-PC has an N95 processor and is running Win 11 Home. It has 16 gig RAM and an ssd drive.
 
I just installed the new console. It works perfectly on my "office" machine. On the mini-PC in the bedroom it does not recognize the DSPi device. I have it plugged directly into the computer and the computer recognizes it as the default audio device. The one difference between the two boxes other than processor and misc. hardware is that Visual Studio is not installed on the mini-Pc. The .Net SDK is installed. The mini-PC has an N95 processor and is running Win 11 Home. It has 16 gig RAM and an ssd drive.
This is the mysterious WinUSB descriptor bug that has been present for quite some time. You will need to download the free Zadig utility , select “Weeb Labs DSPi (Interface 2)”, choose “libusb-win32” as the driver and then choose Install.

The device will then be detectable by DSPi Console.
 
Parameters are saved to presets. You can right-click the current preset to save, clear or rename. By default, pin assignments are not restored when loading presets but you can enable that behavior via the checkbox in Settings.
Thank you, Troy. Seems to work. Will keep you up to date if I encounter any problems.
 
This is the mysterious WinUSB descriptor bug that has been present for quite some time. You will need to download the free Zadig utility , select “Weeb Labs DSPi (Interface 2)”, choose “libusb-win32” as the driver and then choose Install.

The device will then be detectable by DSPi Console.
Thanks, I'd forgotten about the Zadig fix. I've used it before with SDR.
 
Been testing the I2S tonight and everything seems great. The subwoofer outputs from the PCM5102A are completely silent and distortion-free. I’ll be doing more testing throughout the week.
I also finally finished the enclosure build for my setup today. See below.

I’ve got two RCA outputs from the I2S DAC feeding two subwoofers (just one for now). There’s also a Toslink output going to my main DAC (DX5 II), which feeds my main speakers. On the input side, I’m using a Toslink input and will be using a switch that takes signals from a WiiM Mini, TV optical out, and a spare input for future use.
Now just waiting on SPDIF input and volume control/limiting.

Keep up the great work, Troy and thanks for the latest update.

20260413_180212.jpg
20260413_180228.jpg
20260413_180250.jpg

20260413_184853.jpg
 

Attachments

  • 20260413_181549.jpg
    20260413_181549.jpg
    163.9 KB · Views: 33
So now with the latest Windows update I can finally try this out for real! ^^ Just had to do some soldering on these cheap PCM5102 boards, apparently some (mislabeled!) jumpers needed to be bridged before they could accept the I2S input.

Anyways, they seem to sound just fine and the software is mostly doing what it's supposed to be doing except for the loudness compensation that goes hard clipping on the master channel as soon as I enable it?
As I understand it it should be compensating upping the bass, but seeing that it does it by around 20dB which just clips everything I'm not sure if it does it correctly? Or should I compensate it by lowering the preamp by around the same amount? Looking at the loudness graph in that window it looks like it's supposed to lower the midrange/treble and not upping anything. Could the be clarified maybe? :)
Also what exactly is the reference SPL supposed to be calibrated against? Is this whatever SPL at 1kHz comes out from my speakers with the host volume set to max?
I've done some testing (without any actual SPL measuring) and no matter the reference SPL I cannot get it to have the FR to sound the same when I change the volume, instead I have to set it to 100dB and then lower the intensity to 30% to get it to sound more or less the same (a bit more upper bass muddy at lower volumes though) when I change the volume. Feels like this is the wrong way to do it? Though I guess if it works it works, I really do like having this which is one of the reasons why I want DSPi instead of my MiniDSP, but it would be nice to have it set up correctly instead of just guessing :)
View attachment 524354
Btw, the icon for the loudness compensation and the volume leveller seems to be flipped, so the loudness has a moon and leveler has just a normal speaker icon.
Would also be nice if we could somehow get the loudness compensation showing live in the filter response somehow.

Can we get a left/right channel linking option for at least the master EQ? I don't know how other people use the master, but I tend to do my final subjective curve there and that should be the same on both channels so linking would be nice.

The filters seem to have a comma showing no matter what, mostly cosmetic I guess but it shouldn't probably be like that. Would also be nice to be able to be in on field and then tab to the next one.
View attachment 524371

And lastly, when DSPiConsole is opened the window is quite small, filling just a small portion of my screen with everything cramped together in there. The loudness window does the same. Could these be at least twice as big, or at least have the size saved in a config somewhere? :)
View attachment 524372

Anyways, fun stuff to finally be able to play around with it myself and maybe contribute a bit for this awesome development :) Thank you Troy!
Thank you for the feedback!

The loudness compensation requires a little bit of rework at the moment, as it is not yet mathematically correct and requires the user to play with the settings to find something pleasant. The reference SPL corresponds to the measured level of a 1KHz tone with host volume at 100%. At the moment, this is reached by adjusting the global preamp level but a master volume control will be introduced alongside SPDIF input in the next major release.

The loudness icon was intentionally changed to the moon. With the introduction of volume levelling, I have been attempting to assign more appropriate icons.

Linking for master channel filters is a great idea. I will add this to my notes for the next release. :)

The commas should not be present. This is a bug that I will address in a hotfix. Did you import those filters from a text file?

The window scale issue is a very strange one. I have not seen this either firsthand or reported before. Do you have a Windows display scale setting other than 100%?
 
I installed the latest updates. I'm still experiencing drop outs on windows PC. Today 3 underruns. Was it addressed in DSPi
 
The loudness compensation requires a little bit of rework at the moment, as it is not yet mathematically correct and requires the user to play with the settings to find something pleasant. The reference SPL corresponds to the measured level of a 1KHz tone with host volume at 100%. At the moment, this is reached by adjusting the global preamp level but a master volume control will be introduced alongside SPDIF input in the next major release.
Ah okey, then I'll let my loudness be as it is atm and wait for whenever you update it :)

The loudness icon was intentionally changed to the moon. With the introduction of volume levelling, I have been attempting to assign more appropriate icons.
I was thinking that a moon would fit better with the volume leveling since it's often at night that people want to use it. But I did actually first press the stats-icon first since that sort of looked like a loudness curve. Maybe do an icon with an actual loudness curve instead of a moon, or do someone else maybe have a better suggestion?

The commas should not be present. This is a bug that I will address in a hotfix. Did you import those filters from a text file?
Nope I did not import the filters, band 6 in the screengrab is a freshly added filter so that's how it looked.

The window scale issue is a very strange one. I have not seen this either firsthand or reported before. Do you have a Windows display scale setting other than 100%?
Yeah I'm running at 175% windows scaling. I did try opening it at different scaling and it seems that it's directly correlated with it looking just fine at 100%.
 
I installed the latest updates. I'm still experiencing drop outs on windows PC. Today 3 underruns. Was it addressed in DSPi
The feedback path has received quite a lot of attention and I now have a dual VM (Windows and macOS) testbed system dedicated to soak testing. As of this morning, the current firmware had been looping a playlist with an RP2350 on each VM for 148 hours (since it was started) without a dropout or underrun.

When you hear a dropout, does the underrun counter always increment? Do you hear a click, pop, brief silence or does it vary?
 
The feedback path has received quite a lot of attention and I now have a dual VM (Windows and macOS) testbed system dedicated to soak testing. As of this morning, the current firmware had been looping a playlist with an RP2350 on each VM for 148 hours (since it was started) without a dropout or underrun.

When you hear a dropout, does the underrun counter always increment? Do you hear a click, pop, brief silence or does it vary?
I haven't seen counter increment at dropout but I will look for this
It's always brief silence
It happens (and in sync) when I'm opening a window or hotmail message on the PC but also happens when I'm not opening anything
 
Last edited:
Back
Top Bottom