Intro to DSP?

Disabled Account
Joined 2002
I've never dabbled in DSP, and would like to have a go. Frankly, the amount of material is already overwhelming.

My wish list a DSP solution that is (1) cheap, and (2) embeddable (i.e. no permanent PC connection). Is there something like a RPi solution that uses freeware?
 
Do you want to build something? Do you need it to be reconfigurable when not connected to a computer? Do you want to learn how DSP works? Do you have general programming skills? IOW, could you be a little more specific? RPi can play music and might be able to do some tone controls or something, but probably limited computing power. Some DSP can be rather computation heavy.
 
Last edited:
If you want to build speakers and spend time designing FIR filters and IIR filters and crossovers and such, it is hard to beat the miniDSP 2x4HD or other products depending on how many channels you want to use. The 2x4HD is available as a populated circuit board without a case for about $200. The miniDSP software is very good and easy to use. The mulit channel Hypex plate amps are even more convenient, but those only offer IIR filters (biquad). If you have a PC as a source, equalizerAPO can filter and route signals to multiple channel DACs. If you want to build DSP hardware, there is a thread on this site about such a project. https://www.minidsp.com/products/minidsp-in-a-box/minidsp-2x4-hd.
 
^ what is an hardware DSP? A 'small' dedicated computer and adc/dac ( iow a soundcard...). 😉
A computer AS dsp is the cheapest and most powerful solution ( as it is not locked, can be upgraded (software/hardware)), can integrate player too,....

I use both because one can make things the other can't.

Both solution have pro and con, depends what you want in the end.
 
  • Like
Reactions: CharlieLaub
CamillaDSP is very powerful, but with that goes complexity. I have been using computer(software) based DSP on small and cheap Linux computers for over a decade now, and if you are just starting to get into it there are software platforms that are simpler and easier to understand. The one I started with is called ecasound. It is a Linux audio processing app, command line only. The ecasound software takes care of the ROUTING duties - these are needed to separate the audio into bands. This might be envisioned as simply copying each of the left and right channels N times, to create the audio stream for the N bands of the loudspekaer, e.g. a 2-way speaker has 2 bands for each speaker, etc. Then you need to apply filters to each band to make the audio in each band cover only some portion of the audio frequency spectrum. Again, for a 2-way application you want only high frequencies to go to the tweeter and only low frequencies to the woofer. These are the crossover filters. You will likely also need some EQ/shaping/baffle step correction filters. To implement all of these types of filters I use LADSPA. This is a way to code up DSP under Linux so that another program can send audio through the code. Don't worry you do not have to write any "code" per se, that is already done by the author of the plugin. instead you tell the plugin what to do via an interface consisting of a couple of parameters. Instead of talking directly to the plugin, you provide the parameters through the "host" (in this case ecasound) and it passes them along to the plugin. LADSPA plugins are free and open source, and there are several good ones to use for loudspeaker crossovers, including the ones that I have written that you can find via my signature. To run ecasound you write some ecasound commands in a text file and run it as a batch file. Changing the DSP is easy - you just change the text in the file and restart.
Implementing Crossovers Using Ecasound and LADSPA

A separate task for loudspeaker design is determining what DSP (the filters) are needed in the crossover. For this you need another (crossover design) program. This is the same no matter what DSP approach you choose.
 
  • Like
Reactions: prairieboy