• 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

Hello and thank you for the kind words!

In the current implementation, the Pico is the clock master and generates all I2S clocks. It is possible to supply external clocks and for the Pico to operate in slave mode but this is not yet part of the firmware.

Many I2S devices (DACs, ADCs, other DSPs) can be configured to function either as a clock master or slave, with the former typically necessitating an onboard crystal oscillator.

Regarding I2S over HDMI connectors (often buffered as LVDS), there is no actual standard for this and pin allocations vary widely by manufacturer. The vast majority of DACs that accept I2S via HDMI connector operate in slave mode but this is by no means a requirement.
Thank you for the kind and exhaustive message. Sorry for this late reply but I was out for a short vacation.

Best
Alessandro
 
Thank you for the kind and exhaustive message. Sorry for this late reply but I was out for a short vacation.

Best
Alessandro
Not to worry! During your absence, I2S slave mode has become available. :)

ADAT input is now working well. Total core 0 utilization with ADAT input and output both active is just under 13%. I believe we can get it down to 10% or less.

1783982085577.png
 
Not to worry! During your absence, I2S slave mode has become available. :)

ADAT input is now working well. Total core 0 utilization with ADAT input and output both active is just under 13%. I believe we can get it down to 10% or less.

View attachment 544627
Incredible! Do you have a recommended ADAT/Toslink receiver and transmitter?
 
No more beta releases for Windows? As that is still on DSPi Console v1.1.5-beta1 while macOS is already on DSPi Console v1.1.5-beta4.
Rest assured, I have been hard at work on the Console for Windows update. :D

There is quite a lot of catching up to do but it won't be too long now. Here's a little peek at some of the progress.

1784245194910.png
1784245203133.png


1784245424567.png
1784245365538.png


1784245777898.png
 
Last edited:
I have just released both DSPi Firmware v1.1.5-beta5 and DSPi Console v1.1.5-beta5 for Windows. The latter brings Console for Windows in line with (actually slightly beyond) the most recent macOS release, with an absolutely immense update that implements full support for all of the new functionality!

1784267234909.png


Here is the list of firmware changes:
  • RP2350: ADAT input support with master and slave clock modes (can now be looped through one of these)
  • RP2350/2040: Psychoacoustic Bass using the phantom fundamental principle, with a plethora of customizable settings
  • RP2350/2040: Linkwitz Transform filter type added
This means that DSPi can now be used as both an ADAT -> I2S/SPDIF and I2S -> ADAT converter, for those previously interested the now-obsolete board that I designed for this purpose last year.

At this point, we have just one pending roadmap function (N channel stereo), at which point the firmware will effectively be feature complete. :)

The usual disclaimer: Please bear in mind that this is still a beta release and while great care has been taken to thoroughly test all functionality, some bugs may remain. Should you encounter a bug or unexpected behavior, please don't hesitate to make a report so that it can be squashed! You can do that either here, on GitHub or via the Discord server (many helpful people there).

Finally and as always, DSPi is a not-for-profit open source project funded entirely by donations and out of pocket. If you wish to support the project, you can do that via Ko-fi or Patreon.

is there a physical control for time delay?
Delays will soon be supported as a noun within Control Surfaces.
 
Last edited:
Maybe I missed a post, but wasn't LDAC on the roadmap at the start? :)
Along with Bluetooth and/or web controls for a Pico W IIRC - but it's a moving target and a lot of new stuff has made it in that I don't think was on the map back then.

On the other hand if it's feature complete I could take a proper look at control from linux...
 
Maybe I missed a post, but wasn't LDAC on the roadmap at the start? :)
I just received this from AliExpress that should be easy to integrate via I2S. Make sure you get the QCC5181 version if you rely on LDAC, though

QCC5181.jpg
 
RP2350: Multichannel USB input with selectable modes for 2, 4, 6 and 8 channels
@Weeb Labs : Is there anything that needs to be done to have Windows recognize DSPi as a multi-channel USB audio device? In my case at least (Win11), DSPi appears only as a stereo device. I've checked DSPi Console for Windows (1.1.5-beta5) but I don't see any settings that would be linked to this. Thanks
 
@Weeb Labs : Is there anything that needs to be done to have Windows recognize DSPi as a multi-channel USB audio device? In my case at least (Win11), DSPi appears only as a stereo device. I've checked DSPi Console for Windows (1.1.5-beta5) but I don't see any settings that would be linked to this. Thanks
Go into Windows legacy sound settings and find Weeb Labs Dpi in there, make sure you set your audio output to 16bit and then change it from stereo to whatever multichannel you want.
 
@Weeb Labs : Is there anything that needs to be done to have Windows recognize DSPi as a multi-channel USB audio device? In my case at least (Win11), DSPi appears only as a stereo device. I've checked DSPi Console for Windows (1.1.5-beta5) but I don't see any settings that would be linked to this. Thanks
To select one of the multichannel modes, you can do the following:
  • Open the classic sound control panel by pressing Win+R, typing mmsys.cpl and then pressing Enter.
  • Select the Playback tab, click the DSPi device and then open Properties
  • Select the Advanced tab and set Default Format to 16 bit, 48000 Hz
  • Click Apply and then Okay
  • Back in the Playback tab, click the DSPi device once more and then choose Configure
  • Select a channel mode. 3.1 Surround is 4-channel, 5.1 Surround is 6-channel and 7.1 Surround is 8-channel.
DSPi Console will automatically display the correct number of input channels once you complete the selection.

This is how multichannel mode selection works for most audio devices under Windows. :)
 
ADAT output to an 8ch DAC ?

e.g. Focusrite Clarett+ OctoPre
Yes. Both output and input via the OctoPre's ADAT return. You can use both its DACs and ADCs.

A word of warning regarding TOSLINK TX modules for ADAT. The cheap AliExpress modules are often inadequate for this purpose. A selection of suitable inexpensive alternatives will soon be added to the readme, one of which is simply a bright red LED. The AliExpress RX modules are perfectly fine.
 
Last edited:
To select one of the multichannel modes, you can do the following:
  • Open the classic sound control panel by pressing Win+R, typing mmsys.cpl and then pressing Enter.
  • Select the Playback tab, click the DSPi device and then open Properties
  • Select the Advanced tab and set Default Format to 16 bit, 48000 Hz
  • Click Apply and then Okay
  • Back in the Playback tab, click the DSPi device once more and then choose Configure
  • Select a channel mode. 3.1 Surround is 4-channel, 5.1 Surround is 6-channel and 7.1 Surround is 8-channel.
DSPi Console will automatically display the correct number of input channels once you complete the selection.

This is how multichannel mode selection works for most audio devices under Windows. :)
Thanks, that worked! Changing to 16 bit was the trick I was missing (as mentioned also by Tell).

However, while I now see 4 USB input channels in the main console screen, in the matrix window I see only USB 1 and 2 channels.

And for what is worth (but this may be an user issue, first time experimenting with this), the extra two input channels do not seem to be getting any audio. Playing content via Foobar, with "Convert stereo to 4 channels" active in the DSP chain, and output audio device chosen "Deafult : Speakers (Weeb Labs DSPi)
 

Attachments

  • 1784309224495.png
    1784309224495.png
    95.6 KB · Views: 43
Thanks, that worked! Changing to 16 bit was the trick I was missing (as mentioned also by Tell).

However, while I now see 4 USB input channels in the main console screen, in the matrix window I see only USB 1 and 2 channels.

And for what is worth (but this may be an user issue, first time experimenting with this), the extra two input channels do not seem to be getting any audio. Playing content via Foobar, with "Convert stereo to 4 channels" active in the DSP chain, and output audio device chosen "Deafult : Speakers (Weeb Labs DSPi)
We have our first bug! I will push a hotfix for the mixer issue this evening. Possibly a metering issue, too.

Regarding the lack of audio on channels 3 and 4, this is because you need to route the input channels to the outputs by clicking the relevant crosspoints in the mixer. You can't really do this if the mixer only shows the first two channels, of course. :P
 
We have our first bug! I will push a hotfix for the mixer issue this evening. Possibly a metering issue, too.

Regarding the lack of audio on channels 3 and 4, this is because you need to route the input channels to the outputs by clicking the relevant crosspoints in the mixer. You can't really do this if the mixer only shows the first two channels, of course. :P
When I mentioned that "the extra two input channels do not seem to be getting any audio", I was referring to the fact that the last two INPUT meters in the main console window do not register any signal. And this seems to be independent on how outputs are activated/routed. For example, in this screenshot we can see meters for USB 1&2 registering input, despite no output selected in the matrix (which is normal behavior in my book).

Again, this may be an user/source config issue. But I just wanted to make sure my initial point was clear / wanted to state that this behavior it's not an output selection issue (not as far as I can say at least).
 

Attachments

  • 1784310963930.png
    1784310963930.png
    71.1 KB · Views: 39
Back
Top Bottom