Dystortion
Distortion Audio Plugin built for AAX, VST3, & AU formats
Install / Use
/learn @JonathanLStoff/DystortionREADME
</span></b></p>
<p class=MsoNormal align=center style='text-align:center'><span lang=EN><a href="https://www.paypal.com/donate?hosted_button_id=9ELH753DDE98Y"><b><span style='font-size:15.0pt;line-height:115%;font-family:"Georgia",serif; color:#7E664E'>Donate</span></b></a></span><b><span lang=EN style='font-size: 15.0pt;line-height:115%;font-family:"Georgia",serif;color:#7E664E'> | </span></b><span lang=EN><a href="https://linktr.ee/stoffaudio"><b><span style='font-size:15.0pt; line-height:115%;font-family:"Georgia",serif;color:#7E664E'>Website</span></b></a></span><b><span lang=EN style='font-size:15.0pt;line-height:115%;font-family:"Georgia",serif; color:#7E664E'> | </span></b><span lang=EN><a href="mailto:stoffaudio@gmail.com"><b><span style='font-size:15.0pt;line-height: 115%;font-family:"Georgia",serif;color:#7E664E'>Email</span></b></a></span></p>
<p class=MsoNormal align=center style='text-align:center; margin-left:10%; margin-right:10%'><b><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Georgia",serif'> This is a DAW plugin that took me a long time to craft but the time and effort was worth it. In this description I will be going over the long journey it took for me to go from an Audio Engineer, with no understanding of C++ or compiling, to creating this plugin. <p class=MsoNormal align=center style='text-align:center'><b><u><span lang=EN style='font-size:14.0pt;line-height:115%;font-family:"Georgia",serif; color:#7E664E'>Installation Instructions</span></u></b></p> <div class=MsoNormal align=center style='text-align:center'><span lang=EN> <hr size=2 width="100%" align=center></span></div>
<p class=MsoNormal><b><u><span lang=EN style='font-size:14.0pt;line-height: 115%;font-family:"Georgia",serif;color:#7E664E'>Mac (OSX):</span></u></b><span lang=EN style='font-size:14.0pt;line-height:115%;font-family:"Georgia",serif; color:#7E664E'> </span></p>-
Download the Package from the releases on the right.
-
Open the file and you will get a warning like this:
- Open "System Preferences" and select "Open anyway"
-
Then you just install normally: <img src=".//media/image7.png" alt="im1" width="388" height="329" style="display: block; margin-left: 10%; margin-right: auto;"/><img src=".//media/image8.png" alt="im1" width="388" height="329" style="display: block; margin-left: 10%; margin-right: auto;"/>
-
It will install AAX in
"Macintosh HD/Library/Application Support/Avid/Audio/Plug-Ins"
-
install VST3 in
"Macintosh HD/Users/[YOUR USER]/Library/Audio/Plug-Ins/VST3"
-
install AU in
"Macintosh HD/Users/[YOUR USER]/Library/Audio/Plug-Ins/Components"
-
Download the Package from the releases on the right.
-
Open the file and you will get a warning like this:
- Click “<u>More info</u>”, then click “Run anyway”:
- It will install AAX in
"C:\Program Files\Common Files\Avid\Audio\Plug-Ins"
- And install VST3 in
"C:\Program Files\Common Files\VST3"
I need to preface this with sharing that I do have ADHD, making my learning technique very different to the average joe. I can't learn things by myself unless I am doing. For example: I would never just start reading a book on C++ and doing sample projects to learn how to use it. I want to start making the program I want and look up elements to add along the way.<img src=".//media/image10.png" alt="im1" width="272" height="409" style="display: block; margin-left: 10%; margin-right: auto;"/>
I started this journey by asking some of my old Music Tech teachers from University what I should start off doing. I had some understanding of the physics of sound waves and DSP technology, but only a minor in Computer engineering. My teacher told me to start with MAX 8. This was a good idea except that we had exhausted this program while in class. It has great tools for understanding how you can multiply signals, create FM signals, and other kinds of modifications you can make to sound waves. I would highly recommend it to visual learners and if you just want to see about this sort of thing first.
A quick google search told me I should check out JUCE framework. At this point the only coding experience I had was with Visual Basic, Applescript, HTML, & CSS. None of which were close to what I would have to deal with in this C++ adventure. I also had no idea how github worked but I was able to download the JUCE release. Here is where my first snag was, I had to code on a Mac book with an ARM chip (M1). This wouldn't have been as much as an issue but I wanted to use VS Code so I could access Github Copilot. After a bit of google searching I found a tool called "FRUT" a CMake-Maker for JUCE. This was a great tool, I was able to follow the instructions and found that I worked pretty well. Just added the CMAKE tools extension to VS code, downloaded cmake, researched what the heck a command palette was, used the shortcut (CMD+SHFT+P), searched "settings", and added the path to the user settings. As someone who had never used VS Code this was very confusing. Then I had to configure and try multiple different C++ syntax extensions. The first one I tried was the C++ by Microsoft, gave up on that in like 3 mins. Then tried LLVM but didn't understand the whole "server" thing so I moved on. ClangD was the one that finally worked for me. It worked pretty well and I was able to use CMake tools to configure my project after making sure it was using the workspace folder. This make no sense because you can have multiple parallel workspace folders but I told it where to find "CMakeLists.txt". <img src=".//media/image4.png" alt="im1" width="207" height="79" style="display: block; margin-left: auto; margin-right: auto;"/>
If you plan on building AAX just know it is a giant pain. First I would go and register as a Dev through AVID. After that you should email AVID and ask for PACE license software and Pro tools DEV license. You'll have to follow some of their instructions that I am legally not allowed to mention. Not too hard to do but the issue is that you have to sign your AAX bundle so that it will work in Pro tools and there is not many people you can ask for questions. One thing I discovered is that you DO NOT NEED an Apple Dev account. Self signing is an option: Keychain access menu (in top left)> Certificate Assistant> Create Certificate Authority> Change setting to "Code signing" and put the name as "Developer ID Application: [Company name]". You will be asked for this name later. You can export the Key to a .p12 file for signing on windows (you cannot sign a windows package on mac).
There are lots of Juce tutorials so I won't go over that except for the issues I ran into. First thing is if any variable crosses from your Audio processor to Editor or vise versa, MAKE IT ATOMIC. "std::atomic<type>" fixed a bunch of issues for me. Another issue I ran into was that there are hard limits to memory which if you don't know what you're doing, you will hit. I wanted a reverb effect so I saved the buffer into audioblocks. I thought it could handle 100 of these but as it turns out; no... Each buffer is 512 for my setting which meant I was saving 51200 samples in memory at any given time. Which also overflowed the sample rate, which I have no idea how that also messed things up. I ended up saving one sample per buffer and using it later to manipulate the distortion for each block.
Do yourself a favor and get a DSP or trigonometry book that can hel
