March 1, 2023

let's fn go (why am i doing this)

For as long as I can remember I have been fascinated by synthesizers and electronic music. I was aware of modular synthesizers, and I must have intuited that their purpose was to give an artist lower-level control over the sounds they were making, but they mostly remained a mystery to me. Recently, at the yearly Bandcamp employees offsite, one of the special guests they flew out to talk with us was Suzanne Ciani. Ciani was somehow not on my radar, even though she was one of the earlier pioneers of electronic music and had collaborated with other artists I love. Seeing her speak rekindled my curiosity about modular synths. Here she is talking about her Buchla (somewhere else):

And just for fun, here’s another early pioneer, Wendy Carlos Williams, demonstrating how to make sounds with her Moog:

The problem with modular synths is that they are expensive, and after seeing Ciani speak I came dangerously close to spending real money on a setup. The problem with me is that I am not a musician, not really. I recognize that, and I recognize that even if I did buy something I wouldn’t necessarily even know what I wanted and I’d probably buy the wrong things entirely and have regrets.

And so I went looking for alternatives. I found SynthVR. I decided I’d use it to learn and if I was still interested I’d consider buying hardware. I bought a copy of PATCH & TWEAK and read through it while I played with the ideas in VR. I loved every second of it! I learned a ton! But eventually, I grew frustrated with SynthVR’s limited selection of modules to play with. I found and tried out SYNTHSPACE as well, but it was the same: fun to use, but very toylike and limited. I learned that they both had plans to allow custom, user-created modules, but neither app had been updated in years.

I was chatting with a musician friend about all of this and they pointed me toward VCV Rack, which is a free and open-source software modular synthesizer. Importantly, it is used by actual musicians to make actual music. It has an extensive library of modules: official modules, user-created modules, and even several hardware manufacturers creating software replicas of their modules. But I don’t need another reason to sit in front of a computer and poke at things with a mouse. A huge part of the appeal of modular synths for me is their physicality, and outside of spending thousands of dollars on hardware, VR is the best way to get that. When I put on my headset, I’m instantly isolated in a private studio with no distractions, and I can twiddle knobs and push buttons, and swap cables to my heart’s content.

At this point I decided to do what any rational person in my situation would do: I would create my own VR thing, and somehow make it use VCV Rack. After all, I’m a professional web developer with a lot of experience in Ruby and Javascript so how hard could it be. I spent a couple of months learning the basics of C++ dev in Unreal Engine, which is very much an Epic-flavored version of C++. I spent another month poking around VCV Rack’s codebase and learning the C++ standard library. I don’t have a ton of time for this stuff, maybe 30-60 minutes daily, a few hours on the weekend, so the pace here is very plodding, but it would appear as though I might be able to make something work. I can at least give it a shot. If I fail, I’ll have learned a lot. If I succeed, maybe someone else will want to use it too.

A grey and white cat sits on a wooden wristrest on a desk in front of a computer keyboard and monitor. the monitor displays several text editor windows showing source code. the cat is staring past the camera into the distance as if to say, 'I have no idea what I am doing.'

After a month or so of reading through Rack's source and poking at things to see what came out, I felt about the way Heimdall looks here. Big no idea dog energy.

I have a long list of open questions, a lot of ideas for how to handle different things, and no clear picture as to how feasible any of this is going to end up being. But I’m taking it a piece at a time, just enjoying the journey and the learning experience.

The way I see it there are only three things stopping me:

So, no problem. Let’s fuckin go.