Thursday, November 10, 2011

Making touch controllers and homemade synthesizers

Look at all those faders! This is the Arturia CS-80v software synthesizer
Well, I haven't been fishing lately. As I mentioned last week, my fishing obsession has been put on hold to make way for my obsession with music. I've been busy doing a lot of musical things: I'm working on a short film for director Mary Horan, putting the finishing touches on the score to her great film "Storywoods." I've also been pretty obsessed with some geeky tech stuff too...

I'm sure this has never come up in my fishing posts, but I'm obsessed with synthesizers. Maybe when you think of that word, you think of giant machines with knobs and wires, with a pale skinny dude manipulating the controls; or maybe you think of Yanni, or Vangelis, or Tangerine Dream, or Wendy Carlos; maybe you think of techno. I do actually like all of those things, but to me I just like the idea of making new sounds, whether you do that by plugging in some cables, or typing some code, or blowing into a saxophone. Synthesizers are just another way to make sounds! I'm particularly interested in the old school analog synthesizers. I have this great software synthesizer, the Arturia CS-80v. It's great, but it's interface is tiny and it has so many faders! Check out this awesome video about the original and software version:

I've been playing with this amazing software called TouchOSC, which lets you design your own interfaces on iOS (and Android) devices. (The iOS app is $4.99, but the editor is free.) These virtual buttons, knobs, and faders can send MIDI messages to computers over a wireless network. Effectively, this means any kind of MIDI based stuff on your computer can be controlled with futuristic-looking controls on your iPad! It looks like Tron.

As you can see by the picture of the CS-80v, it's very complicated. The worst part about the program is you can't zoom! It's basically impossible to manipulate the controls in any musical way with your mouse... This has prevented me from playing with this synth very much.

Enter TouchOSC! I made a custom interface for the CS-80v, which lets me control - with my fingers - basically every single knob and fader on the screen. My iPad interface looks like this:

Doesn't that look nicer? And I can move everything with my fingers, up to 10 faders at once
Each one of those faders sends a MIDI control message to my computer, which in turns relays that to the software, which interprets the messages as "turn this fader X amount." It's pretty cool!

I spent a few hours knob-twisting using my iPad, and it's a completely different experience than clicking and dragging on faders. And by different, I mean much much more awesome! And of course it makes me feel like I'm in the future.

Not just satisfied playing with existing synthesizers, for a long time I've wanted to get a modular analog synthesizer. Those are the big monsters that are made up of many modules, connected with cables; they can be connected in any way imaginable, and make an infinite variety of sounds. They also cost a LOT of money, which of course I don't have much of. How can I satisfy my urge to build a synthesizer from scratch? Build a synthesizer inside my computer, of course!

If you're into music on computers, you may have heard of Max/Msp, which is a graphical programming environment (software). Basically, that means you can create music-making stuff on the computer, and connect them together with virtual cables. Trying to satisfy my urge to make a synthesizer, I jumped into Max the other day in an attempt to begin my custom instrument.

After four hours of reading tutorials, fiddling with numbers, tweaking the virtual cables, I wasn't even able to make a sound. Max/Msp is incredibly complicated, and the learning curve is incredibly steep. Maybe it's just me, but it isn't very intuitive. I'd like to think I'm pretty tech-savy, and I couldn't even make a sound. Defeated, I wondered if building my own virtual modular synthesizer was beyond my abilities...

Like the cavalry riding in with trumpets blaring, I remembered another graphical programming environment I've used before called Plogue Bidule. This program is used by a wide range of musicians in a wide range of applications, but most of my experience with it has been using it to host virtual software instruments to facilitate film scoring. It excels at that, but if you delve a little deeper, Bidule is capable of much more. Every little module you'd need to make a virtual musical instrument sits inside Bidule, waiting for you to connect it to something else. It's also much easier to use than Max.

An early version of my virtual modular synthesizer
1 oscillator, 1 LFO modulating pitch, 1 LP filter,
and a made-from-scratch mono delay unit
I opened up Bidule, and within 60 seconds I had a sound. Success! This was where I would build my synthesizer. I wasn't sure exactly how to do everything I'd need to do, but I jumped in, google-searching every few minutes to get answers. After a while, I had created my very first made-from-scratch virtual software synthesizer. When I pressed a note on my keyboard, I was rewarded with the loud and obnoxious sound of a low square wave.

This was just the beginning. It wasn't too difficult to build this very simple instrument; what if I added more modules, more cables, more sounds... I could create something huge, and awesome, and unique, and my own. I looked at the clock, and it was way past time to go to sleep.

I tore myself away from my computer, turned off the lights, and headed to bed. In my head I started to imagine all the new modules I could make, the new ways I could connect them, and the new sounds I could create. I thought of TouchOSC, and the awesome looking controls I could design to manipulate my homemade synthesizer.  This was going to be great!

No comments:

Post a Comment

Tell me what you think!

Note: Only a member of this blog may post a comment.