Transcription
Analog oscillators have one flaw nobody has fully solved. Every manufacturer works around it with calibration routines, temperature compensation, warm-up times, but it never fully goes away. They drift. And when you're running two of them together, keeping them locked is a constant losing battle. We set out to fix it. What you're looking at is the Bond V2. And by the end of this video, I think you'll agree that the way it handles tuning changes what you should expect from an analog oscillator. But to understand why it's different, we first need to talk about why every other one has this problem in the first place.
Let's first look at a typical VCO and its most important inputs and outputs. You've got one or more waveform outputs to choose from, usually created by rapidly charging and discharging a capacitor with an op-amp or a Schmitt trigger. There's an excellent video describing this process in detail by Moritz Klein that I encourage you to watch, linked below. Since it's a voltage-controlled oscillator, we do have a control voltage input to affect frequency, as well as a reset input. The latter is mostly used as a sync input in your typical VCO modules, but keep it in mind because we will come back to it later.
Let's see what the most important pros and cons of an analog VCO are. There's zero latency between a CV change and the corresponding pitch shift, which makes it uniquely expressive when driven by fast envelopes or audio rate FM. It's analog imperfections, like slight pitch drift, thermal noise, and component tolerances are the reason why we tend to call it sound warm and rich or fat when detuning two or more voices. On the flip side, due to the thermal sensitivity of its exponential converter, it needs a while to warm up to stay in tune. It's usually unstable and imprecise when doing big octave jumps. Can be very noisy if not designed properly and often needs a tuning calibration routine just to stay reliably in the volt per octave standard.
Now, a digital VCO solves all the stability and calibration problems of the analog VCO. It opens up a vast range of additional waveform topologies, output configurations, and real-time parameter control that would be impractical or impossible in analog. It is also a lot more consistent to manufacture.
[music]
But it comes at a cost. The sound tends to feel sterile or clinical. Fast modulation can produce stepping or aliasing artifacts because of the finite update rate of the DSP and everything ultimately passes through a DAC which introduces its own noise and filtering that's [music] difficult to fully get rid of.
The question sat in the back of my head for a long time. How do you get the best of both worlds without the drawbacks of either?
>> [music] >>
This is the dual VCO core of our old bond module. It was built on the SSI 2130, which is a very solid choice for a modern analog VCO, but it still requires a long and complicated calibration procedure every now and then. And even after doing that, the link button of the old bond didn't really match the pitch of its two oscillators.
>> [music] [music] >>
You'd have to manually nudge [music] one of them and keeping both in the same phase would be nearly impossible. One day, when calibrating one of them, I had an idea. What if this tedious and unavoidable step would be entirely automated.
We started with examining old schematics of one of the most studied early DCOs, or digitally [music] controlled oscillators, the Juno-6. The DCOs were praised for their exceptional stability and precision. We're still using the classic wave shapers that sound similar to what we all love in analog synthesizers. This stability was even more important as they were mostly used in polysynths. In addition to that, they also aren't temperature dependent, require almost no ongoing calibration, and you can squeeze in some digital features [music] like detune and unison with some careful design.
But there is still one major drawback to them that we had to address. Remember how I told you about the reset input in a VCO? This is the key to understanding how DCOs work. Their frequency, or pitch, is being controlled by precisely timing the reset pulses coming into the oscillator core. While this is a step above a typical digital oscillator, [music] the pitch is still ultimately governed by a digital clock, and that character can be felt while [music] playing a DCO. The other drawback is their complexity. Even with today's microprocessors, getting [music] accurate volt per octave tracking across the full audio range still demands careful clock design, precise division ratios, and managing the pitch resolution [music] limits that come from integer clock division steps. Explaining exactly how these work would make this video run for way [music] too long, but there is a very good explanation posted by Polykit, which I also recommend [music] you to watch, link in description. I will also throw in my two cents and make a video dedicated to DCOs [music] in the future.
Another idea we found interesting was a PLL, or a phase-locked loop. You might have heard about it here and there, and there's [music] even a Doepfer module that is based on this idea. Here, instead of directly affecting the reset input, we first take the output of our VCO and measure it using a circuit called a phase [music] frequency detector. When fed with our VCO output and a target digital waveform, it compares the phase and frequency of these [music] two waves, producing an output that indicates the phase and frequency difference. That difference is then passed through a low-pass filter to remove high frequency artifacts and finally used to nudge our VCO in the right direction using its CV input. The process repeats until the two waves become the same. Of course, we also need a microcontroller to generate our ideal wave and measure the difference. While this design might look perfect on paper, it still struggles with big pitch jumps and especially with low frequencies of our VCO. Still, it's the best one we have discovered so far. So, Lucas, the second half of Be At Instruments, took it as a challenge to improve on the circuit and try to include it in a future Bone version.
>> The first thing that came into my mind was to adapt a phase frequency detector to better suit Bone's architecture. The whole section was redesigned from the ground up. We call it the error corrector. It uses frequency counting instead of measuring the phase and frequency difference between two waves. This change improves tuning time, especially for low frequencies. To further address low frequency issues, as well as to compensate for every analog circuit being slightly different, we perform factory calibration on every Bone. We map how much current needs to be injected into the VCO to exactly reproduce any given pitch and stored in the onboard memory. This method was used in the legendary Prophet-6 and OB-6 synths. They create their own calibration tables and use them to compensate for the natural drift of analog oscillators, giving musicians the reliability of digital tuning while keeping the signal path purely analog. Bone goes a step further. It calibrates itself continuously, correcting errors before they can ever be heard. Finally, the pitch jumps were addressed using what I call an error predictor. It basically takes what the error corrector outputs and trains a simple correction model. It predicts how far off the calibration table is from the actual VCO frequency. The error corrector will then have much less work to do after a pitch jump and you won't notice pitch bending as much when the bond retunes. Making these three circuits work together should result in a near perfect pitch tracking while preserving all the analog nature of our VCO cores. Of course, this must all be done digitally on a microcontroller board which will be purpose-built from scratch. A name we have come up with for this type of circuit is a closed-loop digitally assisted VCO, the first of its kind in Eurorack as far as we know. On a side note, keeping the modulation behavior of the bond means that we have to keep the FM, PM, and sync in open-loop mode. If you patch an FM, PM, or sync modulation source, the error corrector will have no idea what is going on and will go crazy. To solve this issue, we have decided that it will be disconnected from the control path entirely.
>> [music] >>
In other words, three complementary systems all working together so you never have to think about tuning [music] again.
This plan was ambitious. Let's talk about what it actually took to build it. We did [music] extensive testing of our error corrector until we got it to work just right. Then Lucas went on to write the entire firmware from scratch. The error corrector logic, the calibration routine, the error predictor model, and the communication layer between the analog heart and the new digital brain. Meanwhile, I [music] went on to redesign the whole PCB of the bond to house the digital components as well as create [music] the new sub-module family that the module will run on. Then, after making the first prototypes and the new carrier and sub module boards, it was time for another round of testing to see how the two cores behave together and what issues [music] might still be there to fix. After confirming that everything works just as we planned, the only thing left [music] is to change the panel design a little bit to facilitate the new push button switches. We have also changed the second [music] volt per octave input for each oscillator to just CV as it's going to get way more features to choose [music] from like octave CV, detune, or quantize. The panels are also truly black and white this time to match a new design language. It's always [music] a stressful day at the workshop when we receive the final prototypes. Have we made sure everything [music] works as expected? Will the modules pass our tests? Are they solid, premium, and fun to play with? We will find out in just a few moments.
After soldering and cleaning the [music] boards, the first thing we do is run the full factory calibration sequence. Here's the initial calibration table being [music] built, a testament to just how much work goes into making something feel effortless to use. The last step is to calibrate the analog to digital converters that read the CV inputs. To make sure these ICs [music] get calibrated as precisely as possible, we have created a custom very precise voltage source. With that, every Bond leaves [music] our hands knowing exactly how to tune itself and it will keep doing that every time you power it on.
And here it [music] is, the Bond V2. The culmination of almost a year of research, testing, and endless amounts of prototypes. Seeing this one come to life hit differently. It's by far the most sophisticated VCO design we have made and there I say the most sophisticated VCO design anyone has shipped in the Eurorack space to date. Here's our revised analog hard sub module that houses the oscillator cores. And here's the all new digital brain that does all the magic behind the scenes to make sure your experience with Bond is a smooth, stable, and musical as possible. We have also revised the expanders a little bit, now featuring per VCO glide, a more logical layout for the VCAs, and three new wave outputs per VCO.
Let's quickly go over all the features of the Bond. The first and most important aspect of each VCO is the waveforms it can output. The pulse wave, the square, a sine, triangle, and the sawtooth. The VCOs have a dedicated octave switch and a fine-tune knob that spans one octave by default. Then, there is default per octave input, in which we have managed to achieve sub-cent accuracy. That's less than a hundredth of a semitone. Under this input, there is a CV input that can have a range of functions, which we will cover later. The note changes can [music] be smoothed out using the glide knob or its CV input on each expander. The pulse width knob can change the pulse width and has a range from 100%, which results in DC, to about 10%. It can go down to 0% when using the CV input.
Then, we have the modulation options. First one is soft sync.
>> [music] >>
The yellow saw wave of oscillator two is being synced to the blue square wave of oscillator one. Normally, when the synced wave [music] is a triangle wave, each upward pulse would cause it to switch directions until it reached the maximum point. Here, with the saw wave, it behaves a little differently. Instead of reversing the falling edge, it simply cuts the ramp short and triggers an early reset. This is a curious case that happens [music] because the saw wave is only wave-shaped after the triangle core is reset. Hard sync, on the other [music] hand, is a little simpler to grasp. It completely resets the sawtooth cycle whenever it gets a pulse.
Then we have through zero linear frequency modulation. Again, the yellow sawtooth wave is what's being modulated by the blue square wave. When the mod input is above ground, it simply pitches up the saw wave. But when it dives below the ground, more interesting things can [music] happen. At first, the saw is simply pitched down. By increasing the blue [music] square wave amplitude, the yellow wave almost stops, and we see a horizontal line. Going further, the saw wave starts [music] going up instead of down, since it effectively has a negative frequency. This wave fold like reversal is what gives through zero FM its distinctly aggressive, almost vocal character that no other modulation type can replicate. If you'd like to learn more, I recommend you watch the explainer video by Braintree 56 that covers [music] this behavior on the first version of the bond. I linked it below. The through zero phase [music] modulation does a similar thing, yet affecting phase instead of frequency, resulting in a more delicate modulation, in my opinion.
Let's focus now on the expanders. We've already covered glide. The second and biggest section is the three channel mixing VCA. The first channel is patched internally to the main module's pulse, triangle, or sawtooth wave. You can use a switch to select one of them and adjust the gain [music] with this knob. When you patch a signal into the gain CV input, that knob will instead act as an attenuator.
>> Next, we have two auxiliary channels where you can patch anything from audio to CV signals. In this case, I'll just patch in a [music] triangle wave from the other VCO. You can now mix the two channels into one mix output. I'll patch in a third wave, in this case a square. Watch how the resulting wave changes. You also need to watch out for gain levels as the mix can go higher than the standard 10 V peak-to-peak range.
The last expander section features three new outputs. The ring modulator, which takes the sign of the closer VCO and multiplies it by the square of the other VCO. A sub-oscillator output that by default gives you a sine wave pitched two octaves down from the main VCO with both the pitch and wave shape adjustable in settings. And finally, the noise output, which by default outputs plain white noise. Again, you can change the noise colors in the settings.
We have made a dedicated web app to easily update the firmware of the Bond in just a few clicks and to enable you to change various module behavior settings to your liking. At the moment, it works on all Chromium-based browsers and on Android. Just plug in your Bond to a compatible device using a USB-C cable, click on the pop-up, or enter flash.beatinstruments.com. Here, you'll find your device info and usage statistics and more importantly the configuration tab. As of the filming of this video you can tune and transpose your bond, change the noise color, sub-oscillator waveform, and sub-oscillator transpose, change the fine tune knob range, change the glide curve, disable phase lock which makes sure that when you link both VCOs they stay in phase, and use the quantize feature. In this example I have set the root note to G and the scale to pentatonic minor.
>> [music] >>
All settings are then saved with just one click. Then just click disconnect and you're all set.
And that's the story of how the V2 of the bond came to be. There is a ton of love and effort packed into this tiny module and we made sure it's the best out there when it comes to Eurorack VCOs. I have published the schematics to the analog heart sub-module that contains the VCOs to our GitHub. It's based on the extensive application notes found in the SSI 2130's data sheet but with some clever tweaks to suit our needs better. If you want to build one yourself, feel free to reach out and I'll be sure to help you out. Finally, if there is any subject I have touched in this video that you would like me to expand upon, be sure to leave a comment and I will try to make a separate video covering that. If you want one in your rack, the link is in the description. Thank you for watching and see you in the next one.