• 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

Great work! You’re really giving those overpriced audio brands a run for their money.
I’m planning to use DSPi in my car - could you say when it might be able to use i2s instead of S/PDIF?
We need to put things into perspective.

These "audio brands" solutions are turnkey or nearly so, integrating analog and/or digital inputs and outputs, sometimes a screen and a dial for source and volume selection, sometimes Wi-Fi/Bluetooth control, some process the signal at 96kHz, often also offer audio processing (Dirac or others), sometimes even accept licensed multichannel files (Dolby, DTS, etc.), all included in a custom-designed case, power supply and cables, attractive packaging, and hundreds of hours of R&D behind it, a marketing budget and employees to pay (not to mention reseller margins and VAT).

So, well, according to my calculations, if I want something similar with a custom PCB with 4 optical SPDIF outputs and 2 SPDIF inputs (one optical and the other RCA), a small black and white OLED screen, a rotary encoder (source/volume selection/others...), a case (which I'll have to design and 3D print) etc., basically, to have an equivalent (less powerful but more scalable, prettier and with the possibility of a control app, and all "open source") to the nanodigi, it will take me many hours to understand how to put it all together, to design the PCB (especially for a novice like me), and it will cost me at least half the price of the nanodigi back when it was still in production. But it's interesting, and I'm going to give it a try anyway!

We have to be realistic. As I said in a previous post, for less than 30 bucks : a Pico2 running DSPi (given the current state of DSPi development) and an spdif output, we have something "portable" that doesn't exist at this price for headphones or speakers/room correction.
And in a little while, for probably 40 bucks, you can include two digital inputs (to connect a CD player, a streamer, etc.). Which is really really cool !!!

But if you want to do DIY active speaker crossovers (in addition to everything else), that's another story... but yes, with such a capacity for evolution, it will be cheaper than any digital-to-digital DSP...

But, but, but... it's not certain that including the DACs it would be more cost-effective than, for example, a Flex Eight (and I know what I'm talking about, I own both of those DSPs : Flex8 and NanoDigi).
 
Last edited:
The Windows update is coming along nicely.

I have been considering porting Console to a cross platform framework such as Qt, as this would greatly reduce the amount of parallel development required. I am the only maintainer at the moment (not counting robo intern), so it can be a challenge to handle four independent codebases.

It is critically important to me that each application retains a native feel, so any prospective Qt port would only take place if I am certain that this can be achieved.
In any case, I wanted to advise you to wait until the two versions of the Console (macOS and Windows) are synchronized before publishing anything.

Even though it's still in development here, people are used to a certain "standard". So, naturally, a discrepancy create frustration.. haha ;)
 
Last edited:
But, but, but... it's not certain that including the DACs it would be more cost-effective than, for example, a Flex Eight (and I know what I'm talking about, I own both of those DSPs : Flex8 and NanoDigi).
I don't yet have concrete numbers but current estimates place likely pricing for my custom boards around $50, with $70 being the high end. Conservatively assuming the present state of the codebase, that pricing would be for a board with 8 DACs, 4 ADCs, Bluetooth, WiFi, USB Audio and four TOSLINK/SPDIF outputs.

Many prospective buyers of the Flex8 and similar solutions are in search of a pre-packaged, aesthetically neat product to place on their component racks and would certainly be deterred by the comparatively minimalistic, DIY friendly design of my offering. I expect there will be some overlap but for many, these are not interchangeable devices for reasons beyond purely functional considerations.

In any case, I wanted to advise you to wait until the two versions of the Console (macOS and Windows) are synchronized before publishing anything.

Even though it's still in development here, people are used to a certain "standard". So, naturally, a discrepancy create frustration.. haha ;)
Absolutely. Feature parity will always come before any major platform shift.
 
I don't yet have concrete numbers but current estimates place likely pricing for my custom boards around $50, with $70 being the high end. Conservatively assuming the present state of the codebase, that pricing would be for a board with 8 DACs, 4 ADCs, Bluetooth, WiFi, USB Audio and four TOSLINK/SPDIF outputs.

Many prospective buyers of the Flex8 and similar solutions are in search of a pre-packaged, aesthetically neat product to place on their component racks and would certainly be deterred by the comparatively minimalistic, DIY friendly design of my offering. I expect there will be some overlap but for many, these are not interchangeable devices for reasons beyond purely functional considerations.


Absolutely. Feature parity will always come before any major platform shift.
Put me down for Board #1 — where do I preorder?
(Terms: 2-week lead time starting today) ;)
 
I don't yet have concrete numbers but current estimates place likely pricing for my custom boards around $50, with $70 being the high end. Conservatively assuming the present state of the codebase, that pricing would be for a board with 8 DACs, 4 ADCs, Bluetooth, WiFi, USB Audio and four TOSLINK/SPDIF outputs.

Many prospective buyers of the Flex8 and similar solutions are in search of a pre-packaged, aesthetically neat product to place on their component racks and would certainly be deterred by the comparatively minimalistic, DIY friendly design of my offering. I expect there will be some overlap but for many, these are not interchangeable devices for reasons beyond purely functional considerations.
That's true, but I was simply responding to the question, or rather the statement, regarding the price compared to what the usual brands offer. I believe I explained it in sufficient detail in my previous post for it to be understandable. And, as you know or should have understood, I'm not in any way criticizing the work done here or the new opportunities you're offering us—quite the opposite, in fact!

That being said, 50-70 bucks + 7-12 more for the Pico 2 + a custom case + a screen + a rotary encoder... and obviously we're far from the price of a Flex8, but despite that, we also understand why the latter costs the price asked (logistics, R&D, manufacturing, packaging, marketing, distributor margins, VAT).
 
Last edited:
The Windows update is coming along nicely.

I have been considering porting Console to a cross platform framework such as Qt, as this would greatly reduce the amount of parallel development required. I am the only maintainer at the moment (not counting robo intern), so it can be a challenge to handle four independent codebases.

It is critically important to me that each application retains a native feel, so any prospective Qt port would only take place if I am certain that this can be achieved.
That would be good for a subset of the linux users too, although those using something headless would probably still like to see the CLI version.
 
[...] so it can be a challenge to handle four independent codebases.

Only four codebases? The sky is the limit :):

Once the planned I2C feature is in place and the control protocol decoupled from USB, this could allow even more "control consoles" beyond macOS/Win/LinuxQt/CLI:

DSPi on Pico2W with WiFi enabled -> Web Console / telnet CLI / OSC
DSPi -> I2C -> auxiliary ESP32 Display / Pico Display -> LVGL / Web Console / telnet CLI / OSC

Also, let's not forget that the current consoles could be extended to connect using BLE (like the Qudelix 5K does) or IP in addition to USB.

Choices, too many choices.
 
The Windows update is coming along nicely.

I have been considering porting Console to a cross platform framework such as Qt, as this would greatly reduce the amount of parallel development required. I am the only maintainer at the moment (not counting robo intern), so it can be a challenge to handle four independent codebases.

It is critically important to me that each application retains a native feel, so any prospective Qt port would only take place if I am certain that this can be achieved.
Actually I think it can be done with a web framework such as React, and then it will be platform independent. Tauri is a really nice framework and should work nicely.
 
Actually I think it can be done with a web framework such as React, and then it will be platform independent. Tauri is a really nice framework and should work nicely.
I have looked into React Native and while it does look very convenient in the sense that it makes use of native UI widgets, it also activates my pet peeve of everything now being a web app. :p

DSPi Console for Windows has now reached feature parity with the macOS version and I will be pushing a release sometime tomorrow evening, once it has been thoroughly tested.

1773383916639.png
 
I have looked into React Native and while it does look very convenient in the sense that it makes use of native UI widgets, it also activates my pet peeve of everything now being a web app. :p

DSPi Console for Windows has now reached feature parity with the macOS version and I will be pushing a release sometime tomorrow evening, once it has been thoroughly tested.
Sadly that's the case with GUIs these days. Maintaining 3 apps in 3 different frameworks for 3 different OSs is a bigger nightmare.
 
I don't yet have concrete numbers but current estimates place likely pricing for my custom boards around $50, with $70 being the high end. Conservatively assuming the present state of the codebase, that pricing would be for a board with 8 DACs, 4 ADCs, Bluetooth, WiFi, USB Audio and four TOSLINK/SPDIF outputs.

Many prospective buyers of the Flex8 and similar solutions are in search of a pre-packaged, aesthetically neat product to place on their component racks and would certainly be deterred by the comparatively minimalistic, DIY friendly design of my offering. I expect there will be some overlap but for many, these are not interchangeable devices for reasons beyond purely functional considerations.


Absolutely. Feature parity will always come before any major platform shift.
Do you think it could be possible for me to create a 16 channel adc with multiple Picos and DSPi to create a DIY RCA to balanced device?

Just from a theoretical point of view?
 
Qt's own QtCreator IDE is a good example for Qt cross-platform consistency wrt look&feel.
And then we have Java-based stuff also working very well, the REW measurement suite being on prominent example. Eclipse is another one when it comes to code IDE's (and one that everybody learned to hate ;-)

I'm inclined to think that the DSPi user base would significantly grow with a native Linux version of the frontend.
Actually a text-based UI that would also run fine via SSH would do for basic work (similar to Linux tools like nmtui or midnight commander), the lack of proper display of EQ curves would not be a major drawback.
 
I have looked into React Native and while it does look very convenient in the sense that it makes use of native UI widgets, it also activates my pet peeve of everything now being a web app. :p
If you're coding in VSCode, you're already using a "web app" all day long. Just get over your pet peeve, and make your life easier. Build the UX in Electron or React Native (which, for desktop apps, is not as advanced (yet)).
 
Do you think it could be possible for me to create a 16 channel adc with multiple Picos and DSPi to create a DIY RCA to balanced device?

Just from a theoretical point of view?
Don't think so if the idea is to connect the Picos via USB als their relative timing will be all over the map. The only way this will work is by daisychaining Picos via SPDIF or I2S, and that limit is currently at 8 output channels and I gather 2 input channels.
 
Last edited:
I have interfaces that provide old school "word clock" output on BNC, can set to 44.1 kHz or 48 kHz , choose which is Master.

Could something functionally similar work with multiple DSPi units?
 
I am pleased to announce the release of DSPi Console v1.1.2a for Windows! :)

This release has been thoroughly tested and appears stable but please don't hesitate to report any bugs or oddities that you encounter.

In other news, I have been experimenting with Qt in an attempt to produce a believably native UI under macOS.

1773455565214.png


Can you tell which of these is SwiftUI and which is Qt? Most likely but I spent just an hour on this. Quite promising.

I have interfaces that provide old school "word clock" output on BNC, can set to 44.1 kHz or 48 kHz , choose which is Master.

Could something functionally similar work with multiple DSPi units?
Yes, this is entirely possible. We would treat one DSPi as the master, feed its bit clock to the slave and then output samples on its rising edge to synchronize them. Tricky but similar functionality has been achieved for I2S.

If you're coding in VSCode, you're already using a "web app" all day long. Just get over your pet peeve, and make your life easier. Build the UX in Electron or React Native (which, for desktop apps, is not as advanced (yet)).
I use Xcode and Visual Studio 2022 for most purposes. I've never really been a fan of VSCode, as it's always felt rather slow to me. I am looking into Qt, though!
 
Last edited:
Even with the new console, the problem remains that decimal places are not imported from saved filters. Furthermore, it is still not possible to set the slope of shelving filters.
 
Can you tell which of these is SwiftUI and which is Qt? Most likely but I spent just an hour on this. Quite promising.
Indeed. I can see little differences in the screenshots but it is more that one has small differences to what I know than being not "Mac-like".
It is much more important to have a consistent, clear and logical GUI than for every widget to look exactly like a Mac widget. Considering that people seem to ask for a zillion features, it will be a challenge to master that, double work will probably not help.

I definitely prefer the display of Q in 1/1000. At the moment I can input 0.66 or 0.74 and the curve shows a difference (I assume the Pico will do too) but in the numerical display this is invisible from rounding.
 
1.1.2a is great! Many thanks!:)

I noticed that when enabling any of the R outputs without enabling the L output in that pair the pin assignment is not displayed in the hardware screen
 
Back
Top Bottom