• 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

You can connect the dspi to the Raspberry Pi via i2s and use the USBip software for the console: it works.
This is the project I'm doing for the Mopidy server I use in the living room.
 
Using its USB input you can connect it to the output of a Mac, Windows or RPi. I’ve even connected it to an iPhone and iPad using a Lightning to USB adapter.

Obviously, using a GUI to **configure** the software may be a completely separate topic,
I was just asking about USING the DSPi as a "standalone" processor, while no USB host at all is in the signal chain.

Obviously it CAN work with an RPi SBC host, but I inferred from the post I was responding to that they maybe thought such a host was required!

I thought so long as you are feeding audio signal via a supported format/medium input, they can work without any USB Host?
 
Last edited:
Although I just ordered a t.racks 206, this project has me dreaming of a 19" rack mount case with front display and balanced 2in/6out I/O. Does the project support that amount of I/O and anyone building something like this yet?
 
Although I just ordered a t.racks 206, this project has me dreaming of a 19" rack mount case with front display and balanced 2in/6out I/O. Does the project support that amount of I/O and anyone building something like this yet?

You can pretty much pick and choose whatever I/O you want. Currently the project is sorely in need of ready to go hardware. There are some ready to go i2s balanced dacs from wondom, aliexpress, and some user made ones here you can find by purusing the thread.

My pico sits unused in a bit of awkward spot. Dedicated hardware would be nice, but its probably not worth making a socketed board for it, might as well just put the pico directly on the pcb. Id like to delve into things and cook up my own board but I struggle to find time to do so.
There is a lot to be said for just having a unit that is ready to go like the thomann.
 
Last edited:
There's no console utility for Linux, though. And RPI only runs Linux. But as a USB sound card configured elsewhere, DSPi works perfectly under RPI. I've verified this.
On Linux, I would use DSPi Console Web in Chrome. It has a different layout than Troy's Mac/Windows consoles, but it's definitely worth a try.
 
My comments have been edited in the above quote.

My statement is/was that an audio source with USB output, including an RPi, can be used with the USB input of the DSPi.
 
My comments have been edited in the above quote.

My statement is/was that an audio source with USB output, including an RPi, can be used with the USB input of the DSPi.
Yes sorry fixed the tag locations.

You were answering the opposite of what I asked, just clarifying my question.
 
Hey all, I'm stepping out of the shadows to pay my gratitude to Mr. Weeb and this fantastic project! Awesome work sir, you're an inspiration to me!
 
I've slowly started putting together a working prototype of an audio system. And I've encountered a problem. When connecting the TV via optical cable, the signal drops every few seconds. When connecting the same optical cable to the Topping DX1-II DAC, there are no problems. Can this problem be solved with simple methods? Can this problem be solved with an ASRC?
 
Just have the DSPi and DACs as one unit and amplifiers inside the speakers. I did this, even used an XLR cable for 2 channel analog + GND.
To synchronize 2 DSPs they need to share the same I2S clocks. AFAIK DSPi doesn't do clock recovery from SPDIF so you can't use it as clock reference.
Alternatively you could probably use BICK as the reference and send it from one unit to the other via coax/bnc, and make one DSPi master and the other slave.
In that scenario I would prefer balanced. And for four channels that would require a 9 core cable if I'm not mistaken. Y-splitting the toslink to two dspi modules would not work?
 
I've slowly started putting together a working prototype of an audio system. And I've encountered a problem. When connecting the TV via optical cable, the signal drops every few seconds. When connecting the same optical cable to the Topping DX1-II DAC, there are no problems. Can this problem be solved with simple methods? Can this problem be solved with an ASRC?
Care to tell/show your setup? Could be a bad solder, a faulty dupont or something missing. It'll be easier to find out with more info :)
 
Care to tell/show your setup? Could be a bad solder, a faulty dupont or something missing.
So far, I've only use one homemade speaker with a midrange and tweeter. DSPi 48kHz -> Toslink transmitter -> SMSL DO100 -> SMSL A100 -> Mid/Twiter. As you can see, the Toslink is already being used for transmission. I've tested all my optical cables on this Toslink, and there are no issues with them. The system has been playing like this from the DSPi's USB input for several days now, and I haven't heard any interruptions in sound. Trying to connect a 65" Samsung TV directly to a Toslink receiver on the DSPi results in sound dropouts every few seconds. This happens so often that it's impossible to sense speech. I understand that the receiver may be of poor quality. I've ordered more; they'll arrive in a few days, and I'll replace the receiver. The situation is slightly better if you use the Topping DX1-II DAC as a Toslink-to-Toslink repeater. The DX1-II receives Toslink from the TV and transmits it to the Tolink on the DSPi. In this case, sound dropouts better. They are frequent at first, become less frequent within 5 minutes, and then occur every few minutes. This is unpleasant, but it's already quite functional. If you use the DX1-II as a USB-Toslink repeater, things are even better. A few dropouts at first and then no problem for a long time. So, the problem is most likely with the TV. But I don't plan to replace the TV for this reason :) . When connecting I've had signal dropouts with both the SMSL DO100 DAC and the Topping DX1-2. Both DACs have PLL adjustments for the optical input. The DO100 has settings from 1 to 9 (9 works). The DX1-2 has Type 1 and Type 2 (Type 1 works). These adjustments help achieve a stable signal on these DACs. So, I'm wondering if this project plans to include some kind of PLL adjustment, or if that's a feature of the new project?
 
So far, I've only use one homemade speaker with a midrange and tweeter. DSPi 48kHz -> Toslink transmitter -> SMSL DO100 -> SMSL A100 -> Mid/Twiter. As you can see, the Toslink is already being used for transmission. I've tested all my optical cables on this Toslink, and there are no issues with them. The system has been playing like this from the DSPi's USB input for several days now, and I haven't heard any interruptions in sound. Trying to connect a 65" Samsung TV directly to a Toslink receiver on the DSPi results in sound dropouts every few seconds. This happens so often that it's impossible to sense speech. I understand that the receiver may be of poor quality. I've ordered more; they'll arrive in a few days, and I'll replace the receiver. The situation is slightly better if you use the Topping DX1-II DAC as a Toslink-to-Toslink repeater. The DX1-II receives Toslink from the TV and transmits it to the Tolink on the DSPi. In this case, sound dropouts better. They are frequent at first, become less frequent within 5 minutes, and then occur every few minutes. This is unpleasant, but it's already quite functional. If you use the DX1-II as a USB-Toslink repeater, things are even better. A few dropouts at first and then no problem for a long time. So, the problem is most likely with the TV. But I don't plan to replace the TV for this reason :) . When connecting I've had signal dropouts with both the SMSL DO100 DAC and the Topping DX1-2. Both DACs have PLL adjustments for the optical input. The DO100 has settings from 1 to 9 (9 works). The DX1-2 has Type 1 and Type 2 (Type 1 works). These adjustments help achieve a stable signal on these DACs. So, I'm wondering if this project plans to include some kind of PLL adjustment, or if that's a feature of the new project?
This is a known issue with certain TVs; especially LG TVs. Their output exhibits very high levels of jitter, which causes the current SPDIF RX to relock. It is fixed in the spdif_rx_overhaul branch, which will soon be ready to merge.
 
Last edited:
Another little peek into this week's release. On-graph filter editing that definitely isn't a shameless clone of FabFilter down to the axis locking and color coding. @MachOne :)

1788045923989.png


And a quick look at the early stage UI design for Picorder.
1788046061326.png

It will have support for SPDIF, I2S Master, I2S Slave, TDM, PDM and ADAT interface types. If it exists and emits digital audio, you can connect it to your PC.

I am currently in the hospital, so my apologies for the sluggish updates over the last few days but I hope to make Linux and RPi users very happy soon. Hint hint!
 
In that scenario I would prefer balanced. And for four channels that would require a 9 core cable if I'm not mistaken. Y-splitting the toslink to two dspi modules would not work?
It would work, but DSPi does ASRC for SPDIF signals, so the clocks aren't synchronized over two DSPi modules. You'd have to find another way to synchronize them. I don't have the Console on this machine but I remember seeing a master/slave config for I2S in the settings, so if you share BCLK between the two and set them as master/slave, it's doable.
 
It would work, but DSPi does ASRC for SPDIF signals, so the clocks aren't synchronized over two DSPi modules. You'd have to find another way to synchronize them. I don't have the Console on this machine but I remember seeing a master/slave config for I2S in the settings, so if you share BCLK between the two and set them as master/slave, it's doable.
I'm definitely not an expert, this might be a different situation, and I'm sure Troy has a solution, but I could not get two boards to sync when I was building my 3 way ESP32 crossover using a C3 mini as a slave for the LOW out. The audio worked fine, but the timing sync on reboot was never stable as the buffer never landed in the same place on reboot so you could see up to 5ms of desync between boards.
 
It would work, but DSPi does ASRC for SPDIF signals, so the clocks aren't synchronized over two DSPi modules. You'd have to find another way to synchronize them. I don't have the Console on this machine but I remember seeing a master/slave config for I2S in the settings, so if you share BCLK between the two and set them as master/slave, it's doable.
DSPi doesn’t pass SPIDIF input through ASRC. Instead it recovers the clocks and then uses them to servo the PIO output dividers; both for SPDIF, I2S and ADAT outputs. All output slots are sample aligned for SPDIF and ADAT (DSPi slave mode) inputs.
 
Back
Top Bottom