Prior to beginning my first year at university I was not too interested in sound, to me it was just a means to an end for game concepts that I was working on. I mostly used CD sound effect packs and recorded effects using a Dictaphone to then clean them up in Audacity later on. Although this was all to change when I became friends with another student in the living quarters or halls opposite me. Ewan.
Ewan had a Korg ER-1 MKII and he was absolutely obsessed with audio engineering, particularly sound synthesis and this rubbed off on me in a way that changed the course of my life dramatically. The Korg was the first hardware synthesizer I had ever laid eyes on, and needless to say, I spent many hours on it twisting knobs and hitting buttons in a trance-like automated rhythm making an aural landscape of strange blips and bleeps.
I had a hard time understanding much of what Ewan was teaching me at first, it was a whole new domain of terminology to me, but eventually, with Ewan’s help and the Korg ER-1 I mastered a basic fundamental understanding of audio synthesis.
It was the Korg ER-1 that really drove me, it was by all respects a simple synthesizer, yet capable of such a great myriad of sounds. I was obsessed with understanding how it worked, and this is how the Borg ER-1 was born.
The Borg ER-1 was a software replication of the main sound synthesis module from the Korg ER-1. I had obsessively, with the help of Ewan, fully come to an understanding of how the oscillators worked behind these turn dials and buttons. For me, this was a great milestone at the time.
I continued to obsess over waveforms and audio synthesis during my time at university, particularly Fourier synthesis using additive sinusoids. I had a yearning to grapple with more complicated concepts such as Fourier transformations from the time domain to the frequency domain — that all sounds could be broken down into their fundamental sinusoidal frequencies and then re-constructed digitally. It was at this time that I really started to understand the importance of floating-point variables, beyond simple decimal places, it was the first time I was introduced to many new concepts such as the ring buffer, delay lines, and more.
It would not be until my final year of university that my learning had come to some culmination where I felt prepared to have another stab at the software Korg replica project, the Borg, and pushing some of my more important duties to one side I began working on the Borg ER-2.
My final year of university was one of much neglect for my final year duties to my coursework, I allocated far more time to my passion projects than the coursework that would secure me better grades, one module I barely passed in, albeit every other student in the module having copied my work and obtained good grades, I funnelled most of the time I had into the team project where we worked on a 3D racing game using Bullet Physics and my personal project which was a whacky idea of trying to use 4x contact microphones on regular consumer-grade 44,100 Hz DAC to create a touch surface capable of getting precise touch locations and touch velocities, to which Jay Chapman was my personal tutor for, although the idea, of course, didn’t work out however it was a body of research to fully instigate all the options that where available at the time which could solve the problem. In the end needless to say I got a good degree at the end of it all, but I do feel that tutors graded other students higher for doing less work, or having copied my work, which the only throwback I have is: don’t help people it just brings down your grade and tutors are bias to grade people higher based on how much they like you. I got the best grades from the tutors who liked me and the worst from those who didn’t, despite how much work I did or how much I helped the other students in the tutors class to pass the module — at the end of the day university is only what you make of it and not the certificate you get at the end because it really is just a piece of paper.
Well, I did also dedicate a small amount of time to a third project,
The Borg-ER2 was all of my best code at the time, best research, and cobbled together biquad filters from the RBJ Audio-EQ-Cookbook. I was so proud of it that I released it on CNET, or formerly known as Download.com a popular site between the eras of monthly magazines with utility CDs filled with software utilities and app stores becoming a more mainstream occurrence in desktop operating systems.
The original blurb reads;
This is a software sound synthesizer that features eight oscillators each containing a rich selection of wave shapes.
A lot of thought went into the interface, each turn dial has three speed settings to ease selection of values and the relationships between all eight oscillators allows complex sounds to be easily modelled, each oscillator can frequency modulate, amplitude modulate and add, subtract or multiply with another oscillator all at once. What I aimed to achieve in this project was an interface that was as powerful as a modular interface but without all of the dragging modules around and connecting wires which I believe that this can be destructive to a work process, I found that time was being assigned to maintaining a good visual appearance when designing sounds in a modular interface.
I also wanted to create an interface where you can see how your sound changes to different inputs and this is what the Borg allows you to do, you can see the effects on the output sound wave every time you change a setting or turn a dial and you can also view each oscillators sound wave individually by selecting the oscillator.
All of this had to be achieved in a minimal interface that would not over complicate methods for the user by using too much unnecessary DSP jargon.
All of the filters and effects below the eight oscillators are applied per-oscillator depending on which oscillator you currently have selected, so for example each oscillator can have it’s own low pass value applied to it.
I spent a lot of time optimizing the sound engine, none of the oscillators use floating point division making them super fast and they are all based from high quality wave tables that are generated when you start the synthesizer.
Ultimately in my eyes at the time, the Borg ER-2 was the true successor to the Korg ER-1 as a pure tone synthesis engine.
The usage is very simple, you can right-click on turn-dials to cycle through the three settings of turn speed sensitivity, hit the return key or click mouse4 to play the current sample, and the rest is all point and click. To select an oscillator you just click on the text of the oscillator name “OSC1” for example — the oscilloscope below shows the output of the currently selected oscillator and any effects are only applied to the oscillator selected.
Although this video from 2010 gives a more visual explanation:
You can still download both the Borg-ER1 and ER2 today, and the full source code for the ER2 is available over at the GitHub here.
I did go on to try and forge a career in the audio programming industry after university, developing VST plug-ins using the Steinberg VST specification, but there were many competing plug-in formats around at this time. JUCE was and probably still is the only sane way of developing audio plug-ins for music software in a way that makes compiling your project to other plug-in formats a painless experience. I had some freelance jobs working on vanity VST projects for clients but frustratingly in the end I had to pack it all in around 2012 due to personal issues, my life had taken a lonely turn since university, I didn’t feel like becoming an audio programmer was as lucrative or exciting as I thought it was going to be and honestly, it was a lot of hard work, freelancing was a very unstable income and it was not that well paid either considering the number of hours developing a VST across multiple platforms took without using an intermediary such as JUCE which back then was good, but far from the commercial product it is today.
But that’s the account of how the Borg-ER2 came to be, a passion project even to this day I hold a special place for in my heart.