Hey, I’m about to graduate from American University in Washington DC. I want to be hired by an audio software company and put my degree in Audio Technology to good use. I’ve started to become pretty good at programming with JUCE and see myself building tight code. I just don’t have the mathematical intuition to develop new DSP algorithms, which makes me think that I’ll be disqualified somehow from working on the code. I know that I need to prove my skills some how, I’m working on getting my portfolio together. Is it okay for me to use existing algorithms if I can make my code stable, neat and performant? What do you expect new-grads should know how to do if they want to work in the audio-development?
90% of audio development is making the UI work
And stable code over clever code any day!
So I should spend more time programming?
So the math should come late?
Most things don’t require much math, and if you find yourself leaning toward very heavy mathematical algos, you may find yourself working in R&D rather than building actual products. all depends what you want out of your career!
Izotope is a big R&D house, from what I’ve observed. I think being a practitioner and using existing algorithms and making the code fun to work with is more appealing. I think down the line it would be nice to design something new, but I think I could achieve the same level of talent that I’m hoping for by just being a great designer of the applied implementation.
Are there set of basic audio processes every practitioner should know? There is clearly no one answer to getting hired but I feel somehow behind because I don’t have an EE background.
Combinations of ready available algorithm can also be considered as creative DSP. If you’ve got time, then I would brazenly say – “Stop thinking about things, and start doing them.” It’s the only true way to learn product development.
An approach I feel that’s worked for myself as a non math guru working in the audio plugin world:
Understanding time based effects & a mastery of circular buffers & delay lines:
- this allows you to create anything from delays to flangers, chorus, vibrato, etc… opens up worlds of possibility injecting feedback into algos / creatively approaching signal chains
Understanding basic principles to filters:
- why would I need an all pass filter? what’s the right filter combination for my desired slope? vs actually understanding filter maths
Understanding sample rates / upsampling / downsampling etc:
- what do I need to do to make sure this sounds good at all contexts & all sample rates?
Understanding principles of playback speed & pitches & options for manipulation:
- how do I change the pitch of this sound? What would I need to do to separate the pitch & time of this sound?
My general feeling is, focus on building novel things within the skillset you have, if you need something super advanced and technical, reach out to work with people who specialize in that. It’s good to understand early on, that you won’t be able to do everything by yourself, and imo the place you want to be is: these people can do something I can’t, I can do something these people can’t: lets work together.
Of course in a company like Izotope doing cutting edge algorithms, they have all these people in one place working together, and there’s room for everyone who is great at what they do I’m sure.
If you’re a musician: focus on cool novel ideas
If you’re a mathematician: focus on research on new ways to solve problems
If you’re a computer scientist: focus on building great scalable awesome tools for everyone to use in conjunction.
my 2cent as a mid 20 year old who tries to do too much, take it with a grain of salt : )
Also, just learn the shit you need when you need it. I can tell you I spent a week getting to the point i could do a z-transform on a filter, and having not used in in 3 years I’ll need to relearn it if I ever need it again