• 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

30 minutes of drilling, shaping, soldering and gluing on a Sunday afternoon. Working perfectly! What a fun project.

IMG_5951.jpeg
 
Is there a way to copy filters from left to right? Import still has problems with decimal numbers.
That's an excellent idea! I will implement this function shortly and deal with the import issue.
 
A small request, if I may. If there's no input signal for 5 seconds or so, the output(s) should be turned off, so that auto-switching DACs will know there's no music on the input from this DSP. Perhaps a user-defined timeout of 5-30 seconds.
 
A small request, if I may. If there's no input signal for 5 seconds or so, the output(s) should be turned off, so that auto-switching DACs will know there's no music on the input from this DSP. Perhaps a user-defined timeout of 5-30 seconds.
Yes, I will put this on this list.

As requested earlier, I have implemented an internal clipboard and a context menu that enables channel parameters to be copied and pasted. The previous right-click to rename functionality remains accessible via alt-click.

1773615303605.png
 
A small update to the macOS version which will soon be carried over to Windows. We now have icons directly within the sidebar for essential functions.

Settings, Matrix Mixer, Loudness Compensation, Crossfeed and Stats for Nerbs. For compensation and crossfeed, left-clicking toggles them and right-clicking opens their configuration windows.

I may end up removing the global preamp slider, as it is distinct from device volume control and is a parameter that should always be adjusted with precision.

1773621504058.png
 
I still don't see any I2S outputs in Windows. What do I need for that, or is it coming later? :(

AFAIK is on the roadmap. Which should be a couple of weeks since @Weeb Labs is so fast at implementing new stuff :) maybe we could help sending him some DAC hats too.
 
I may end up removing the global preamp slider, as it is distinct from device volume control and is a parameter that should always be adjusted with precision.

By "device control volume," which device are you referring to?

Because if you're talking about devices that connect to the DSP outputs, well, imagine my situation with three DACs without volume control and three amplifiers without volume control either... so, you see the problem? Therefore, in this case, the volume control function at the DSP level is essential because that's where the overall volume of the entire chain is controlled! So no, we need the ability to use the DSP as a preamp.
 
AFAIK is on the roadmap. Which should be a couple of weeks since @Weeb Labs is so fast at implementing new stuff :) maybe we could help sending him some DAC hats too.
I2S output is quite a high priority at the moment but before it is implemented, it is critical that the existing feedback and buffer management is as bulletproof as possible. One never has to deal with tech debt that is never created. :)

Hardware contributions are always greatly appreciated! I have a limited set of components for testing at the moment.
 
By "device control volume," which device are you referring to?

Because if you're talking about devices that connect to the DSP outputs, well, imagine my situation with three DACs without volume control and three amplifiers without volume control either... so, you see the problem? Therefore, in this case, the volume control function at the DSP level is essential because that's where the overall volume of the entire chain is controlled! So no, we need the ability to use the DSP as a preamp.
The global preamp control with the slider in the sidebar is a gain node positioned directly after the audio input and is used when filters are added to the master EQ slot. This is separate from the DSPi device level volume control (host volume), which drives the loudness compensation and is applied as a multiplier to the gain of all output channels.
 
Last edited:
The output pins for v1.0.7 are different. SPDIF is GPIO 20 and PDM is GPIO 21.
Hey, thank you for the suggestion. We implemented the changes and the stereo audio was coming out perfectly. We played it continuously for around 3–4 hours without any issues.


However, after that we unplugged the setup, and when we started it again, the audio was heavily distorted. We also tried changing the capacitor and resistor, but the distortion is still there.


Could this be because of the DAC or the Raspberry Pi Pico board? Any help would be really appreciated :)
 
Hey, thank you for the suggestion. We implemented the changes and the stereo audio was coming out perfectly. We played it continuously for around 3–4 hours without any issues.


However, after that we unplugged the setup, and when we started it again, the audio was heavily distorted. We also tried changing the capacitor and resistor, but the distortion is still there.


Could this be because of the DAC or the Raspberry Pi Pico board? Any help would be really appreciated :)
That is a very peculiar issue and the first time I have heard of this one. Could you possibly share some photos or diagrams of your hardware setup?

A little PSA for users of v1.1.2a who encounter fluctuating core 0 utilization and occasional underruns during playback: I have identified a bug that has been present since v1.0.9 wherein buffer prefill leads to intermittent USB IRQ blocking. This will be patched in the next release and will completely eliminate this (admittedly uncommon) issue. It will also completely eliminate underruns when initiating playback.

I have been attempting to trace this particular bug for the last couple of weeks. It must be squashed before I2S output and SPDIF input can be implemented, so I'm very glad that I found it. :)
 
The global preamp control with the slider in the sidebar is a gain node positioned directly after the audio input and is used when filters are added to the master EQ slot. This is separate from the DSPi device level volume control (host volume), which drives the loudness compensation and is applied as a multiplier to the gain of all output channels.
So the host volume is windows/mac volume slider? I have been using the global preamp volume to set listening levels? And Windows volume to max. I set my preamp gain offsets in the matrix mixer channel setting.
 
Last edited:
The gain slider here - I can increase and decrease only 0.5db with mouse click a scroll. I have to release mouse button and depress again for next .5 db change.
Maybe this was intentional?
1773655994459.png
 
Last edited:
The global preamp control with the slider in the sidebar is a gain node positioned directly after the audio input and is used when filters are added to the master EQ slot. This is separate from the DSPi device level volume control (host volume), which drives the loudness compensation and is applied as a multiplier to the gain of all output channels.
So the host volume is windows/mac volume slider? I have been using the global preamp volume to set listening levels? And Windows volume to max. I set my preamp gain offsets in the matrix mixer channel setting.

Okay, I think I understand what you're saying, but it's still a bit unclear.

Let me give you another example.I have two mini DSPs (NanoDigi and Flex8), and like (it seems to me) all DSPs, they work the same way: the DSP volume is independent of the host device's volume control, precisely so they can act as preamps. Basically, the volume is controlled at the DSP level, and the host devices must therefore be at 0dB (100% volume) like Kingsnake said. So yes, if you change the host volume, it exponentially impacts the DSP output volume, but that's why the bypass function exists at the DSP level... you can then choose to control the volume at the DSP level and/or the host level.

Since this is a basic use of the DSP, I get the impression that we're saying the same thing but somehow not quite understanding each other. Hahaha, that's absurd!;)
 
Back
Top Bottom