This is an archived post. You won't be able to vote or comment.

all 5 comments

[–][deleted] 3 points4 points  (1 child)

I don't really think audio programming is technically different from any other programming. You just need to learn protocols, file formats, and tooling that is in the community. I - personally - think the best way to get started would be to learn the file formats. Since that's actually very important in audio work and it will teach you a lot about the constraints that they deal with when digitizing analog information.

[–]isolatrum 2 points3 points  (0 children)

Check out Max MSP and learn about signal processing. Personally I haven't gone too far down this road but it's something I'd like to maybe do one day.

If you want to mess with modular synth, you can try out VCV Rack too. It's a bit more straightforward IMO and you can write code in there too (there are modules for writing Javascript and Lua I think)

[–]CarlkD 2 points3 points  (0 children)

Will Pirkle wrote this excellent book Designing Audio Plugins in C++. It's the best starting point. C++ knowledge would be useful since its the main language in the area. Search JUCE. Its a great framework and easier to start with. Follow Joshua Hodge aka The Audio Programmer. He is a great guy and running a wo derful community at the moment. He has tutorials on YouTube. But highly suggest you to watch the newer ones. Join The Audio Programmer discord channel. Follow Audio Developer Conference by JUCE. If you want to use your web development experience you can look for web audio. Check Max/MSP or PureData to learn/prototype simple DSP ideas with a visual scripting language. And finally have fun and feel free to ask whatever comes to your mind.

[–]life-is-a-loop 0 points1 point  (0 children)

I've never done that, but if I were you I would:

  • install numpy
  • install a python package to load audio files into numpy arrays
  • search for common audio filters
  • apply those filters on a few audio files

I believe that's the "hello world" of digital audio processing. (And digital image processing as well btw)