• 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

That’s essentially what WiSA is. Based on WiFi hardware but a different protocol than your normal WiFi that achieves lower latency
Sonos also has been using WiFi hardware with a proprietary protocol for ages. But, just like UPNP / DLNA, it is strongly media oriented.

Wisa is controlled by manufacturers.

Why isn’t there a low latency bit perfect system out there for WiFi connections?

What would it take to make that for a system like this? Basically just a virtual audio card driver for the OS and a UDP receiving app on the pi?

Yes, it's frustrating that we still don't have a widely open standard for home wireless AoIP that can support remote virtual audio devices.

Maybe something like scream (raw PCM over UDP) could work in a pico 2 w? I guess rtp is too heavy.
 
Looks like we have a regression on the USB descriptors for some reason. I'll have to sort that out.

In the meantime, simply grab this application, launch it and select "Weeb Labs DSPi (Interface 2)" from the dropdown box. Make sure "WinUSB" is selected next to the green arrow and then choose "Install Driver". Give it a few minutes to install.

1770434479622.png



Once installed, everything should be working and you should have two DSPi devices; one under "Sound, video and game controllers" and the other under "Universal Serial Bus devices".

You can then use the DSPi Console application. If it's already running, clicking the reconnect button in the lower left corner should establish a connection to the board.
It looks like this needs to be installed. I'm showing "no visible usb
 
It looks like this needs to be installed. I'm showing "no visible usb
Yes, you will need to do this. The USB descriptor bug will be patched in this evening's hotfix, which will also include user-configurable output pins. :)
 
Thank You. the available selections are slightly different then what you were showing. Is it okay to go ahead and replace driver
1770928985217.png
 
Thank You. the available selections are slightly different then what you were showing. Is it okay to go ahead and replace driverView attachment 510632
The device selection needs to be changed to "Weeb Labs DSPi (Interface 2)" via the dropdown list. If it doesn't appear in the dropdown list, choose "Options", "Show All Devices" and then it should appear in the list.
 
I assumed that was a typo for 20ms because you also said 'low latency' and 200ms is certainly not low for latency.
It absolutely is. It’s easily fast enough to make video skipping and seeking around in audio feel nearly unnoticeable.

200ms is better than Bluetooth and Bluetooth is quite usable from. Latency perspective.
 
Thank you! :)

Yes, it can certainly function as two 4-way crossovers. Cardioid doesn't require FIR but it would increase the bandwidth of the cardioid behavior.

There will be a hotfix later this evening patching the USB descriptor bug, duplicating SPDIF 1 to pin 20 for backward compatibility and a few optimizations.
Sounds amazing - I'm getting my Pico2 next week!
Two questions:
1. The Pico 2 has a stock clock speed of 150 MHz but is widely known to be able to tick overclocked at 450-500 MHz without any issues, with a wee little heatsink. Wouldn't that higher clock speed open up some new opportunities that were dismissed as being too resource intensive (higher sampling rates, resampling, FIR) ? I'd love the option....
2. USB volume control is used for adaptive loudness correction - but what happens when the input is via SPDIF?

And an idea:
It's not full FIR but it's halfway there: I love the way CraveEQ uses linear phase for higher frequencies but analog style filtering for lows, in its Transparent Mode.
(I think you can choose the amount of latency you want to put up with, and that determines the cutoff freq between the two modes).
Maybe this could be a resource-conscious approximation of linear phase for those of us who drank the Kool Aid? Any chance you could implement something like this?
 
Sonos also has been using WiFi hardware with a proprietary protocol for ages. But, just like UPNP / DLNA, it is strongly media oriented.

Wisa is controlled by manufacturers.



Yes, it's frustrating that we still don't have a widely open standard for home wireless AoIP that can support remote virtual audio devices.

Maybe something like scream (raw PCM over UDP) could work in a pico 2 w? I guess rtp is too heavy.
Chromecast, Wiim and probably a few other proprietory systems can synch several playback devices. Some guy on the Wiim forum measured synch jitter between two devices and concluded you can actually set up a crossover by streaming to several grouped devices, with each device (such as a Wiim Pro or a Wiim amp) covering one way. Wiim itself suggests using a group to do a multi-sub setup or get a sub channel on a device such as the Wiim Pro that does not have a sub out.

So nifty things can be done but unfortunately not in an open protocol yet.
 
Not to worry. It happens!

When flashing, be sure to use a version that matches the version of DSPi Console for Windows that you have.
 
Sounds amazing - I'm getting my Pico2 next week!
Two questions:
1. The Pico 2 has a stock clock speed of 150 MHz but is widely known to be able to tick overclocked at 450-500 MHz without any issues, with a wee little heatsink. Wouldn't that higher clock speed open up some new opportunities that were dismissed as being too resource intensive (higher sampling rates, resampling, FIR) ? I'd love the option....
2. USB volume control is used for adaptive loudness correction - but what happens when the input is via SPDIF?

And an idea:
It's not full FIR but it's halfway there: I love the way CraveEQ uses linear phase for higher frequencies but analog style filtering for lows, in its Transparent Mode.
(I think you can choose the amount of latency you want to put up with, and that determines the cutoff freq between the two modes).
Maybe this could be a resource-conscious approximation of linear phase for those of us who drank the Kool Aid? Any chance you could implement something like this?
As it stands, the DSPi firmware overclocks both the RP2040 and RP2350 to 288MHz. Higher overclocks are absolutely possible and would increase the available headroom substantially but the clock speed that I selected was based upon three important criteria:

- Achievable by all RP2040/RP2350 boards at or slightly above stock voltage, regardless of silicon lottery.
- Is a multiple of the highest supported sample rate (48KHz).
- Delivers a significant performance improvement over the stock clock speed.

Higher user-selectable overclocks are a possibility at some point.

At 288MHz, the RP2350 is capable of 2,000 FIR taps in total. Even if we double that clock speed to 576MHz (a rather high overclock), that would still deliver just 4,000 FIR taps (2,000 per stereo channel) while consuming all available cycles. ASRC presents a very similar problem.

Hybrid FIR support is a possibility but I will have to do some investigation. :)

Regarding the volume control, this would be resolved by connecting a volume knob to a GPIO or using a remote control (IR, Bluetooth or Web UI). All of these are planned.
 
Hybrid FIR support is a possibility but I will have to do some investigation.
For squared magnitude filters or (I believe) crossovers that sum to allpass, the "reverse IIR" algorithm described in this paper may be feasible. It shows how a time-reversed IIR approximation can be realized with cascaded sparse FIR filters. Implemented this way, a time-reversed one pole lowpass truncated to 2048 samples requires only 12 multiplies and 12 additions per input sample. Time-reversed IIR allpass approximations are possible as well, which could be used for phase correction of external crossovers.
 
Everything works fine using the Pico 2. Just a quick question.
When I connect the Pico with my MacBook the Pico appears in the Finder.
However, after a while, it disappears from the sidebar.
How can I safely eject then the Pico?

BTW; It would be good if some of the windows such as Crossfeed and Loudness are resizable to still see the diagrams while changing parameters.
 
Everything works fine using the Pico 2. Just a quick question.
When I connect the Pico with my MacBook the Pico appears in the Finder.
However, after a while, it disappears from the sidebar.
How can I safely eject then the Pico?

BTW; It would be good if some of the windows such as Crossfeed and Loudness are resizable to still see the diagrams while changing parameters.
To be clear, do you have both a Pico 2 and original Pico or is it the Pico 2 that appears in your sidebar despite working correctly?

Yes, I will be making those windows resizeable.
 
Initially I started with the Pico using DSPi v1.06. Today I received the Pico 2 and replaced 1.06 with 1.08 and installed the latest FW on the Pico 2. Sometimes the Pico 2 cannot connect anymore to the DSPi console and I have to re-install the FW to connect it again to DSPi.
 
Initially I started with the Pico using DSPi v1.06. Today I received the Pico 2 and replaced 1.06 with 1.08 and installed the latest FW on the Pico 2. Sometimes the Pico 2 cannot connect anymore to the DSPi console and I have to re-install the FW to connect it again to DSPi.
When the Pico 2 no longer connects to Console, does removing and reinserting the USB enable it to reconnect? Additionally, does the audio device continue to work when Console will not connect?
 
Hi. Registered just to follow this thread, very interesting and cool procject, nicely done.

You mentioned earlier that up to 12 output channels was possible. Is this still true?

Also i come from using miniDSP’s and use them for LFE channels and lots of subs and TR devices in a home theater setup. So i use analog in/output RCA.

The PCM5102 DAC has been mentioned to use for the output channels, would this work to get analog RCA out:

I just found this on AliExpress: | PCM5102 DAC Decoder I2S Player Assembled Board 32Bit 384K Beyond ES9023 PCM1794 Decoder Board Module For Raspberry Pi
 
Back
Top Bottom