Graduating and Getting into Audio Plugin Development

Hello y'all, its been a minute as has been typical of every time I post here but I wanted to write about a new little development in my life: I graduated with an associates degree in Computer Science recently. That and a new interest I'm getting into.

It's been a pretty big milestone sticking to college seeing that after I left high school, I was pretty intent on not having anything to do with it at all. Just wasn't in a depressive me at the time to keep going to school and stressing about how stupid it made me feel. Then eventually, it wasn't in a depressive me to keep grinding at a minimum wage job with no hope or end in sight, so I went crawling back.

It's barely going to be summer, so I have two or so months to figure out what I'm going to do now, but every entry-level job posting having a minimum requirement of a bachelor's degree is offering quite a hint. Almost feels like I'm half a graduate despite attending a commencement ceremony for my community college.

The way I see it, I either find a job I can learn and develop from, or find an internship that'll give me experience and pay while I attend my other two years of college at a local four-year-university. Either of those or just find something new to sink my teeth into. Maybe another sales rep job, although I don't consider myself a great salesman.

I'm hoping I'm in this field for the long haul though, it's been pretty cool learning how to code and finding out new intricacies to it. The only thing I've been struggling with is actually putting my coding knowledge to use. It's a quite hard to practice programming if you don't have something to apply it to, and quite difficult to learn and stick to a discipline when it's fighting against you mentally.

Case in point, I've tried multiple times to get into game development and lemme just say the curve is steep and ripe with tons upon tons of things to research on the fly if you don't understand them. On top of that, I find it hard to thing of things that could be fun to work on that are doable in my scope. That's always been an issue for me if I'm being honest, I just think bigger than what I'm capable of doing consistently (the reason why I also haven't continued animating, and haven't released a music album; they eventually turn into a slog as my ambitions take over.)

It's a real "long haul" type thing with no clear direction unless you sit down and really think of something, but at the very least, it seems to have a giant community full of support. Web development has also proven to have a big community full of people ready to help you get off the ground as well, and its the very reason I have this site and love neocities! My other interest however, making audio plugins, just seems alien on the internet. It's also just as complicated, if not moreso, than game development, but for whatever reason it seems to be the track I'm on at the moment.

I'm not a real dedicated music producer to tell you the truth. Eventually, it stopped being a life's passion and went back to being a hobby, but my fascination with the tools producers use to make music never fizzled. I got deep into music production from local music hardware meetups where people would bring synthesizers, modular rigs, samplers, grooveboxes, and etc. to connect them together and jam out. Ever since, I've been interested in sound synthesis, audio effects, and samplers.

They honestly interest me more than the music they're supposed to be used for sometimes, its a real problem. I'll open up Ableton to try making something from scratch or putting an idea down, and I'll end up opening a software synth like Ableton's Operator to make as many sounds as possible before closing the whole thing. It's left me with a fair share of synth and hardware knowledge, but with embarrassingly basic music theory. This is also partly why you see me make sampled beats more often by the way, chopping things up tends to make creative juices click enough to a point I can start an idea and sort of "develop" it (why "develop" is in quotations will probably be my next little blog post if I remember to "develop" that one as well).

Anyways, I've been into these creation tools but the development has always been quite a difficult mystery to crack for me. I've tried a few times in the past to get into it, but the devil is in the details.

First off, a lot of companies build and use their own plugin frameworks that they just build upon and reuse in-house. There isn't a whole lot of open-source ones, or at least I've struggled to find them. There's JUCE which is what I'm going to be working at understanding eventually, but I'm not quite there yet.

That's because there's a whole other field of understanding you have to have in order to develop audio programs, and that field is signal processing. It's a field non-specific to audio programming, but because of that, it has a lot of applications and implementations that make it a whole other field of study.

On top of that, there's just a lot of unfamiliarity I'm suffering from as a result of not being experienced. Even in game development, scripts were just not a strong suit for me. I understood exactly how they worked, but building in and around them proved a challenge that also lended to my fall off with game development.

I wanna say I'll understand scripts eventually and that soon, I'll have another obstacle to worry about. For now though, what I'm currently working on is learning the language of Pure Data.

Pure Data is a visual audio language that involves patching together objects, messages, and numbers to create things like additive synthesizers, sequencers, audio effects, and even dynamic live visuals. All the objects are bare bones, so you end up putting a lot of things that you take for granted together, but its been a great learning tool since tutorials for it have been extremely accessible.

It almost reminds me of patching together modular rigs in VCV Rack, the only difference being that you're making the modules themselves from circuit to shiny black knob.

Pure Data has been described as a great prototyping medium as well, so I figured that if I'm going to learn how to create software synths, it'd be worth learning how to blueprint and think about them from a conceptual level. From a programming viewpoint, you can also use a lot of concepts that are useful in an ordinary programming language. For example, you can set variables that load on startup or whenever you want a preset of values, you can perform math operations to do things like modulate sine oscillators and filter values, and you can create loops to build sequencers and modulators. Seeing all these different code concepts appear in Pure Data and making those connections has proved quite useful in learning how audio programming COULD work if I were to develop my own software.

I'm determined to get to a point where I can release my own little plugin, but first I have to work on getting to that point. On top of that though, I have to figure out what I'm gonna put another two or so years of my life into. It's been a stressful two weeks putting applications out, but I'm hoping that eventually, I'll see a way out and into something that'll be worth my while. I think both of these things are gonna come down to persistence and patience, but we'll see.

Anyways, that's all I really have to say. I'm going to make an announcement on Newgrounds about taking down all my sampled beats since getting one of my beats taken down got me to realize something relating to the quoted "develop" I mentioned writing another blog about earlier, but otherwise, that's about it. Hope y'all enjoy your last days of school before Summer hits and you get however long a break you have. And if you don't go to school or college or anything, I hope you're enjoying life and that you found something cool to spend it doing. I envy you honestly, a part of me really doesn't want to do two more years of schooling bru.

Umm Uhhh Umm