Getting started with DSP


#1

I love that JUCE is such a well documented tool for building DSP and
audio apps. I just think for my current needs I want to soend more time with python. Any thoughts on this book as a good place to get started? httppress.com/wp/think-dsp/

Is there a python wrapper for JUCE?


#2

I’m sorry, but, the only answer to that is, WHY?


#3

Why not? Python is great for a lot of things. It’s mainly about getting the most done with simple syntax. What if I don’t care about performance or, really want a python wrapper for JUCE?


#4

I am not aware of any, sounds like a great idea.
Out of curiosity, which way would you want to wrap? Calling JUCE dsp classes from python or calling python scripts from JUCE?


#5

For Python, there’s at least this for audio DSP :

For GUI, there’s a variety of options for Python. I am not sure if there’s really anything left for JUCE to do, if you want to go with Python.


#6

Nice! Yeah I mean I like c++ it just has a steap learning curve that I think has gotten in the way of learning the math and logic. I think I still want to do c++/c for fun but getting apps off the ground and understanding or getting used to the math is my primary goal for future employment. I’m a college kid right now at American University in the Audio Technology department. Unfortunately there’s not a lot of classes currently offered for DSP specifically. I figure if I learning on my own Python will be my best asset. I looked at JS. I don’t really understand it.


#7

I would definitely want to call c++ from python. My goal is to cut back the syntax to learn the math/logic of this stuff.


#8

C++, Python, JS, all these languages are using the same concepts and are very close in syntax in my opinion. Which means that if you learn properly one of them, you’ll be able to use the other ones. You’ll just need to adapt your knowledge to the context of the other languages, since you won’t do the same thing at all with them, you won’t use the same IDE, the same frameworks etc.

So instead of focusing on any specific language, ask yourself first what you want to do it with it. If you don’t care about web development, you should stay away from JS. If you want to code cool audio applications and plug-ins, just use JUCE with plain C++. If you want to focus on prototyping audio DSP, you might want to learn how to do it with Python, but you could create stuff way faster with Faust for example, or the script language in the DAW Reaper.

And if you care about what skill set will make more sense for future employement, then you might want to ask what are the tools used by some people in the companies you are interested in. All the plug-in developers are doing C++, and most of them don’t care about Python. In research laboratories and universities, people use python and/or Matlab, but not C++ that much etc.


#9

Okay so I want to build an app conceptually similar to Shazam, to proto type DSP and also learn what I need to do more cool stuff in c++. I want to help people. I want to use audio analysis, web scraping and data science as a mechanism of matching songs and audio to each other and to other media in a coherent way. I also want to be able to fir example, give my machine the word “exam” and have it use psychology information matched to audio fingerprints in order to provide say white noise to help someone study, or something else audio pyschology says works. I want the app to filter out songs similar to those someone dislikes based on a similar audio analysis. I want to build stuff in c++ but I want to focus on the big picture of using audio in an assistive way. Python, calling C++? As far as whether to bother with the web, the web audio API could be useful for offline analysis could it not?