• 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

Or DSPi console should accept both ;)
Every software should support both! So annoying when being from a country that uses , for decimals when programs either uses . or , or both and you just have to learn if for every single one of them.
 
DSPi thread for more features / user-oriented discussions

 
Just to be clear, I read that there will be one SPDIF input and one I2S input, but will it be possible to have two SPDIF inputs? While it's obviously possible to use an SPDIF to I2S adapter... in that case, it's simpler to connect directly to the GPIO pins using TTL-compatible Tolsink receivers (with a few extra components along the way, but it's still simpler).

Actually, I didn't quite understand (or I misread, as English isn't my first language) how many inputs can be implemented on the DSPi (besides USB)? (Of course, not all of them playing simultaneously)

Basically, if the DSPi is to be the central component of the setup, imagine: an audio streamer/PC, a television, and perhaps a CD player and/or a turntable (with its ADC) as inputs, each with a dedicated preset that can be selected at the appropriate time to switch from one source to another. That's a lot of inputs... Alternatively, if we're limited to 3 inputs, perhaps a hypothetical electronic switch controlled by the DSPi could be used? I'm not an electronics expert; is that something feasible?
 
Last edited:
Just to be clear, I read that there will be one SPDIF input and one I2S input, but will it be possible to have two SPDIF inputs? While it's obviously possible to use an SPDIF to I2S adapter... in that case, it's simpler to connect directly to the GPIO pins using TTL-compatible Tolsink receivers (with a few extra components along the way, but it's still simpler).

Actually, I didn't quite understand (or I misread, as English isn't my first language) how many inputs can be implemented on the DSPi (besides USB)? (Of course, not all of them playing simultaneously)

Basically, if the DSPi is to be the central component of the setup, imagine: an audio streamer/PC, a television, and perhaps a CD player and/or a turntable (with its ADC) as inputs, each with a dedicated preset that can be selected at the appropriate time to switch from one source to another. That's a lot of inputs... Alternatively, if we're limited to 3 inputs, perhaps a hypothetical electronic switch controlled by the DSPi could be used? I'm not an electronics expert; is that something feasible?
Would not help with the analog inputs but I currently use one of these for my DAC. Cheap enough and does the job.
 

Attachments

  • Screenshot_20260328_183025_Amazon Shopping.jpg
    Screenshot_20260328_183025_Amazon Shopping.jpg
    122.4 KB · Views: 109
Auto-sensing switchers also exist.

Personally I do not envision DSPi as a general use preamp even for volume control much less source switching for all kinds of inputs.

For me, it handles DSP filter processing, two input channels at a time.

The mixing ability for concurrent sources I can see, a gamer's console integrated with PC for Zoom calls and the like...
 
Would not help with the analog inputs but I currently use one of these for my DAC. Cheap enough and does the job.
Yes, that's an interesting one. But I'm sure Troy will shed some light on the number and type of possible inputs on the Pico/DSPi.
 
Auto-sensing switchers also exist.

Personally I do not envision DSPi as a general use preamp even for volume control much less source switching for all kinds of inputs.

For me, it handles DSP filter processing, two input channels at a time.

The mixing ability for concurrent sources I can see, a gamer's console integrated with PC for Zoom calls and the like...
I envision DSPi to be quite versatile and do whatever the user needs.
Personally I see it as a preamp with several inputs (maybe even with multi-PCM support) and eight outputs, with a physical volume knob (with variable loudness, nomnom!) and input switch button or maybe knob and maybe even a small screen, and then of course the whole DSP thing with PEQ, crossovers, delays and mid/side-processing.
I*m quite excited for it really because I want to upgrade from my MiniDSP 2x4HD, and seeing that I love these kinds of DIY projects that can be done really cheap while still performing as SOTA this will suit me just perfectly!
 
That's a finished box that can include this board for DSP.

If handling multi-channel, then multiple instances of the DSPi are needed.

But all those functions are separate products, and will have to be priced like miniDSP's or likely more until volume ramps up.

The DSPi board itself is a DIY component, and should not try to be all things to all users.

IMHO
 
Yes, that's an interesting one. But I'm sure Troy will shed some light on the number and type of possible inputs on the Pico/DSPi.
For the "official" board, we will have a codec or pair of codecs (TAC5242) offering analog input and output, along with one or two SPDIF inputs. The number of SPDIF inputs is directly dependent upon the ASRC implementation and whether it proves feasible to slave one to the other. I hope this answers the question.

Incidentally, ADAT IO is looking quite feasible at the moment. I will be experimenting with 4-channel and 8-channel USB input.

I have spent most of the day debugging the dropout issue, as this needs to be fixed before I can proceed with the roadmap.
 
should not try to be all things to all users.
I completely agree with this. My plan is effectively for DSPi to be a "swiss army knife for audio" but the feature set can not be endless and I don't have the resources to single handedly maintain an immense codebase.
 
For the "official" board, we will have a codec or pair of codecs (TAC5242) offering analog input and output, along with one or two SPDIF inputs. The number of SPDIF inputs is directly dependent upon the ASRC implementation and whether it proves feasible to slave one to the other. I hope this answers the question.
Personally, I'm not at all interested in analog or I2S inputs, even though they can be useful.

What interests me is the number of possible digital inputs (but not I2S), directly connectable to the Pico's GPIO and recognizable by the DSPI. For example, two Tolsink TTL SPDIF inputs...

If two SPDIF inputs (not simultaneous, meaning they don't both need to work together, just input selection) are possible, that's fine with me. More than that, even better!


Incidentally, ADAT IO is looking quite feasible at the moment. I will be experimenting with 4-channel and 8-channel USB input.
Great, that's promising!


I have spent most of the day debugging the dropout issue, as this needs to be fixed before I can proceed with the roadmap.
Don't worry, take all the time you need, and get some rest! We all admire your dedication and there's no rush.
 
What interests me is the number of possible digital inputs (but not I2S), directly connectable to the Pico's GPIO and recognizable by the DSPI. For example, two Tolsink TTL SPDIF inputs...

If two SPDIF inputs (not simultaneous, meaning they don't both need to work together, just input selection) are possible, that's fine with me. More than that, even better!
Without mixing, up to four SPDIF inputs are possible.
 
And I imagine we'll be able to freely select the GPIO pins dedicated to digital inputs? But perhaps you already have a map of the GPIO pins that can be used for this purpose?
 
And I imagine we'll be able to freely select the GPIO pins dedicated to digital inputs? But perhaps you already have a map of the GPIO pins that can be used for this purpose?
All inputs, outputs and control GPIO will be runtime assignable. I will select some convenient defaults but everything will be configurable.
 
So, I calculate that 4 Toslink inputs + 4 Toslink outputs = approximately 80mA (but rather 50mA because the inputs do not operate at the same time). Therefore, logically, there shouldn't be any problem if the Pico is only powered via USB. (This is assuming we don't include a potential screen, its controller, and other additional components.)

So if we create a dedicated board with just Toslink connectors (input/output) and the necessary micro-components, without needing an external power supply, we can get a super full digital plug and play DSP for, say, 50-60 bucks! Incredible!
 
Last edited:
I finished designing a PCB for a 4-output Toslink module about ten days ago. However, the connections between the Pico and the module are wired, which isn't technically ideal (but it does allow for connection to other GPIO pins).

Ideally, I'd like to create a motherboard/breadboard onto which the Pico could be mounted. To achieve this, we would need to be certain of the GPIO pin assignments and, above all, that this assignment is always permanent (by design, of course) (but especially that there are no conflicts with fixed utility GPIO pins!).

The 4-input and 4-output Toslink [FCR684214T & FCR684214R] would be directly connected and "stabilized" by the PCB, but the other GPIO pins would be left "free" with a corresponding wired connection pin for other, less sensitive applications (connection to a screen controller and clickable scroll wheel (I2S?), IR input (I2S?)...).

I imagine that GPIO pins 2, 3, 4, and 5 would be dedicated to the inputs? What about GPIO pins 10, 11, 12, and 13?

In any case, the DSPi firmware isn't yet sufficiently developed for the scenario I envision, so we'll just have to wait for its completion. Aside from the input/output types and PEQ (which are already implemented), the essential element - for DIY speaker builders - lies in the crossover filters (first and second order, Butt 1 to 8, LR 2, 4, 6, 8, Bessel 2 to 8... and why not add more exotic filters? + Linkwitz transform). Once that's done, all that will remain is managing volume control/presets via IR receiver, dial, the Pico's Wi-Fi/Bluetooth chip using a mobile app, or whatever.

Whether you push the project that far or not, what you've done (headphone and room correction) is already very nice and sufficient in itself. I know you're going and are going further, probably more than I could imagine, but perhaps less as well... But that's not the important thing : "Caminante no hay camino, se hace camino al andar"* ("Traveler, there is no path, the path is made by walking") ("Cantar de caminos" by Antonio Machado)

Here's an interpretation of the poem by Juan Manuel Serrat:
(After all, we're here because we're "enlightened" music lovers...) ;)

*
And for general knowledge, here is the original poem and its English translation:

"Caminante, son tus huellas
el camino y nada más;
Caminante, no hay camino,
se hace camino al andar.
Al andar se hace el camino,
y al volver la vista atrás
se ve la senda que nunca
se ha de volver a pisar.
Caminante no hay camino
sino estelas en la mar."

"Traveler, your footprints are
the path, and nothing more;
Traveler, there is no path,
the path is made by walking.
By walking, the path is made,
and when you look back, you see the trail that will never
be trodden again.
Traveler, there is no path,
only wakes on the sea."
 
Last edited:
Back
Top Bottom