Best products from r/DSP
We found 35 comments on r/DSP discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 39 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
2. Designing Audio Effect Plug-Ins in C++: With Digital Audio Signal Processing Theory
- Focal Press
Features:
3. Discrete-Time Signal Processing (3rd Edition) (Prentice-Hall Signal Processing Series)
- Used Book in Good Condition
Features:
4. The Scientist & Engineer's Guide to Digital Signal Processing
Used Book in Good Condition
7. The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors
- Addison-Wesley Professional
Features:
8. A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music
- Used Book in Good Condition
Features:
12. Designing Software Synthesizer Plug-Ins in C++: For RackAFX, VST3, and Audio Units
- Focal Press
Features:
13. Mathematics of the Discrete Fourier Transform (DFT): with Audio Applications ---- Second Edition
Used Book in Good Condition
15. Fundamentals of Radar Signal Processing, Second Edition (McGraw-Hill Professional Engineering)
Used Book in Good Condition
16. Digital Signal Processing and the Microcontroller
- International Version- Product may not have US Warranty
- Fast battery charging: 60% in 30 min (Quick Charge 2.0); Wireless charging (Qi/PMA) ; market dependent; ANT+ support; S; Voice natural language commands and dictation; OneDrive (115 GB cloud storage); Active noise cancellation with dedicated mic; MP4/DivX/XviD/WMV/H.264 player; MP3/WAV/WMA/eAAC+/FLAC player; Photo/video editor; Document editor.
- Corning Gorilla Glass back panel; Super AMOLED capacitive touchscreen, 16M colors; 5.1 inches (~72.1% screen-to-body ratio)
- Dual-core 2.15 GHz Kryo & dual-core 1.6 GHz Kryo; Quad-core 2.3 GHz Mongoose + quad-core 1.6 GHz Cortex-A53
- Unlocked cell phones are compatible with GSM carriers like AT&T and T-Mobile as well as with GSM SIM cards (e.g. H20, Straight Talk, and select prepaid carriers). Unlocked cell phones will not work with CDMA Carriers like Sprint, Verizon, Boost or Virgin. NOTE: Phone can be unlocked by making 5 mins call to activate the phone of outside USA.
Features:
17. Introduction to Digital Filters: with Audio Applications
- Used Book in Good Condition
Features:
19. Digital and Analog Communication Systems (6th Edition)
- Realistic swing-out cylinder with 8-round clip
- Heavyweight, metal and polymer construction
- Ergonomic, finger molded, textured grip
- Fixed blade front, fixed notch rear sight
- This product is restricted from shipment into the state of New York
Features:
20. C Language Algorithms for Digital Signal Processing
- X Large and wider design
- Backrest is high and straight for great head support; Flexible seat back with adjustment
- 360-degree swivel base with smooth 3" double caster wheels, for easy rolling
- 90° 4D Arms, rocking function, Strong aluminum star base with the latest footrests
- Lifetime warranty on frame, 24-month warranty on parts
Features:
It kind of sounds like you'd be good just getting a textbook. I think any book will be fine since you mainly just want questions (and presumably answers), but try to find one that implements code in a language that you're comfortable with, or that you want to learn.
There are a lot of different "final year" DSP courses, but it sounds like you want something covering the fundamentals rather than anything too advanced. I started off with The Scientist & Engineer's Guide to Digital Signal Processing and then used Signals and Systems for my first undergraduate course, but we used it largely because he co-authored it. I would recommend scouring the web for some free books though. There are books like ThinkDSP popping up that seem pretty neat.
Edit: Oppenheim is always mentioned also.
As a software developer the hardest part will probably be sharpening your mathematics skills. At my undergrad the CS kids only took up to Calculus II, which is really not enough math.
I started on DSP as a sophomore, teaching myself from this book. Even though I was able to implement a few filters successfully and understand the basics, I don't think it really clicked until I took a linear systems course.
All that being said, you can totally do it. But it won't be easy without the technical background - sure you use the tools we make, but honestly we hide most of the technical parts from the user anyway (the user doesn't know about or care about Butterworth vs Chebeshev filters). Put in the work to learn the mathematics. I recommend Oppenheim and Willsky if you don't have the linear systems background. Besides that, you really just need to show the company that you're a music lover, and it looks like for you that should be easy enough. PM me if you want more info.
+1 for Cortex-M (with FPUs). I'm building a guitar pedal with an STM32F407 and it handles 12x oversampled distortion and a bunch of biquads at 48kHz (mono). It is paired with a CS4272 audio codec with DMA handling the I2S data.
It won't handle any reasonable FIR filter and the RAM limits it to ~500ms delay. There is a discovery board with external RAM but I haven't tried using it.
The F7 series are clocked a bit faster and some come with a double precision FPU instead of single but they have the same instruction set as the F4s. The Cortex-M7 has a longer pipeline (6 Vs 3 stages, probably to support the higher clock rate) so branching is probably less of a penalty on the M4.
This book is an excellent guide to the low level guts of the Cortex-M3 & M4 chips and contains a chapter dedicated to DSP on the M4. Long story short is contains a bunch of DSP instructions such as saturating integer arithmetic, integer SIMD, floating point fused multiply-accumulate etc which makes it semi-competitive against "true" DSP cores. The book compares the M4 and Sharc DSP to show that there's a big jump between them but the M4 wins hands down for ease of learning & development (strong community, free (GNU) tools etc).
Edit: If you want hardware this audio codec can be paired with this STM32F7 kit or this motherboard paird with this STM32F4Discovery board can take it as well.
I know of some good text books that are pretty easy to read. The Oppenheim and Schafer are considered by a lot of my former profs to be the bible of DSP intro:
http://www.amazon.com/gp/product/0131988425/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=486539851&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=0132146355&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=17WDV1JR8EA7P3D8W78A
It's pretty comprehensive, so if you're looking for something simpler, this is a pretty short and intuitive intro text (which was actually my first exposure to DSP!):
http://www.amazon.com/Digital-Signal-Processing-Primer-Applications/dp/0805316841
The other guys covered your specific filter question, so here's some general info on learning/implementing DSP via code. I don't know whether you're a programmer already or not, so if you're not, DSP is not a great way to learn C programming from the beginning. Basic DSP like your low-pass filter is not very demanding of more advanced programming skills, but it IS (relatively) hard to debug. I don't even want to imagine how awful debugging DSP output would be for a new programmer who's not yet sure his basic code even works properly. Much easier to learn C by writing some scrubby text output programs rather than staring at a huge pile of output floats.
If you're already comfy with C, you're just going to have to dig into some textbooks and work your way through them. Don't let them scare you. The math looks ugly, but it REALLY isn't! I highly recommend combining at least two sources for each topic.
http://www.dspguide.com/ is free and great for understanding what you're doing. Very little math, very heavy on explanations of how DSP works. Read the section on filters or whatever from this book first.
http://www.amazon.com/Audio-Programming-Book-Richard-Boulanger/dp/0262014467 is the math side of the same DSP topics + lots of actual C code implementations of each
If you make it through the pair all the way, you've pretty much got an entire foundation
As far as I know, PolyBLEP is a really good way to handle discontinuities without using too much processing time, so I would stick with that.
An old professor of mine wrote this book on developing DSP plugins that has algorithms and code for pretty much anything you can think of, and I highly recommend it. It's written to go along with his software, but you can adapt the algorithms pretty easily.
http://www.amazon.com/Designing-Audio-Effect-Plug-Ins-Processing/dp/0240825152
I really liked the The Scientist and Engineer's Guide to
Digital Signal Processing for getting started. You can read the whole book online for free.
After that Fred Harris' book is excellent too. http://www.amazon.com/Multirate-Signal-Processing-Communication-Systems/dp/0131465112/ref=sr_1_2?s=books&ie=UTF8&qid=1317499091&sr=1-2
This is the book we're 'using' in class. Really he just printed out a couple chapters for us to read. It's a pretty old school book (like '79), but it's all still relevant and it is a pretty well written text. Here's another but my personal recommendation would be the former.
Fair warning: synths can be beasts. The DSP part isn't what's going to give you the most trouble, hopefully. This book covers synth architectures and coding them in C++. I strongly recommend going through his first book on audio effect plugin design. The author is a former engineer at Korg.
I strongly recommend you start with a plugin before porting it to a hardware platform.
read these pages from the beginning. this is the best introduction I've read. https://ccrma.stanford.edu/~jos/mdft/mdft.html
or buy the book which is better formatted https://www.amazon.com/dp/097456074X/ref=cm_sw_r_cp_api_E0JNzbCFC34Q1
I think The Scientist and Engineer's Guide to Digital Signal Processing and Understanding Digital Signal Processing and generally considered the most accessible introductions. I've gotten more mileage out of Understanding DSP; I feel like it goes into a little more detail and really works to walk you through concepts, step by step.
http://www.dspguide.com/pdfbook.htm
https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
Aside from searching out good learning resources, IMO nothing is more helpful for learning than setting up your environment with Matlab, Jupyter notebooks, or whatever you're going to use, and getting comfortable with the tools you'll be using to explore these topics.
Will Pirkle’s new edition of Designing Audio Effect Plugins in C++ is a great introduction to both DSP and plugin programming. I can’t recommend it enough!
"fundimentals of radar signal processing". This is an excellent book to start from; couldn't recommend it enough. Covers all the material well with a quick refresher of signal processing up front. It also reads very well.
http://www.amazon.com/Fundamentals-Processing-McGraw-Hill-Professional-Engineering/dp/0071798323
If you are a complete rookie, then I suggest you to read DSP and the Microcontroller. Very easy to read, little of math and a lot of humour (sic!).
This one is very good:
https://www.amazon.ca/Introduction-Digital-Filters-Audio-Applications/dp/0974560715/ref=sr_1_2?ie=UTF8&qid=1464858116&sr=8-2&keywords=julius+O+smith
So is the rest of the series. It's also free online on JOS's website if you google it.
Try these to get started:
More advanced, but also very good:
http://www.amazon.com/Digital-Analog-Communication-Systems-Edition/dp/0130812234/ref=sr_1_2?ie=UTF8&qid=1383196967&sr=8-2&keywords=couch+communication
Buy this for .01. Great book, full solutions manual is online.
I started with this book back in the 1990s. It's old, but the principles are still the same and it's a very good book. It gives a correct technical explanation without going into too much detail and presents the full source code for everything.
In a way, I could say every single program I have written on DSP to this day has some roots in that book.
Check out chapter 7 of Discrete-Time Signal Processing by Oppenheim and Schafer. The whole book is great.
https://www.amazon.com/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
There's probably a free pdf floating around somewhere on the net.
Get Rick Lyons' book, he makes the math easy.
https://www.amazon.ca/Understanding-Digital-Signal-Processing-3rd/dp/0137027419
I found Rick Lyon's book a much easier read.
Understanding Digital Signal Processing by Richard Lyons is the best intro in my opinion:
http://www.amazon.com/gp/aw/d/0137027419/ref=mp_s_a_2?pi=54x75&qid=1344996249&sr=8-2
Teaches concepts without getting bogged down in the math details. Once you understand the concepts, get Oppenheim and Schafer to learn the dirty details.
I personally like The Scientist & Engineer's Guide to Digital Signal Processing . The author explains a lot of concepts very clearly in laymen terms. I think the only flaw is that it doesn't cover a ton of material, only the basics.
Other than that, I think Mitra is a good book. One thing to look out for is its errata list. It's somewhat frustrating to have to double check for errors in the book when working homework problems.
Hands down, no question, I would recommend Richard Lyons' book FIRST.
This is what I use: http://www.amazon.com/Signals-Systems-2nd-Alan-Oppenheim/dp/0138147574
This book.
http://www.amazon.co.uk/Designing-Audio-Effect-Plug-Ins-Processing/dp/0240825152/ref=sr_1_1?ie=UTF8&qid=1367506075&sr=8-1&keywords=audio+programming+effects
Understanding DSP by Lyons, hands down. Get it and never look back. AWESOME book. http://www.amazon.com/Understanding-Digital-Signal-Processing-Edition/dp/0137027419