This site is supported by the advertisements on it, please disable your AdBlocker so we can continue to provide you with the quality content you expect.

Welcome to Our Community

Wanting to join the rest of our members? Feel free to sign up today.

I'm Beginning a Series of Tutorials on Developing Plug-ins

Discussion in 'F.O.H.' started by abaga129, Mar 28, 2016.

  1. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    Hey everyone, I've begun creating a series of tutorials about developing audio plug-ins using C++ and the JUCE Framework.
    If you're interested in this topic, you can find the tutorials on my blog at
    http://www.modernmetalproduction.com

    I will be posting the 3rd part later today. Right now I'm covering the very beginner level stuff and will be showing how to create a basic saturation plugin, but I plan to keep this series going for a while and cover more and more difficult material over time and maybe get into DSP theory.

    I would really appreciate some feedback on the website as well.
    ~Thanks for your time!
    ~Reker
     
  2. sander

    sander Member

    Joined:
    May 10, 2010
    Messages:
    163
    Likes Received:
    1
    Trophy Points:
    18
    Awesome that you're doing this. I've always been interested in plugin development but i've never had the push to do some research and actually write some code. Luckily i've got a background in CS so following along with you is (hopefully) going to be easy.


    By the way, is there any way to subscribe to your blog so i'd get e-mail notifications once a new post goes up ?
     
  3. ronnan

    ronnan Tactical Header

    Joined:
    Apr 14, 2006
    Messages:
    270
    Likes Received:
    1
    Trophy Points:
    18
    Location:
    Ireland
    Cool!!! Will be following. Thanks.
     
  4. Korwent

    Korwent Member

    Joined:
    Dec 19, 2012
    Messages:
    285
    Likes Received:
    40
    Trophy Points:
    28
    Location:
    France
    Wow, you just launch that at the perfect time as I'm trying things using JUCE these days, that's very cool!
     
    #4 Korwent, Mar 29, 2016
    Last edited: Mar 29, 2016
  5. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    Thanks for the replies, I'm surprised at how much interested i'm getting already!
    I'm glad you reminded me sander, I went ahead and added a subscribe button at the bottom of each post so that when you sign up you will be notified of new posts and you can always unsubscribe if you want to. The website also has a forum so if you run into any difficulties or if my tutorials aren't clear enough, you can make posts and I'll try my best to answer everything.

    And that is awesome timing Korwent!

    I hope everyone finds the series useful
     
  6. azistenostora

    azistenostora Member

    Joined:
    Feb 9, 2009
    Messages:
    673
    Likes Received:
    15
    Trophy Points:
    18
    Location:
    Tatooine (aka Milton Keynes)
    Awesome, I work with c# in my day job and always wanted to get started with plugins but never knew where to start. Following!
     
  7. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    I'm glad to hear it! Then you shouldn't have any problem following the tutorials then since the syntax of C++ and C# are nearly identical. Most of the classes we will be using are JUCE specific as well so we wont be doing much core C++ programming.
     
  8. nezvers

    nezvers Beast

    Joined:
    Oct 5, 2010
    Messages:
    1,399
    Likes Received:
    36
    Trophy Points:
    48
    Location:
    Latvia, Riga
    Nice, I'm starting to learn C++ and plugin development is one of things I wanted to learn too.
     
  9. LIIKET

    LIIKET New Metal Member

    Joined:
    Mar 19, 2006
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    1
    Really cool! Please keep it up! I'd be willing to pay for some kind of comprehensive course on this topic, and I really can't find one on the internet.
     
  10. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    Great, well these tutorials will be free, and if you need any help or run into any problems, just leave a comment on the post or make a thread in the forum! Part 4 - Audio Processing is up now, so we're starting to get into the fun stuff!
     
  11. HOFX

    HOFX Member

    Joined:
    Apr 12, 2012
    Messages:
    469
    Likes Received:
    0
    Trophy Points:
    16
    This excellent - although I probably won't follow the tutorials (just had a kid, no time....) I'm really excited to see what people come up with.

    It seems to be the smaller developers that are really bringing the new ideas to plugins, the big houses (Waves, Slate, UAD) seem to be all about emulating gear - nothing wrong with that of course.

    I wonder what the ethics are around emulating VCC? Or using FG-116 as a basis for emulating a FET?
     
  12. rapucore

    rapucore i really hate spiders

    Joined:
    Feb 25, 2013
    Messages:
    786
    Likes Received:
    22
    Trophy Points:
    18
    Location:
    FIN
    Great job! Hoping for the next part already. :)
     
  13. azistenostora

    azistenostora Member

    Joined:
    Feb 9, 2009
    Messages:
    673
    Likes Received:
    15
    Trophy Points:
    18
    Location:
    Tatooine (aka Milton Keynes)
    I should probably post on your comment section but was too lazy to subscribe and I thought the discussion here will be useful to the Sneapsters following so here goes:
    I have followed your tutorial and so far everything went well, also tested the compiled plugin in Steinbergs VST3 Plugin Test Host and it seems to be working (your tutorial is awesome by the way, easy to follow and very clear).
    One thing that could do with a bit more explanation in my oppinion is the actual processing bit. For example I'm not entirely sure how you've worked out that cube-rooting every sample results in saturation? To me that sounds a bit like black magic (not meaning to criticise, I just don't understand how it works lol)
     
    #13 azistenostora, Apr 11, 2016
    Last edited: Apr 11, 2016
  14. AntonioPetrole

    Joined:
    Jun 26, 2009
    Messages:
    1,974
    Likes Received:
    41
    Trophy Points:
    48
    Location:
    New Jersey
    Yaaayy. I work as a Data Engineer by day and at least half of my day always involves writing various scripts. I've always wanted to combine my love of software engineering and audio together, this looks like a great way to start :D
     
  15. gfactor

    gfactor New Metal Member

    Joined:
    Sep 15, 2014
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    1
    Awesome I'm in a C++ plugin dev class right now, this will be a great resource!
     
  16. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    I agree completely. The "big houses" arent really focused on bringing something new to the game. They want to maximize profit.

    Hey i'm glad that it's working well for you! You are the first person to really give me some feedback on how everything is presented. As far as the saturation algorithm goes, it is a bit difficult to explain. I plan to do several posts about it later on. Basically, the reason i used cube-root is because it has the unique characteristic of when x=1 y is also equal to 1, and x=-1 y=-1, and the values in between are all less than 1 and greater than -1 in this range. That means that we cant ever get a value that exceeds 1 or -1 (if it did then it would cause the plug in to either crash or cause clipping). Also since the values that are in this range are being cube-rooted, that means the wave form will be changed or "distorted" from the original shape, which we will hear as distortion. I used cube-root in the tutorial because it is very easy to implement, but we will look at other functions for saturation later. I hope this clears things up a bit!

    Great! I hope you find the series useful!

    Nice, I wish I would have been lucky enough to have a class on that at my university. Well i hope you can learn some from my website! and if you have any questions or suggestions, please let me know!
     
  17. azistenostora

    azistenostora Member

    Joined:
    Feb 9, 2009
    Messages:
    673
    Likes Received:
    15
    Trophy Points:
    18
    Location:
    Tatooine (aka Milton Keynes)
    Since this post I picked up a book about DSP theory and the "black magic" bit is starting to make more sense now although I must admit that DSP theory with all the complex math isn't exactly a light read lol.
    Sometimes I spend 3 days on a single chapter because I need to work out all the different math functions first and the really hardcore stuff only comes later in the book.
     
  18. abaga129

    abaga129 The Apprentice

    Joined:
    Jun 17, 2012
    Messages:
    809
    Likes Received:
    7
    Trophy Points:
    18
    Location:
    Cape Girardeau, MO
    That's great to hear. Yeah the DSP is definitely the hardest part to wrap you head around. If this is something you are truely interested in, I strongly recommend getting a copy of the book Designing Audio Effect Plug-ins in C++ by Will Pirkle. It has been an invaluable resource for me to learn from. He breaks down the dsp parts and makes it much easier to understand than anywhere else I have found. And even if you don't understand some of the theory. You are still able to implement many of the projects in the book. He provides equations for all of the filters that are being used in the book, and diagrams showing how delays and different effects work.

    And also I dont know if you saw in my other thread, but I just finished a VST Overdrive pedal that you can find on the downloads section of my website. Feel free to download it and give it a try!
     
  19. azistenostora

    azistenostora Member

    Joined:
    Feb 9, 2009
    Messages:
    673
    Likes Received:
    15
    Trophy Points:
    18
    Location:
    Tatooine (aka Milton Keynes)
    That's the exact same book I got! There weren't that many of them on Amazon though, it's almost like they're trying to keep plugins a secret lol.
     
  20. torqueofficial

    Joined:
    Aug 16, 2011
    Messages:
    157
    Likes Received:
    0
    Trophy Points:
    16
    Thanks a lot for this. I'm a software engineer, and as others have mention, I have always wanted to combine the two things I love to do! Keep it up man!
     

Share This Page