4 Basic Modeling Concepts
Chapters 2 and 3 focused on the "understand the problem" stage of problem solving, and they introduced both the basic concepts and terminology of modeling sound. The present chapter pivots to the make/implement a plan stages of problem solving by introducing the model elements and how they interact. Since we are building models for modular synthesis, the model elements are the modules, and their interactions are driven by how they are connected together in a patch. Figure 4.1 shows an example patch on a real modular synthesizer from Chapter 1.
Here and throughout the book, we will use open source modular software called VCVRack33 that has been ported to the web.34 This version is integrated with the the web version of the book so you can read about modular and solve sound design problems within the same environment. VCVRack is widely used in practice and has emulations of many hardware modules, so any details you learn about specific modules here could be useful down the road.
4.1 Modules are the model elements
The universe of modules is rather vast, which can make learning about modules overwhelming. For example, ModularGrid lists over 10,000 modules and classifies them according to 56 categories based on their function. While those 56 categories are certainly real and useful, you can get the main idea with only three categories: controllers, generators, and modifiers. You might think of these as "categories of categories."
Controllers initiate musical events. An example controller is a module that waits for key presses and, on receiving them, sends a signal to initiate a musical event. Another example is a sequencer, which you can think of as way of emulating timed key presses to initiate musical events.
Generators create audible sound. An example generator is an oscillator that generates one or more of the four basic waveshapes discussed in Section 2.4. Another example is a noise generator that generates one or more colors of noise described in Section 3.3.
Modifiers modify incoming signals that may be either audio or some kind of control signal. An example audio modifier is a reverb, which adds diffuse echoes to sound, giving it the feel of being played in a room. An example control signal modifier is an envelope, which we can use to control the amplitude of a sound over time, as discussed in Section 3.4.
4.2 Signals are how the model elements interact
Modules interact with each other through signals sent via patch cables. Starting with the signals, we can broadly separate them into two types: audio and control signals. Audio signals are a voltage representation of sound. Recall that sound is a pressure wave with high and low phases of pressure. It's perhaps not surprising that audio signals use corresponding positive and negative voltage to represent a sound wave. This kind of voltage is AC voltage. Anytime a signal is bipolar, i.e. it crosses zero, you can assume the voltage is AC.
Control signals represent everything besides audio. Unlike audio signals, control signals are unipolar voltage representations, i.e. they don't cross zero, and thus use DC voltage.35 There are two main types of control signals in modular synthesis. Both of these can be understood in terms of light switches as shown in Figure 4.2. Regular light switches are either on or off. In terms of voltage, they are either at minimum voltage or maximum voltage. Dimmer switches in contrast can smoothly adjust voltage between their minimum and maximum.
On/off signals are either gates or triggers, as shown in Figure 4.3. Both triggers and gates are rectangular pulses that control a musical event. The difference is that triggers are used to start musical events, but gates are used to both start and end musical events. That's why triggers have the same length, but the length of gates varies by the end time of the musical event. As a result, we can use a trigger to model a drum hit, but we need a gate to model holding down a key on keyboard.
Envelopes are a great example of a continuous control voltage. As discussed in Section 3.4, envelopes can be used to control the amplitude of a sound wave and thus its loudness. We can represent an envelope in control voltage (y-axis) as shown in Figure 4.4. This envelope example illustrates how flexible control voltage can be - any voltage level or shape over time is possible.
In the Eurorack modular format, signal voltages typically span 10 volts. This is much move voltage than common audio devices, so connecting modular gear to standard audio equipment requires some care. Table 4.1 presents the voltage levels for modular signals in Eurorack, together with common audio signals for reference.
Modular signals | Voltage range | Common audio signals | Voltage range |
---|---|---|---|
Audio signal | -5 to +5 | Pro audio level | -1.7 to +1.7 |
Continuous control signal36 | 0 to 10 | Line audio level | -.45 to +.45 |
On/off control signal | 0 to 5 | Instrument level | -.02 to +.02 |
Microphone level | -.005 to +.005 |
Modular signals are transmitted by patch cables.37 Patch cables are primarily mono but sometimes stereo if a jack supports it. These two patch cable types look identical, except at their connectors, as shown in Figure 4.5. Stereo patch cables are TRS (tip-ring-sleeve), whereas mono patch cables are TS (tip-sleeve).
4.3 Signals are interpreted by modules
One of the most powerful aspects of modular synthesis is the variety of ways that modules can be connected together. You can often send an unusual signal to a module, and that module will still respond. However, its also possible to send a signal to a module and for nothing to happen. The reason for this is that modules expect a certain type of signal at each input jack, and they will interpret signals they receive according to these expectations.
Take gates and triggers for example. What makes a gate a gate and a trigger a trigger? As we said above, gates have a variable duration, but that doesn't prevent them from being used as triggers. Modules that receive triggers listen for the leading edge of the rectangular pulse and then stop listening. So a module expecting a trigger will be satisfied with a gate. If the trigger is wide enough, it might also satisfy a module expecting a gate, because that module will listen for the trailing edge of the rectangular pulse to mark the end of a gate. We probably wouldn't want to do this in practice because we wouldn't be able to change the length of the musical event, but you get the idea.
Modular signals are also somewhat interchangeable between audio signals and control signals. Recall that human hearing is sensitive to frequencies between 20 Hz and 20 kHz. So if we generated a train of rectangular gate pulses in this frequency range, we are generating the same shape as audio, and we can listen to our gates as a pulse wave. Similarly, if we generate envelopes repeatedly at an audible frequency, our envelope becomes a waveshape, and we will hear a sound based on the shape of the envelope. However, in other cases you might hear nothing! This is because jacks that expect audio are AC-coupled, which removes low frequency signals, noise, and offset bias that would interfere with sound quality.
One signal that deserves special mention is volt per octave (V/Oct). This signal used to tell oscillators and other generators what pitch they should play. The V/Oct standard was pioneered by Moog and is widely used in the Eurorack format. Note that V/Oct goes straight from the voltage representation to pitch perception, with no mention of frequency. This makes it easy for musicians: since each volt represents an octave, it is easy to play a note one octave above the current note by adding one volt to the current signal. Similarly, one semitone above a note corresponds to 1/12 of a volt above the current voltage.38 While just about any signal could be used,39 continuous control signals are commonly used in order to access a range of pitches.
When signals don't work as expected, it can be hard to figure out why. One of the best tools you can use to diagnose problems is an oscilloscope. Oscilloscopes display voltages over time, so they are great for displaying modular signals, including rapidly changing signals like audio. A bench oscilloscope is shown in Figure 4.6, but several modular manufacturers have created compact oscilloscopes that fit into a case, and you can also use a software oscilloscope if you have a DC coupled audio interface. Another great tool for diagnosing problems is the manual for the module in question. If the signal in the oscilloscope looks correct, then it's likely you have a misconception about the type of signal the module is expecting.
4.4 Pulling it all together
Let's put these ideas into practice with some basic patches! As stated, we'll be using a web-ported version of VCVRack, which you can launch using buttons below. The port currently has some quirks:
- It will not run on Safari because Safari does not support fixed-width SIMD.40 That means it will not run on iOS at all per app store rules.41 42
- It has a large download because it bundles modules. For best performance, you should use Firefox, which currently caches the files better than Chrome.43
In the following sections, we'll start with a patch and incrementally expand it to add more functionality.
4.4.1 Drone
The most basic patch that makes a sound is a drone patch. It's the most basic because it only has one real module, which is a generator to make the sound. We'll use an oscillator for the generator and one extra module, an audio interface module, to connect the oscillator output to our speakers. For this patch only, I'm going to demonstrate using the video in Figure 4.7 to explain the user interface of the modular software.
After you watch the demonstration, try to make the patch yourself using the button in Figure 4.8.
When you press the button, you'll see an interface that also includes Instructions
, Solution
, and Close
buttons.
These are self-explanatory, but in particular the Close
button will return you to the book.
4.4.2 Using an oscilloscope
You can use an oscilloscope to see the wave produced by the oscillator. The most important controls on an oscilloscope are the time and the gain. You can think of the time as slowing the wave down enough so it just about stays still. If you don't do this, most waves will just look like a blur because their frequencies are so high. Gain, on the other hand, is useful if the wave has a low amplitude. If you're expecting a wave and only see a line, you should try increasing the gain. You can think of gain as zooming in on the wave. Finally, oscilloscopes (scopes) don't change the signal at all. So whatever you patch into them is copied exactly on their output jacks. This makes it easy to put a scope in between other modules without changing the resulting sound. Try adding a scope between the modules in the previous patch using the button in Figure 4.9.
4.4.3 Controlling pitch
You're probably realized why the drone patch has its name - it just produces a constant pitch at a constant volume. To make things more interesting, let's control the pitch that goes into the oscillator. You'll need a controller for this. Let's use the "Twelve-Key" (12 key), which has a miniature keyboard built into the module. The output of the 12 key that we are interested in is the control voltage (CV) that outputs V/Oct. If you connect that output to the V/Oct input of the VCO, the VCO will change its frequency every time a key is pressed. This is analogous to precisely and instantly moving the frequency knob on the VCO. Try adding the 12 key to the left of the VCO in the previous patch using the button in Figure 4.10.
4.4.4 Controlling note duration (on/off volume)
In the last patch, pressing a key changed the pitch, but the note continued until the next key was pressed. You can control note duration independently of pitch using a voltage controlled amplifier (VCA). Just like you can control the frequency of the VCO by sending it control voltage, you can change the amplitude of a VCA by sending it control voltage. The control voltage we'll use is the gate output of the 12 key. That way, each time a key is pressed, two control voltages will be sent out at the same time: a V/Oct to control pitch and a gate to control note duration. The VCA will "open" and let the full amplitude of the wave through when the gate voltage is high, and the VCA will "close" and let nothing through when the gate voltage is zero. Try adding a VCA between the VCO and Scope modules using the button in Figure 4.11.
4.4.5 Controlling note dynamics (volume during note)
We can make the sound even more interesting by making the volume of the note change while the gate is active. To do this, we'll use an envelope generator, specifically the ADSR module. The ASDR module will detect the leading edge of the gate and proceed through its (A)ttack and (D)ecay stages. As long as the gate is held, the ASDR module will hold at the (S)ustain level. Finally, when the trailing edge of the gate is detected (meaning the key has been released), the ASDR module will proceed through the (R)elease stage. Remember that an envelope generator doesn't do anything by itself; if we want to control the volume of the signal with the ADSR, we must connect the ADSR to the VCA. Try adding an ADSR module between the VCO and VCA modules using the button in Figure 4.12.
4.5 Moving forward
The basic modeling concepts and patches in this chapter provide a high level overview of what's to come. The following chapters will go into the three module categories (controllers, generators, and modifiers) in more detail and similarly provide concrete examples along the way. From there we will continue to spiral outward into increasingly complex modules and applications.
4.6 Check your understanding
What is the difference between a trigger and a gate?
What is the standard voltage range of modular audio signals?
What does AC coupling do?
What type of signal carries pitch information?
What module interprets pitch information?
What module interprets loudness information?