Brad Ormand Synth OptoCoupler VCA

01.06.2015 – Synth VCA, Job & Songs

J O B

Today, I chased down a software bug at work for about 6 hours.  For real.  Sometimes, it’s like that.  But, yeah – it ended up being because of a leftover overridden function in one of the data models in the client code.  I can’t go into details because it’s work/job stuff, but that function was empty and did nothing and got called, and thus, messed up the whole call stack, but threw no error.  Urrgh!

Haha.  But, I followed the stack trace deep into the libraries – Underscore, Backbone, and Marionette to find what was happening, but it led me to my own code in the end (yeah).  So, it was a roundabout way of getting to the bottom of it, but effective, since it led to the discovery of the override.  I mention it because I feel a good sense of accomplishment from finding and fixing it.  It was a fun journey, looking back on it.  But hours ago, I was starting to get frustrated a bit.  I could see my mind blaming the libraries, and then questioning using them at all, and then mentally commenting on the whole library stack decision, etc.  But now, I don’t really think any of that.  It was just when I was deep in finding the solution.  But, at least I just observed my mind instead of reacting.  And, that’s the lesson I took away from this:  If you just persist through the difficulties, technical or emotional, that come up while doing something that you really want to learn or have a deep desire to be proficient at, there are rewards waiting, and actually, joy at the end of it.

I did a similar thing with the circuit design program Eagle the other day.  I couldn’t find an part that fit my bill, and I had to make my own LBR spec.  I hadn’t done that before.  And, I just got kind of angry that there were no default quick keys for Mac.  There actually are, but they aren’t the standard CMD-modifier keys, instead there are F keys and assignable quick keys.  I was sensitive to that for a moment, overlooking the amazing tool that Eagle is.  Ah, but I quickly overcame the frustration once I learned the steps, and I love Eagle more than ever after having gone through that process.  Haha, I’m noticing that there’s an element of struggle involved to get used to something before you can really appreciate it.  I did the same thing 10 years ago when trying to get CSS down.  I remember massive frustration, especially with IE 6 vs Safari vs FireFox (Chrome hadn’t been invented yet). But, I love every bit of styling stuff up now.

It’s interesting how I was compelled to write about this “failure” and how sometimes I don’t when I achieve a massive success. I guess it’s like the story of when you broke your arm or took a ripper out on the climbing wall.  Ha.  Just, there’s something about going through it that adds something meaningful to life.

S Y N T H

Anyway, there’s the job story of the day.  But, I also made progress with my synth modules in the last few days.  I built an opto-coupled, bipolar-driven voltage controlled amplifier for my VCO.  It’s not the first one I have built, but, it’s the best one so far 😉  I built one for a compressor in about 2002 like this, but it was pretty shoddy and I was still learning.  I’m much better at the layout and design these days.  So, in addition to it being functionally working, it also looks super cool while it’s operating!  By opto-coupler, I mean the input voltage is controlled via a light/LED that gets sensed by a resistor that’s light-sensitive.  I don’t need it to be fast, and I’d rather take the character of the electronics, in fact.  Also, I have it uncovered to show the light now (it’s beautiful), but it’ll be sealed in production.  I have a gain reduction LED tapping off of it for the UI anyway.  The light is bright at -∞ dB, and off at nominal.

Brad Ormand Synth OptoCoupler VCA

I implemented a filter in between, but haven’t finished it.  This is just me picking away at the synth build as I get spare time.  Like I said in a previous post, it’s priority has been suspended until March or so while I work on the lights and the songs.  But, I can see it coming together, and it sounds really great!  Oh, I can’t wait to do something with it!

For the synth UI, I defined a few more attributes as I was going through this process.  Actually, I had a dream about effect circuits and that led me to more ideas.  (A lot of my ideas come from the dreamworld 🙂 ).  For instance, I have a good idea for a modulator/envelope using a similar opto-coupler, but with a big cap charging up for a log delay.  Then, I’m thinking about splitting the output, taking one side to a distortion circuit or similar and then to the inverting input of an op-amp, and the other split to the non-inverting, and let that deal with the mess coming in, trying to balance them.  Then mix it back in.  I imagine it’d be kind of like an inverse distortion or weird levelor if I got the signal levels right.  Those are on the block for experimentation.

S O N G S

For “Kitchen”, I added some sub bass to the chorus to fill it out, and it sounds so good.  I’m leaving it.  The kick and sub work well together, creating a good stiff lock for the chorus, while the verse still has a pretty low and round kick sound to it, a bit louder, and with a bit of a knock on it.  I think the difference is a pretty nice contrast.

And, I also added that octave sub to parts in “Lookin’ For”.  I went a bit crazy and just created a whole new bassline for it to vibe with.  It goes with, but is alternative to, the synth bassline and lead already present.  All of it comes from a regular sine signal generator. Ha.  But, I added some comp and a bit of light fuzz to it.  Anyway, it’s really coming along.  I tested the levels today, and it’s right up there with commercial tracks.  Good balance, “feel-able” sub, and pretty present, as well.  It’s almost ready for packaging 😉 .

For both of the sig gen parts, I had to re-mix after testing because the 100Hz range was overpowering the 40Hz range, so I put a lo-pass shelf in the middle at about 80 and knee-d down until 100 was about 3 dB down, leaving the low sub at the same level after gain compensation.