• 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

I'd be OK choosing the DACs based on what works well with the host.

How best to go from analog preamp:

analog RCA ==> ESP32 host

then

ESP32 as USB host just as AD signal converter

2ch per board ?

then into ==> DSPi as USB device

is straightforward?

from DSPi output should be DAC ==> analog (power amp)

You also need a UAC1 and/or UAC2 host driver depending on which DAC you want to connect it to.
...
device quirks where they don't quite follow the standard and need a workaround - there are quite a lot of these in the linux UAC2 source.
 
I have just released DSPi Firmware v1.1.3 Beta 4. This release enables support for 96KHz input up to 24-bit and fixes the I2S/SPDIF output switching. All I2S outputs are now correctly clock aligned regardless of the order in which they were enabled. This eliminates the distorted output which previously resulted from a very slight initial clock misalignment. :)

@Lastafahrer: I encourage you to give this release a try. It was tricky to debug without the ability to actually listen to the output but measurements of all I2S data outputs indicate correct alignment regardless of selection order. Channel packing order has also been corrected, so left and right channels are no longer reversed.

There may be some slight instability when continuously switching output types. This will be corrected shortly but I need to work from the top down.

PSA: It occurs to me that if you have an I2S DAC connected to a given data output, it is essential always to mute your amplifier prior to switching that output to SPDIF. Otherwise, you will most likely be greeted with noise at full scale. This is unavoidable, as SPDIF data is completely unintelligible to an I2S DAC. I may implement an optional warning and confirmation prompt in DSPi Console for this purpose.

@Luffy: If you take a look at the output overhaul branch on the repository, you will see the recent commits that I pushed to fix 96KHz at 24-bit. These may be helpful to you.
 
Last edited:
OK, just updated firmware and MacOS console app, but now I can't get the other outputs to display on the main UI. Previously, it did show the Sub, and I'm trying to get it to show the I2S out, but no dice. What am I doing wrong?

1775620120981.png
 
OK, just updated firmware and MacOS console app, but now I can't get the other outputs to display on the main UI. Previously, it did show the Sub, and I'm trying to get it to show the I2S out, but no dice. What am I doing wrong?

View attachment 523049
You will need to enable and route the desired outputs in Matrix Mixer.
 
I have just released DSPi Firmware v1.1.3 Beta 4. This release enables support for 96KHz input up to 24-bit and fixes the I2S/SPDIF output switching. All I2S outputs are now correctly clock aligned regardless of the order in which they were enabled. This eliminates the distorted output which previously resulted from a very slight initial clock misalignment. :)

@Lastafahrer: I encourage you to give this release a try. It was tricky to debug without the ability to actually listen to the output but measurements of all I2S data outputs indicate correct alignment regardless of selection order. Channel packing order has also been corrected, so left and right channels are no longer reversed.

There may be some slight instability when continuously switching output types. This will be corrected shortly but I need to work from the top down.

PSA: It occurs to me that if you have an I2S DAC connected to a given data output, it is essential always to mute your amplifier prior to switching that output to SPDIF. Otherwise, you will most likely be greeted with noise at full scale. This is unavoidable, as SPDIF data is completely unintelligible to an I2S DAC. I may implement an optional warning and confirmation prompt in DSPi Console for this purpose.

@Luffy: If you take a look at the output overhaul branch on the repository, you will see the recent commits that I pushed to fix 96KHz at 24-bit. These may be helpful to you.
Thank you, @Weeb Labs! I’m very excited to work on that.
 
Would there be any issue building a custom firmware image and adding configuration for DAC/ADC/codec via I2C? For example using GPIO0/GPIO1 as SDA/SCL.
 
hey @Weeb Labs :)
We tried the latest DSPi Firmware v1.1.3 Beta 4. with the latest console release DSPi Console v1.1.2b.
Hardware connections: we connected the output to gpi number -6.
Signal is reflecting in the console but we are not able to hear the audio from our speakers.
Is there any specific hardware connections we need to take care off, for it to function.
Please help us out.
Thank You
 

Attachments

  • Screenshot 2026-04-08 121820.jpg
    Screenshot 2026-04-08 121820.jpg
    83 KB · Views: 32
hey @Weeb Labs :)
We tried the latest DSPi Firmware v1.1.3 Beta 4. with the latest console release DSPi Console v1.1.2b.
Hardware connections: we connected the output to gpi number -6.
Signal is reflecting in the console but we are not able to hear the audio from our speakers.
Is there any specific hardware connections we need to take care off, for it to function.
Please help us out.
Thank You
Could you please describe your hardware configuration? What exactly is connected to GPIO 6?
 
I'd be OK choosing the DACs based on what works well with the host.

How best to go from analog preamp:

analog RCA ==> ESP32 host

then

ESP32 as USB host just as AD signal converter

2ch per board ?

then into ==> DSPi as USB device

is straightforward?

from DSPi output should be DAC ==> analog (power amp)
Since you don't write code (post #1212) have patience and wait for the planned spdif input support in DSPi. Then you'll be able to use the PocketADC to get 2 analog channels directly into the DSPi. For the ESP32, unless you can find an existing project that does exactly what you want, you'll have to write the code yourself (or try getting an AI to do it for you.)
 
I have just released DSPi Firmware v1.1.3 Beta 4. This release enables support for 96KHz input up to 24-bit and fixes the I2S/SPDIF output switching. All I2S outputs are now correctly clock aligned regardless of the order in which they were enabled. This eliminates the distorted output which previously resulted from a very slight initial clock misalignment. :)

@Lastafahrer: I encourage you to give this release a try. It was tricky to debug without the ability to actually listen to the output but measurements of all I2S data outputs indicate correct alignment regardless of selection order. Channel packing order has also been corrected, so left and right channels are no longer reversed.

There may be some slight instability when continuously switching output types. This will be corrected shortly but I need to work from the top down.

PSA: It occurs to me that if you have an I2S DAC connected to a given data output, it is essential always to mute your amplifier prior to switching that output to SPDIF. Otherwise, you will most likely be greeted with noise at full scale. This is unavoidable, as SPDIF data is completely unintelligible to an I2S DAC. I may implement an optional warning and confirmation prompt in DSPi Console for this purpose.

@Luffy: If you take a look at the output overhaul branch on the repository, you will see the recent commits that I pushed to fix 96KHz at 24-bit. These may be helpful to you.
Thank you for the huge amount of effort and TLC you put into this project. More coffee is on the way!
 
For the ESP32, unless you can find an existing project that does exactly what you want
Looks like even S2/S3 do not support USB Audio output at all even in device mode, much less as USB host :-(

It seems in order to play with DSPi one needs to use full-fledged computers like rPi, PC, Wiim Ultra. All of which (can) already do (some) convolving already.

So S/PDIF input will indeed be a major game change
 
hey @Weeb Labs ,we have attached the hardware connections: gpio 6 is going to the capacitor. View attachment 523077
hey @Weeb Labs ,we have attached the hardware connections: gpio 6 is going to the capacitor. View attachment 523077
Hey @Weeb Labs

Thank you so much for your kind replies they helped us a lot.
We tried your new framework DSPi Firmware v1.1.3 Beta 4 with the latest console DSPi Console v1.1.2b, and we also updated the hardware connections.
However, we are still facing the same issue the audio is not passing through the speaker, but the signal is being reflected in the console.

We suspect there might be a problem with our hardware connections, and we will look into it further.
honestly the GUI looks much more organized and attractive than the older versions :)


Thank you again :)
 
Hey @Weeb Labs

Thank you so much for your kind replies they helped us a lot.
We tried your new framework DSPi Firmware v1.1.3 Beta 4 with the latest console DSPi Console v1.1.2b, and we also updated the hardware connections.
However, we are still facing the same issue the audio is not passing through the speaker, but the signal is being reflected in the console.

We suspect there might be a problem with our hardware connections, and we will look into it further.
honestly the GUI looks much more organized and attractive than the older versions :)


Thank you again :)
It does sound as though there might be a problem with a connection somewhere. What is connected to the other end of your RCA cable?
 
It does sound as though there might be a problem with a connection somewhere. What is connected to the other end of your RCA cable?
RCA other end is connected to the DAC input_---> Then we are taking ouput from the dac(L AND R) to the amplifier.
1775668482233.png
 
Hi Troy,

I think you'll need to rethink how you enter the delay and gain values, at least for the outputs. Sliders, while they look nice, aren't really suited to this task. Especially since it's easy to accidentally click them and unintentionally change the values. It needs to be less risky, something more "fixed" like clicking on it, opening a small window, entering the value, or something similar.
Also, in the latest version of the Windows console:
- when working in tenths of a nanosecond (ex. : 0.0257ms), the delay value is no longer readable.
- there's a bug when trying to enter the gain value manually.
 
Hi Troy,

I think you'll need to rethink how you enter the delay and gain values, at least for the outputs. Sliders, while they look nice, aren't really suited to this task. Especially since it's easy to accidentally click them and unintentionally change the values. It needs to be less risky, something more "fixed" like clicking on it, opening a small window, entering the value, or something similar.
Also, in the latest version of the Windows console:
- when working in tenths of a nanosecond (ex. : 0.0257ms), the delay value is no longer readable.
- there's a bug when trying to enter the gain value manually.
Is there any practical reason that you need delay values of such high-precision? Human ears can not register delays lower than 0.5ms. For alining speaker phase delays less than 0.01ms are definitely not audible. Two decimal places are more than enough (and that should probably be fixed in ui)
 
Congratulations, excellent and admirable work. I've been a user of Minidsp DDRC-24 and 2x4 HD for several years, and I use a dedicated SHD in my main room. Your DSPi Console is much more user-friendly, functional, visually appealing, and modern than any I've seen before. I eagerly await the DSPi Console (Windows) update so I can try the I2S DAC board with PMC5102, similar to the three you've purchased. We all ask for things here; I don't know how you'll manage to satisfy everyone!!!! In my case, I'd like the option to increase the number of filters to more than 10 so I can adjust two subwoofers with Multi Sub Optimizer. Thank you for your dedication and attention to all forum members. Please excuse my English; it's not my native language.
 
Back
Top Bottom