17
Aug

The Best Way To Learn Audio Programming


Hey, what’s up? John Sonmez here from simpleprogrammer.com. Tired of pushy recruiters sending you LinkedIn
requests for jobs you have no interest in? Tired of blasting out resumes into the dark? If so, you should check out Hired.com. Hired.com flips job searching on its head
by having top employers like Facebook come to you after you fill out one simple application. You also get your own job coach to help you
on your next job search. If you haven’t checked it out, I highly recommend
you at least fill out the application. Just go to Hired.com/simpleprogrammer. When you get hired with Hired, you’ll get
double the normal sign-on bonus for using that link. I got a question about the best way to learn
audio programming which might seem like a little bit of a strange question since I don’t
really know much about audio programming per se, but I think that, really, this could represent
any kind of technology that you’re trying to learn, any kind of thing that you’re trying
to learn. I’ll go ahead and answer this question and
this is from Charlie. Charlie says, “Hi, John. I’m currently teaching myself web development
with a burning passion to break into the industry. My goal at this point is to dedicate the next
few years of my life to this end. However, producing Digital Audio tools is
where I see myself in 10 years. Should I start learning software development
now alongside web development or concentrate on web dev first? I have a passion for both, but I am not so
much interested in software development for business/enterprise.” He’s interested in being a web developer and
then he’s got some initial info here that I’ll read. He says, “Amazing channel. Your attitude is infectious. That’s awesome. I like to give people infections. I have learned music production/DSP for the
last eight years. I learned C# for two years when I was a teen
and C++ or most viable technologies for DSP in terms of potential performance, and job
market. I live in Bristol, England with a thriving
technology music industry.” I got to tell you—I think it was Chris,
right? Chris or Charlie, sorry Chris. Sorry Charlie. Sorry Charlie. What are you doing, man? You’re doing the wrong thing here. You want to learn audio programming. You see yourself in 10 years going down the
road of becoming essentially a software developer who does DSP audio programming, stuff I don’t
know much about. I know how to edit audio in Audacity. You’re getting into web development and you’re
going down C# when you said that all the tools for DSP, for the audio stuff that you want
is C and C++. Here’s what you need to do: Start learning
the tools for the audio—learn all the audio software. I’m sure you already know all the audio software. Start building plugins for Audacity. Start working on actual tools. Build your own audio program. Start learning that technology. There’s definitely going to be jobs there. There might not be as much, but try to find
the overlap as much as possible, so that you can be doing the relevant stuff and on your
side projects be creating audio filters or plugins for Audacity or for, I don’t know,
what? Adobe Premiere or Adobe Audition. That’s the audio for Adobe. Start creating that stuff. Start programming that stuff. Forget the web development if this is where
you want to go. Now, if you want to go web development, that’s
totally fine, but if in 10 years you see yourself being an audio programmer, that’s what you
need to work on. That’s what you need to start doing. It’s like saying, if you said to me, “John,
hey, I really want to be a professional football player. In 10 years, I want to be a professional football
player. That’s why right now I am going to just like
build up my endurance by swimming.” I’ll be like, “What? What are you talking about?” You want to be this thing but you’re going
to like—it’s fine, yeah. I get it like I get what you’re saying like
if you build up your programming skills, you’ll be able to program. If you want to specifically become a football,
yes. If you swim a lot, you could build up your
physical endurance and become really strong and build up your general constitution, but
it’s not going to be as applicable. You got to practice the thing that you want
to do. I just read a really good book on this. I’ll recommend this book again, which is Peak. A really good book. I love that book because he also hates Malcolm
Gladwell, which I don’t like Malcolm Gladwell. I’m sorry, Malcolm, but I don’t like his books
and I don’t like his attitude in life. In Peak, he basically says that the 10,000-hour
rule is bullshit, but what he does talk about a lot is deliver practice and how important
it is. What he basically says is like there’s a study
in there where they have these chess guys. These chess guys that are like grandmasters,
they test them with memorizing or recalling configurations of boards. Some of these guys can play blindfolded chess
for like 24 matches at the same time. That means that someone just tells them where
the pieces are and they tell them where to move. They actually see the boards. What they did was they tested these guys,
these grandmaster chess champions, against your average Joe on memorizing positions on
the board, where the pieces are on the board in two ways. One, in traditional chess setups that would
actually happen in the game and the second way in setups that would never happen in a
real chess game. Just random pieces and random positions in
the board. You could probably guess that the grandmasters
that they did really well. I mean they don’t even need to see the board. They could play blindfolded with positions
that would actually happen in a chess game, but guess how well they did against random
Joe at memorizing positions of random pieces placed on the board? Not better at all. The same. In fact, in some case, worse, basically the
same. Why am I saying that? Because it really demonstrates to the point
that what you practice is really important that you can’t just develop your “memory.” You can develop your memory at a game like
chess. You can develop your memory to memorize numbers
or decks of playing cards, or whatever it is. The same thing here, I would say in your case
here, yes, becoming a good programmer is going to give you some base level of programming
skills and knowledge, but if you really want to go into this audio programming, dedicate
everything that you’re doing. Do deliberate practice, specifically train,
specifically make your program and your learning path to being a digital audio engineer programmer,
like do that stuff. Write the code already. Don’t say I’m going to go swimming and then
eventually I’ll become a football player when I have a lot of endurance. No, no, no. Start doing football drills right now. Start doing the combine, right? Start doing all the stuff that you need to
do in order to become a better football player if that’s what you ultimately want to be because
that practice will not carry over from the swimming to football. That’s kind of what was demonstrated with
chess and there’s a lot of studies that back that up as well. Focus on the thing that you actually want
to learn. Forget the web development unless that’s what
you’re going to go into. Don’t do that temporarily. If you think, “Oh, I’m just got to make a
bunch of money in web development,” no, no. I would really recommend against that. I would recommend that you go into what you
actually want to do and you’re going to be better off, especially if you’ve got a 10-year
time frame. All right. I hope that helps you, Charlie, or anyone
listening. If it did and you’d like to get more videos
like this one, it’s real simple. All you got to do is click that Subscribe
button below. If you want to email me a question so I can
tell you that you don’t know what the hell you’re doing, you need to do something else,
email me at [email protected] and I’ll talk to you next time. Take care.

Tags: , , , , , , , , , , , , , , , , , , , ,

22 Comments

  • Tech Geeks4u says:

    hii sir

  • KoiFlow says:

    Infections :E

  • Nicholas Pinn says:

    John sometimes I think you are reading my mind lol. I literally was reading this book while you were doing this review.

    Maybe our lives are connected via infinite intelligence 😁💵

  • Vishnu K says:

    Exactly, my current situation… thnk u sir 🙂

  • HorsePin says:

    I haven't tried this yet… https://vstnet.codeplex.com/... but it's been on my todo for a long time. Synthedit was an old one if you want to knock up vst synthesisers.

  • Freedom Audio says:

    I use JUCE to make audio plugin applications. juce.com

  • soulwavelength says:

    by DSP he means Digital Signal Processing. Uses of C/C++ in audio industry would involve a lot of real time programming. Depends if he wants to make software for music applications or wants to do some creative programming with it.

  • AbstractCats Official says:

    http://www.kvraudio.com/forum/viewtopic.php?t=329696 so many helpful people. Also, https://www.juce.com/ And Google 🙂 The origins of VST https://www.steinberg.net/en/company/technologies.html

  • Quincy Cambrel says:

    I think the term you were looking for is "specificity of training".

  • Steven Galvis says:

    I love when you guys do the black and white haha

  • Radioactive FistFoot says:

    This is super useful no matter what you want to learn. Just start doing what you want to do, don't beat around the bush, is what I got. Nice, John!

  • Liviu says:

    Great advice!

  • manish adwani says:

    your thumbnail says leam instead of learn

  • Norm j says:

    Damnit I wasted the last 10 years doing back end java and front end web development.

    Over the last year or so I decided I don't enjoy it and want to do audio development.

    Looks like it's time to start over. I just wish I had learned I wanted to do audio development when I was starting instead of a year ago.

  • Jordan Newell says:

    I have question: I do deep learning programing with tensorflow and it's getting hard to transport my 17 in laptop around, do you know any smaller laptops that have a Nivida graphics card or should I change the library that I use? (I am 15 years old and I love your videos.)

  • The Audio Programmer says:

    I recently started a YouTube channel for anyone wanting to learn audio programming.

    Whether you're a beginner that just wants to pick up some basics, or if you're looking to learn the best C++ frameworks for developing audio applications (Juce/openFrameworks). Tutorials are in C++ but will be doing Max Msp and possibly JavaScript in the future!

    Thanks for all the videos John you're an inspiration!

  • Vishal Menon says:

    Charlie, bro…get The Audio Programming Book by Boulanger and Lazzarini and start coding C/C++. Your path is so similar to mine, I started learning DSP on Pd early last year using The Theory and Technique of Electronic Music by Miller Puckette. Eventually realized that to make serious tools I will need to learn to code. So I dropped Pd and started learning code with HTML/CSS/JS just to get a feel and ended up loving it so much that I ended up being confused about whether I should keep pursuing webdev to make some dough part time but soon realized that to make any real progress you have got put all you've got into JUST DSP in C/C++!
    And I'm talking about doing it right, and doing it justice! Which is exactly where John is coming from too! Learn it from the ground level and don't waste time on web-dev. Its one of those things where if you do it for a couple months and take a break, you can lose touch pretty easily – so keep at it! Its a vast technical subject and not easily picked up by someone without an Electronics background – not impossible though. Give it the time and you'll be making some epic tools in a couple of years. I started C/C++ exactly a year ago and only now am I starting to feel really comfortable with core C/C++ like having a proper intuitive understanding of pointers – especially to the extent that it is used in C. Bare in mind that I was on and off since I was travelling a lot and allowed myself to approach it like a hobby for the first year. Doing a course in Algorithms and DS also helped a lot with my understanding of CS in general. Its only now that I'm getting serious about it and making it a point to code everyday. In short, C/C++ is where its at, make sure you stay in touch with both- mess around with libraries like OpenFrameworks and JUCE too.

    All the best in your endeavours!

  • The Musterion Of Rock says:

    Did you program roids into your biceps

  • Arkadiusz Rozmus says:

    This is totally relevant advice. Audio programming is all about performance optimization, real-time lock-free programming, multi-threading, and lost of reading through academic papers to learn crazy maths formulas. Good luck learning that with JavaScript.

  • Devon K says:

    "I like to give people infections" lmao FYI it's difficult to concentrate on the content when all I can do is stare at your insanely handsome biceps. ty

  • Diss & Dad says:

    1 If you have absolutely no clue about coding, then learning Web Development for a few weeks does not harm you. 2 Then next use a visual environment for audio programming such as Max for Live, Pure Data or Reaktor to learn the basics of audio / DSP. 3 Then start learning C++ which is the most relevant language in the professional audio industy due to it's realtime capabilities. You will need C++ skills if you want to get into the professional industry (Ableton, Native Instruments etcetera). 4 Then get the JUCE framework to program your first real audio plugins. JUCE uses C++ and is designed specifically for Audio / DSP programming. It's widely used in the industry and you can start on a free license.

    You're welcome!

  • Antonio Elua says:

    bit of an overstatement

Leave a Reply

Your email address will not be published. Required fields are marked *