Select Page

About a year ago, I found Josh Hodges‘ Youtube Channel The Audio Programmer and became involved in the Discord Community. Since then, many people from a variety of experience levels and backgrounds have joined. If you would like to join us and contribute to the community, feel free to connect with us here and using the links provided in this article.

We get a lot of questions about Digital Signal Processing (DSP) almost every day. Many in our community are users of the Juce Framework and DSP is a fundamental aspect to most projects. Fortunately, Juce includes some useful, user-friendly and important DSP classes. Just check out the tutorials on The Audio Programmer channel. However, those classes and functions may only get you so far. At some point, you will have to understand how to implement your own DSP algorithms. In this article I have worked with Maxwell Hayes in order to lay out various resources to learn DSP.

## Learning Digital Signal Processing

DSP is fairly ubiquitous in engineering. It is a core aspect of robotics, avionics, electrical engineering, audio processing, telecommunications, image processing, video processing, medical diagnostic systems and many other technologies. What is useful, is that while the context and application can change, the math is almost always translatable.

Therefore, there are two ways to learn DSP:

1. Low Level First Approach: This is the approach typical of Electrical Engineers. This approach utilizes basic concepts and expresses those concepts mathematically. This is math intensive and so you need to find good explanations or teachers.
2. High Level First Approach: This approach is useful to most software developers. This approach starts with goals and specification and then breaks down an intended system to its core components.

Honestly, you will have to be able to think in both approaches in practice. You need to be able to understand the creative ways in which you can create DSP systems but you also need to be able to understand the mathematics so that you can create better code and testing systems.

## Our Favorite Resources:

You should pick the resources that are more useful or interesting to you. We will try to update these lists as time goes on.

### Books:

[1] Schaums Outline of Digital Signal Processing, 2nd Edition (Schaum’s Outlines) If you are in university, this book will probably be your best ally. Great examples and highly descriptive mathematics.

[2] Understanding Digital Signal Processing This book also has great explanations like the Schaums Book.

[3] Digital Signal Processing: A Practical Approach This is more of a high-level first approach which will show you many ways in which DSP can be used.

[4] A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music This source is not too extreme on the mathematics. It is well laid out from the basics of signal analysis in the continuous domain to the digital domain.

### Websites:

[1] http://www.dspguide.com/ch1.htm This is actually an entire book. You can support the author by buying the hardcover version. This book does not have the mathematics presented in the most useful form. However, you can still use it for great conceptual explanations of key concepts.

[2] https://ccrma.stanford.edu/~jos/ My favorite site. This is the single best resource for audio developers.

[3] musicdsp.org For audio developers this is helpful but I do not think all of this code is exactly best practice. That being said, excellent learning tool.

[4] https://www.dsprelated.com/ This site requires sufficient understanding of DSP and coding of DSP. It is more for advanced users but it is worth looking at.

## Conclusion

I hope these resources serve you well when looking to understand DSP and its many applications. Some academic articles are difficult to understand. However, if you use these resources, you will get there. This list will be updated from time to time. Until then:

Be good to each other and take it easy…

-Will ☜(ﾟヮﾟ☜) and (☞ﾟヮﾟ)☞ Maxwell

Will Fehlhaber is an Acoustics Engineer and Audio Programmer from the UK and Bay Area.

Maxwell Hayes is an Audio/DSP Programmer. Musician. Sound Designer. Senior at DigiPen Institute of Technology.

## Related

### Privacy Preference Center

#### Necessary

These cookies are used to record GDPR choices and to provide the minimum necessary functioning of the website for both logged-in and non-logged in users. The third party cookies from Google power the search engine on our site.

wpc_wpc, wp_api_sec, _wpndash, wordpress_logged_in, recognized_logins, G_ENABLED_IDPS, usprivacy, wordpress_sec, wp_api, tk_ai, gdpr[consent_types], wp-settings-time-20, wp-settings-20, gdprprivacy_bar, wordpress_test_cookie, gdpr[allowed_cookies], wp-settings.time-1, last_active_role,
ANID, 1P_JAR, CGIC,DV, SEARCH_SAMESITE

#### Analytics

Part of our website uses Google cookies to provide site analytics (how our website is used). This helps us to improve our website and create content suitable for all our visitors. You can learn more about how Google uses cookies, and how to manage them at

_gat_gtag_UA*, _ga, _gid, , CONSENT
__Secure-3PSIDCC, __Secure-3PSID, SIDCC, __Secure-3PAPISID, SSID, SAPISID, APISID, SID, NID, OTZ, COMPASS

#### Learning Content

We use Dropbox to deliver some of our paid for learning content. This places cookies on our website managed by Dropbox.

jar, locale, __Host-js_csrf, t, lid, last_active_role, bjar

#### Shopping Cart

These cookies are used to process the payment for paid-for content and to grant access to that content. Our website uses the WooCommerce platform to handle the shopping cart and the PayPal gateway to handle payment processing.

wp_woocommerce_session, woocommerce_items_in_cart, woocommerce_cart_hash, tk_ai, tk_us, mailchimp_user_mail, mailchimp.cart.current_email

#### Mailing List Subscriptions

We use a Wordpress plugin to manage our email subscription sign up. We use Mailchimp to handle and manage email to our subscribers, but we don't use their cookies on our site. For more information on MailChimp Cookies, visit https://mailchimp.com/legal/cookies/

et_bloom_optin_optin*, et_bloom_subscribed_to_optin

_fbp