• 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

I would want it to be wireless, please. Otherwise, it looks great. (I turned down the miniDSP rotary for that reason.) I'm a probably-next-year user, so not immediately important.
If you can find the right hardware to support that, or know somebody capable of producing it, let us all know. I know enough to buy something that has a chip in it that I know how to work with and has the right hardware to solve my problem. I am just writing code that's targeting a specific device and I am not a hardware person or EE by any stretch of the imagination.
 
FYI Eitr 2 from Schiit is leading contender for my preamp/streamer USB out.

I hate having to deal with my phone though, really interrupts my moment, just as much as during sex
 
I would love a high-end M5Dial type product. Bigger screen, bigger knob, weighty and smooth high end feel, fully programmable esp32 still, and yeah, tactile feedback would be icing. Oof that would be nice, and I'd gladly pay more for it (within reason) if somebody finds or creates such a thing. The M5Dial is not going to satisfy anybody who requires a high-end feel, but it also doesn't feel super cheap once mounted.
Have you tried the Waveshare one? There's also a DIY option that uses a BLDC motor for the haptic feedback, but the motor alone costs about the same as the Waveshare one, and 3d printing the parts in metal probably wouldn't be cheap. It might still fall within your definition of 'within reason' though.
 
Have you tried the Waveshare one? There's also a DIY option that uses a BLDC motor for the haptic feedback, but the motor alone costs about the same as the Waveshare one, and 3d printing the parts in metal probably wouldn't be cheap. It might still fall within your definition of 'within reason' though.
I did checkout the Waversahre one, and chose the M5 dial for the panel mount form factor and CircuitPython support because I'm not a C developer. The display in the Waveshare does not have any support in CircuitPython, and so unfortunately there is also no support path to make my deloop project run on it. I saw that haptic DIY one also, but not looking for that much DIY on the hardware.
 
DIY option that uses a BLDC motor for the haptic feedback, but the motor alone costs about the same as the Waveshare one
still cheap IMO!

Fantastic demo, truly inspiring!

3d printing the parts in metal

CNC or even OG lathe might be enough.

Personally I don't want a screen always there, and I hate gaming stylr RGB bling

maybe the heavy metal "knob" is just a cylinder top, pull it off when you need to re-configure, e.g. gain staging changes, reset your endpoints

Someone take my money!
 
I'm want building a DSPi-based amplifier with an active crossover and room correction to drive three-way speakers. I'll be using four MA12070P amplifiers. So I'm studying the DSPi in detail. I really liked the room correction. I compared the DSPi with the EqualizerAPO. The results were virtually identical. Considering the cost and processor power, the author's work is excellent.
View attachment 550357View attachment 550358

However, I ran into a small issue when testing the crossover bandpass filters. Artifacts appeared for the woofer at 36 and 48 dB per octave attenuation at frequencies up to 1 kHz. At 12 and 24 dB per octave attenuation, there were no such artifacts. I'm not sure how necessary such hi-order filters are :) . But if they're, they should work.
View attachment 550359
Were these measurements taken on an RP2040 or RP2350?
 
Could you possibly share some more details regarding your measurement setup? I can see from your screenshots that the artefact appears to have occurred after the sweep rather than during it.
 
Could you possibly share some more details regarding your measurement setup? I can see from your screenshots that the artefact appears to have occurred after the sweep rather than during it.
Of course. I set the low-pass filter to 500 Hz. The sweep tone lasts from 0 to 30,000 Hz. It's visible at first. Then, as it increases above 500 Hz, amplitude decreases at different rates depending on the filter order. At the point where the artifact appears, the signal is still present, it's just filtered. The image shows what the signal fed to the DSP looks like. At the 12-second mark, there's a high-frequency signal.
sw.png
 
Last edited:
I'm already loving this project :) . I connected the encoder to the volume control. Everything works without a problem. But I couldn't get the work to the source selector encoder button. The button itself works, but only in one direction. The loop doesn't work. Am I doing something wrong? Also, is there a way to edit the input source list? I need USB and SPDIF, but I don't need I2S.
 

Attachments

  • btn.png
    btn.png
    46.7 KB · Views: 60
Of course. I set the low-pass filter to 500 Hz. The sweep tone lasts from 0 to 30,000 Hz. It's visible at first. Then, as it increases above 500 Hz, amplitude decreases at different rates depending on the filter order. At the point where the artifact appears, the signal is still present, it's just filtered. The image shows what the signal fed to the DSP looks like. At the 12-second mark, there's a high-frequency signal.
View attachment 550602
What is the configured sample rate? It looks like 96KHz. If so, could you please repeat the test at 48KHz?

Regarding the input cycle, I will check this in the morning and try to replicate the issue that you have encountered. :)

The input source list is not fully customisable at the moment. Additional SPDIFs and ADAT can be shown or hidden.
 
What is the configured sample rate? It looks like 96KHz. If so, could you please repeat the test at 48KHz?
Yes, it's 96 kHz. I'll try 48 kHz, but a little later. I don't want to use the Windows resampler; I'm using Wasapi Exclusive. I'll need to create a sweep tone at 48 kHz to reduce the likelihood of other factors interfering.
 
If so, could you please repeat the test at 48KHz?
I shouldn't have raised the alarm. Having assembled a measuring rig at work, I didn't see any artifacts. The recording was clean at both 48 and 96 kHz. These were quirks of Windows or my DAC/ADC. But artifacts had always.
 
I shouldn't have raised the alarm. Having assembled a measuring rig at work, I didn't see any artifacts. The recording was clean at both 48 and 96 kHz. These were quirks of Windows or my DAC/ADC. But artifacts had always.
I'm glad to hear that everything is working properly. Thank you for retesting it.

Not sure if this has been posted here already, @Weeb Labs congratulations, your project is featured in the current issue of the most serious German IT magazine:
Thank you for letting me know. I had no idea. I'll have to see if I can get a copy of the issue!

Slightly behind on my weekend schedule but I have just released DSPi Firmware v1.1.6 Beta 1, along with an update to Console for macOS. Windows will be on the way shortly.

The complete feature set for v1.1.6 will materialize over the next few beta releases, as was the case for v1.1.5. This is to ensure that we have time to thoroughly test each component. :)

1786378272853.png
1786378142170.png

1786378580081.png
1786378743676.png


Here is the full list of changes:
  • RP2040/2350: Another major optimization to PEQ and XO filters, improving performance by up to 35%
  • RP2040/2350: Macros are now supported, each with a persistent name and enabling up to 8 sequential actions to be executed automatically via Control Surfaces, UART/I2C or USB
  • RP2040/2350: Channel Groups are now supported, enabling the user to define named groups of channels and then perform actions on them via Macros, Control Surfaces or UART/I2C.
  • RP2040/2350: Delays for indicator outputs can now be configured up to 110 minutes and a global `Input Signal Level` item has been added. This can be used to set up an effective trigger output, @staticV3. There will soon be a dedicated CS component for this.
A deceptively short list, as Macros and Channel Groups enable an immensely expanded range of workflows!

The usual disclaimer: This is beta software 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.
 
Last edited:
chose the M5 dial for the panel mount form factor and CircuitPython support because I'm not a C developer
Honestly, these days it doesn't matter what language you know best. A programmer is a programmer (in the sense of thinking about how the code must interact with a specific hardware)

Create a completely free GLM account (https://chat.z.ai/) and ask the LLM to write C code for you. Explain what you want to achieve and outline what you think should happen. One trick I learned is to tell the LLM upfront to not start until I type "proceed" and I can provide all the information needed in a series of ling prompts. Then ask the LLM to present an implementation plan. Finally, once I'm happy the LLM knows exactly what I want, type "proceed". If the code doesn't work on the first try, explain what didn't work and what you want.

It's all a long series of copy and paste.

Now, I wouldn't ask an LLM to implement something as tricky and timing-optimized as DSPi, for that you need a real (and really good) programmer familiar with the device and all the optimizations. But to develop UI or input devices, I bet you that you'd have something faster in a language you are not familiar with and an LLM than with CircuitPython

I have been coding since the late 1970s and have been working on all sorts of embedded devices in C. Still, for my last project, I'm having the LLM write most of my code. It's not "better code" by any stretch of the imagination, but I'm much more productive
 
Is anyone having trouble with toslink output on newer versions of the firmware? On 1.1.5 and later I get coax output but not toslink. On 1.1.4 I get both.
 
Is anyone having trouble with toslink output on newer versions of the firmware? On 1.1.5 and later I get coax output but not toslink. On 1.1.4 I get both.
Works fine for me. But please do explain your setup and if you did anything else, so Troy might be able to look into it.
 
Hi, I'd like to use an infrared remote control.
Which infrared receiver (frequency) works? And which remote control is compatible?
Here are a few more pictures from the German edition of *ct*.
index.php

Greetings from Berlin, Thilo
ct_02.jpg
 

Attachments

  • ct_01.jpg
    ct_01.jpg
    331.9 KB · Views: 473
Hi, I'd like to use an infrared remote control.
Which infrared receiver (frequency) works? And which remote control is compatible?
Here are a few more pictures from the German edition of *ct*.
index.php

Greetings from Berlin, ThiloView attachment 550914
Thank you very much for sharing!

To set up an IR remote control, you can use one of these inexpensive VS1838B receivers.
 
Back
Top Bottom