0

For a while now, I've had a 10-band graphic EQ as an ALSA output device on a Raspberry Pi (https://scribles.net/enabling-equalizer-on-raspberry-pi-using-alsa-equal-plugin/), to try and correct my speakers' overexuberant and almost-painful midrange. It works, but it also seems to corrupt the sound a little bit in addition to the desired effect. Like it can't quite keep up, and frequently drops enough samples to hear the glitches.

I really wanted a parametric EQ, since it only takes one or maybe two bands of that to do what's really needed, but I didn't find any in an easy-to-add format. And I don't think it would fix the glitches.

So I want to offload that processing to another device. I thought about creating a one- or two-band analog PEQ circuit, since my speakers only have an analog input anyway, but if I can put that function before the DAC, I think it would be even better. Is there such a thing?:

  • USB stereo "sound card", nothing fancy on that front
  • Full-parametric EQ as a DSP function
  • Stereo DAC

I suspect that it would be a USB composite device between the obvious audio interface, and USB-HID or -MIDI for detailed settings, but not necessarily. However it works is fine with me, as long as it works with a Pi.

10
  • Maybe this can fit the bill. It says it's supported by Alsa at least: minidsp.com/products/plate-amplifiers/il-dsp-headphone-amp Has a parametric EQ that can be easily disabled. – Natsu Kage Feb 12 '20 at 4:43
  • @NatsuKage It also says that the control app only works on Mac and Windows. Not Linux. Otherwise, it looks nice. (I guess I could jerry-rig a Windows box to it and set it that way, then plug it back into the Pi, but that's kinda clunky.) – AaronD Feb 12 '20 at 5:43
  • You could also just make a quick VM of windows on Linux and control the app from there. I agree its not ideal... Fits the bill I think though once programmed. Not exactly cheap, though its fine for the price range. – Natsu Kage Feb 12 '20 at 9:02
  • Why not go for an analog solution? I used a 40-years old EQ on the line between my PC and the amp (no eq loop unfortunately :/) and it worked decently. – Jan Dorniak Feb 19 '20 at 9:11
  • @JanDorniak Yes, I could do that, and I haven't completely discounted the idea. It would need to be a custom design because of the physical space, but I can do that. But then there's the cost of making a custom one-off device, compared to an off-the-shelf thing that does far more. – AaronD Feb 19 '20 at 15:30
1

A proper answer this time, since you seemed interested in my comments.

If you are up to it, AudioWeaver, the DSP code generation tool is free for ST Microelectronics microcontrollers.

How this works, is you create an effect/EQ/what you want in AudioWeaver and upload it to the memory integrated in the microcontroller. It then functions as a sound card. During development you use a second USB cable to upload the effect.

If you do not want to design a custom board, two not expensive kits are:

  • STM32F4DISCOVERY, listed on ST's website for 20 USD
  • 32F769IDISCOVERY this one is 49 USD without display, 80 with, but has a bit more CPU power and a whopping 8 MB of RAM. Also the DAC looks a bit better.

Do keep in mind that the DACs used are not top class and the analog part is fully integrated into the DAC ICs, meaning that it will not be top quality (but you probably can't hear it).

Some other points raised in comments:

  • AudioWeaver itself is Windows only, but all your settings are written to the board, so they are remembered through power cycles.
  • I believe the board shows up as a standard sound card, meaning it should work with most systems - I certainly did not install any drivers on W10
  • You only pay for the board
  • You only use one "IDE" - Audio Weaver - to generate and upload the binary to the board
  • If you wish to, you can generate a set of libraries which you can link to your own code (perhaps allowing for using the touch screen to control your effect?)
  • If you like tinkering, a quick google shows that the F407 board is supported by Arduino IDE

There is a video demonstration on YT.

19
  • One more question...I think. From what I've seen so far, it looks like I would buy the board and only the board, install a free IDE on a Windows box, use the IDE to put an existing demo program on the board, and then use a different function of the same IDE to tweak some predetermined settings. If I wanted to, I could then change the demo program to do whatever I want, and the only cost in total is the board itself. Right? – AaronD Feb 19 '20 at 21:01
  • @AaronD I edited my answer to answer you – Jan Dorniak Feb 19 '20 at 21:11
  • It's not what I had in mind, but better! Thanks a lot for the video! I really like the LabVIEW/signal-flow feel for signal processing instead of the direct procedural math in C that I would have done it in. I might just have to go for that! I'll let it sit a bit to see if someone else can beat it, but it's going to be pretty hard without an equivalent of AudioWeaver on a Pi. – AaronD Feb 19 '20 at 21:26
  • Actually, the paid version of AudioWeaver supports the Pi itself from what I saw. – Jan Dorniak Feb 19 '20 at 21:27
  • Where did you find that? I'm coming up empty. I found the paid version just fine, but I don't see the Pi mentioned. – AaronD Feb 19 '20 at 21:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.