Check out my music: https://soundcloud.com/playinmyblues

Wednesday 10 April 2019

VCV Rack Tutorial 1 – VCO, VCA, Sequencer and Oscilloscope Modules

VCV Rack Tutorial 1 – VCO, VCA, Sequencer and Oscilloscope Modules

This tutorial is meant for the beginner to VCV Rack as well as synthesis. It is not written by an expert but it does provide a fair amount of detail. The first section just provides the briefest description of the modules to use and the connections made. If you want more details, read the rest of the tutorial. Please comment below.

The plan is to make more tutorials to make more complicated patches that resemble both mono-keyboard type synths as well as just experimentation. Modular synths excel at experimentation. Look for application of filters, envelopes and MIDI modules as well as Bridge to route the audio to your DAW. Who knows where it will go from there.

Short list:
>1) Download VCV Rack at https://vcvrack.com
Install VCV Rack.
>2) Login to VCV Rack in the program.
    Click “Manage plugins.”
>3) There is more than one way to do something. Experiment as needed.
>4) Place the AUDIO module in the rack.
    Select the proper settings in the AUDIO module for your computer.
>5) Add VCO-1 module from the Fundamental section.
    Place a patch cable from VCO-1 “SIN” output to AUDIO “INPUTS 1.”
    Adjust the VCO-1 “FREQ” control to get sound.
>6) Making noise more interesting
    Add a VCA-2 module from Fundamentals.
    Place a jumper cable from VCO-1 “SIN” output to VCA-2 “IN” and from “VCA-2 “OUT” to AUDIO “INPUTS 1.”
    Adjust the VCA-2 “LEVEL” to the maximum. Adjust VCO-1 “FREQ” until you hear sound.
    Adjust both of the above controls to see what works.

    Add the SEQ-3 module from Fundamentals.
    Place a patch cable from “ROW 1” of the SEQ-3 module to VCO-1’s “V/OCT” input.
    Place a patch cable from any of the VCO-1 outputs (“SIN,” “TRI,” “SAW,” or “SQR”) to VCA-2 “IN.”
    Place a patch cable from VCA-2 “OUT” to “INPUTS 1” for mono left or “INPUTS 2” for mono right or “INPUTS 5” for mono both sides.
    Adjust SEQ-3’s “ROW 1” controls to different levels. The green LED’s above the SEQ-3 “GATE OUT” can be selected and deselected to provide different notes to play or not play.
    Refer to the details of section 6) for more details on patching cables for more interesting sounds.
>7) Adding the SCOPE
    Add the SCOPE module from the Fundamentals section.
    Place patch cables from any output modules to the SCOPE “XIN” or “YIN” or both to see what those waveforms are doing.
    To start with, take the VCA-2 “OUT” to SCOPE “XIN” and watch the waveforms made as the sequence runs. Change the SCOPE “TIME” control for different details.
    With the “TIME” control all the way to the left, you get the big picture of what is going on.
    With “TIME” all the way to the right, you might not be seeing what you need to see at all. Turn “TIME” all the way left and slowly increase it in stages until you see waveforms that resemble the examples given below.
    Note that you can use SEQ-3 “GATE” outputs of any kind to see what happens when those signals are applied.

There you have it, the short and below, the long of it. Have fun!


Detailed Section of the post:

>1) The VCV Rack website is:
https://vcvrack.com./

Download VCV Rack – one of the OS options: Windows, MacOS, or Linux.
    Linux is actually the easiest to install so if you have a Linux OS, you are in luck. There are less steps for a Linux install than the other OSs, less clicks and/or less command line instructions. MacOS and Windows are actually very easy to install as well as both of those operating systems' versions are automated. It is simply a double click and follow the instructions.
    The Linux install is a simply download, unzip the file in whatever directory you like and it makes its own directory called Rack. Change directories and run VCV Rack. With Linux, you can double click the executable or you can navigate to the directory where it was installed and use the command:
$ ./Rack

>2) VCV Rack with no modules installed, not logged in:
At this point, you should login. You can login in the program itself.












The icons at the top of the window are typical of any program in that you have a "New" icon, an "Open" icon, a "Save" icon, etc. Here is the list with shortcut keys where they are provided:

New Patch  -- Ctrl-N
Open Patch  -- Ctrl-O
Save Patch  -- Ctrl-S
Save Patch As  -- Ctrl-Shift-S
Revert Patch  -- no shortcut key
Disconnect cables  -- no shortcut key
Engine sample rate  -- no shortcut key  -- click on the button and there are options:
    Pause engine
    44100 Hz
    48000 Hz
    88200 Hz
    96000 Hz
    176400 Hz
    192000 Hz

    The “Pause engine” option is good if you want to stop the sounds produced temporarily.

Toggle power meter (see manual for explanation)
Cable opacity  -- click and slide to change
Cable tension  -- click and slide to change
Zoom  -- click and slide to change
Manage plugins  -- click to go to the VCV Rack plugins webpage
Updage plugins  -- click to enact the plugins options selected on the plugins webpage

One of the first things you should do is click “Manage plugins” in the VCV Rack program, located at the top of program. This will bring you the webpage where you can select a number of different plugins, some free and some paid. Download and install occurs when you click the “Update plugins” button in the program.

You will have to create a new account if you have not made one already. If you have, you can login to allow your plugins to be selected if you have not already logged in within the program.

You can select which ones you want to download by selecting the option on the right of the information for each plugin. One of the great things about VCV Rack is that many of the modules for download are based on hardware modules, made by the same companies.

If the plugin is free, you can go back the VCV Rack program and click “Update plugins” to load the plugins into the program.

>3) There is more than one way to do just about anything. Adding modules according to your own ideas of how to set things up is your own preference and will differ from person to person. What is attempted to do here is demonstrate some simple concepts given a noob’s perspective to modular synthesis. The great thing is that if you mess things up, you can easily start again.

As with a DAW, you might want to set up a template situation to make things easier for a basic situation for using VCV Rack. You can save the patch at any point and it is possible to save patches in a directory different that the one that VCV Rack defaults to when you first go to save your patches.

>4) Setting things up:

In order to hear any signal, the Audio module needs to be in place. It is good to have a type of workflow in the way you place your modules. Left to right is a common way to work. In this way of working, the Audio module will be placed on the right. It is the last module between your modules and the speakers or headphones.

Audio is found under the Core group of modules. On a Mac, instead of a right click, double finger click to access the shortcut menus. Right click anywhere within the rack space to access the shortcut menu to select modules.

When you place the Audio module, you should select the proper settings for your computer. There is there are four sections available to change according to your system: i) Audio driver, ii) Audio device, iii) Sample rate, and iv) Block size.

i) Linux Audio driver tends to be ALSA but there are the JACK and Bridge selections as well. JACK is another audio interface system for Linux and Bridge is used to bridge the audio produced by VCV Rack to a DAW. Bridge is an option for all three OS’s. Windows commonly uses ASIO4all but choose whatever your drivers are for Windows. OSX, for Macs, is CoreAudio.

ii) The Audio device you choose can vary and sometimes there is more than one option that will work. If you are using a USB audio interface between your computer and the speakers, you will want to select that option. You can use VCV Rack without a USB audio interface and there are a number of options for Linux. Selecting some options in Linux can often result in YouTube tutorials not playing while you have VCV Rack running. Selecting other options can often allow you to watch those tutorials. Experiment to see how things operate. Different selections can change the way the audio gets routed to the speakers or headphones.

Another warning is that in the past, selecting JACK as the audio driver has resulted in any videos in a webbrowser not playing at all when a program using audio is running. If you learn more about JACK, you might be able to change that.

iii) Sample rate can vary a lot and you generally want to choose the highest rate you can for your computer. For older computers, 44100 Hz is the best choice as it puts the least amount of processing strain on your computer and you can add more modules to get it to run interesting patches. The higher the sample rate, the more your CPU is used doing calculations to output the audio. This is something you can change partway through making your patch so do not worry about picking a permanent setting if you need to free up some processing power. 44100 Hz is CD quality so that is quite good for most purposes. Many newer computers will have no problems running 192000 Hz.

iv) Block size is important. The lower the block size, the faster the program reacts to changes. If you use a MIDI keyboard to play notes then you want low latency provided by a smaller block size. One problem that can occur with smaller block sizes is noise in the audio produced by the program. I cannot explain as I do not have the knowledge about why it does that. However, this is a common problem with all audio programs that have block sizes as parameters that can be changed. A higher block size results the audio being produced to be of better quality with the tradeoff of more latency. Higher latency times become more apparent when you do use something like a MIDI keyboard to play notes in VCV Rack or a DAW.

As the ear cannot often detect small differences in audio, choose the smallest block size you can without getting noise or crackling in the signal AND an acceptable latency. If you use VCV Rack in a way that latency does not come into effect, choose a larger block size. Sequencing and just recording VCV Rack could be one such example. However, beware of things like turning knobs on the modules that those changes might introduce latency effects that are noticeable. Latency times less than 10ms are often not very noticeable by most people.

5) Making noise

Now that you have your Audio module in place, it is time to make some sounds. You need to add a VCO (voltage controlled oscillator). To start, you might as well stick with Fundamental.

Right click on any space in the rack and select the Fundamental section. Within that you will find many modules, but the one you want is right at the top, VCO-1. Click that and put it on the left side of the rack. In the picture below, you can see the modules menu from right clicking as well as the VCO-1 module already placed on the rack.


So here is a quirk with a very easy work-around. When I placed the AUDIO module, I selected the Audio device as the “hw:HDA Intel, 1-2 out)” option. This allowed me to hear the sound produced by VCO-1 when I placed the patch cable from “Sin” on VCO-1 to “Input 1” on Audio. However, if I go to play a tutorial on YouTube, the video will not start. The screen does the circle looping thing over and over. When I select “default (1-8 in, 1-8 out)”, the sound is audible on VCV Rack and the YouTube video plays. No patch cables means still no sound but I get to that after the next paragraph.

If you run into a situation like this, look at the available options to see what can be changed. I suspect that it is the more ins and outs from “default (1-8 in, 1-8 out)” that allows audio and video to play from the webbrowser and VCV Rack at the same time. I have not experienced the same thing on Windows or on a Mac. Things just play. So Linux has some advantages and you can do lots of stuff on Linux that you cannot do on the other OS’s but sometimes Linux requires more adjustments to get things to work. All-in-all, I like using Linux because of these quirks, their fixes and the ability to do many things on your own and personal customization that cannot be done the same way on other operating systems. There are times with certain hardware audio device selections where I do not have to connect the AUDIO module inputs to the outputs and hear sound but, to be thorough, you should connect those inputs to outputs.

Placing patch cables:
In the diagram shown here, you see three inputs and one output. The INPUTS are the black circles in the centre with two grey rings around the black circles. The OUTPUTS are the black circles with two grey rings around the black circles which are then surrounded by a black rectangle. The three INPUTS here are labelled “EXP,” “LIN” and “IN.” The OUTPUT is labelled “OUT.”

Connecting inputs and outputs of modules is simple. Click on the output of one a section of the module and while keeping the mouse button down, drag the cursor to the input where you want the cable to go. When people use modular synths, they tend to colour code their connections. You can do this in VCV Rack as well. Admittedly, I have not used this feature yet, but it is easy to do. If you want a particular colour cable and it is not the first one that shows up, let the mouse button go and click, hold the button and drag again and see what colour you get. There are only four colours so it will not take long to get the correct colour. The colours are red, blue, green, and yellow.

Running multiple cables:
If you want to run more than one cable from an output to an input, press the Ctrl key before clicking on the output jack. You cannot run multiple cables to one input. Take note that there are modules that allow for multiple inputs to be mixed to one output.


If you want to get rid of one cable, click on one of the cable ends, hold the mouse button down and drag it off the connection. It will disappear. There is a button in the top menu bar, 4th from the right, that looks like a cat. That button will remove all the patch cables from your modules. I suspect that the creators of VCV Rack have had some problems with cats chewing their cables.



After all that, now that you have had a minute or two to listen to that Sin wave or Triangle, Saw or Square, you are probably thinking this is a pretty boring sound. Before you turn down the volume or disconnect the patch cables, there is an option to “Pause engine” which turns off the signal chain so you will hear no sound. This can be handy when you start to hear unwanted sounds and need to make changes without hearing the immediate direct results. You could remove patch cables at certain specific points. Once you start to build large patches, the “Pause engine” option is likely the easier one. The icon to click to get to “Pause engine” is to the right of the cable chewing cat and is called “Engine sample rate.” It looks like a triangle wave, third icon from the right in the picture above. Click the icon then select “Pause engine.”

Now, the thing to remember here is that before you can hear sounds again, you need to go back to “Engine sample rate” and select the toggle counterpart to “Pause engine,” which is “Resume engine.” Using “Pause engine” will undoubtedly result in forgetting to select “Resume engine” to get sound again. Prepare for a little frustration until it sinks in. It would be handy for the development team to make the option toggled with a shortcut key.

>6) Making noise more interesting:
Adding a VCA and then a sequencer.

First, add a voltage controlled amplifier to allow for the volume of the sound to be controlled. Doing so at this point might be a little more relatable. The volume of the sound can be controlled by turned the “Level” knob on the module. The “Level” knob is indicated by the arrow in the picture below. The other controls on the module are inputs and outputs – the “EXP” jack, “LIN” jack, “IN” jack, and “OUT” jack. The VCA-2 module has a second section underneath it, which is identical to the top section.


Right click on an empty space on the rack and select “Fundamental > VCA-2” and place it beside the VCO-1 module. Again, INPUTS and OUTPUTS on modules are shown as circles around black holes. They are meant to look like jacks for 1/4” instrument cables that are commonly used for electric guitars and other musical instruments that have electrical signal outputs. OUTPUTS on modules are indicated by  surrounded by a black rectangle while INPUTS are simply shown as circles around the black circles. On the VCO-1 module, click on the “SIN” output and hold the mouse button down and drag the other end of the cable to the IN input on the top VCA-2 module. Click and hold the mouse button, dragging from the same section of the VCA-2 module’s OUT jack to the 1 INPUT on the Audio module. Click on and hold the mouse button from the 2 INPUT on the Audio module to the 1 OUTPUT of the same module.

Clicking on a control knob and dragging it up will turn the control up and dragging it down will turn the control down. Click and turn the Level control up and you should hear the volume of the signal get louder. Turn the Level control down and the volume of the signal will decrease.

Turn the Freq control up on the VCO-1 module up and you will hear the frequency output increase in pitch. Turn the Freq control down and the pitch will decrease. At this point I like to use the VCA-2 Level control to lower the output signal before I start changing things. However, if you scroll down in the program window, you will see that it goes on and on for just about as long as you scroll down. The same is true for scrolling the window to the right. This means you can have a lot of modules in your patch and at some point it will become easier to stop sounds by selecting the “Pause engine” and Resume engine” to stop and restart the output sounds.

Adding the sequencer:
Sounds at this point are still pretty tame but they are getting better. For more musical results, I like to add the sequencer at this point. Just remember that there are many ways to do things. If you have an idea about something, go ahead and try it and see what happens. If you do, it is still a good idea to save your patch and start using different names to indicate the stage you are at.


Right-click on VCV Rack, and select “Fundamental > SEQ-3,” placing it beside VCA-2. There is a section of outputs on the SEQ-3 module labeled “GATE,” “ROW 1,” “ROW 2,” “ROW 3.” From now on, when the phrase click on “input / output” and drag to “input / output,” it should be assumed that you are holding the mouse button when you click to drag the cable to its destination.











Using the sequencer to make a sound pattern, or just commonly referred to as a sequence:
Click on “Row 1” and drag the cable to the VCO-1 module’s  “V/OCT” input.
Click on one of the VCO-1 outputs, “SIN,” “TRI,”, “SAW,” or “SQR” and drag the cable to VCA-2 “IN” input.
Click on the VCA-2 “OUT” and drag the cable to the Audio module’s “INPUTS 1.”
Now you can make sure the VCA-2 module’s “Level” is turned up so you can hear sounds. On the SEQ-3 module there are three rows on controls. Vary the controls in that row to get different pitches. There is another general pitch control which adjusts the overall pitch of the sequence. That control is on the VCO-1 module – the “FREQ” control. Varying that control moves the overall pitch up and down.
>7) Adding the Scope:
At this point, before getting into more control, it can be very useful to use the SCOPE module. Scope is short for oscilloscope. Do not worry, the SCOPE module is a lot easier to use than a regular scope. It is simply a matter of taking an output and connecting it the “XIN” or “YIN” on the SCOPE. XIN and YIN in this case are two channels on the scope. This means you can look at two different signals at the same time which can be useful in understanding what one control does to the signal after it passes through the module. It can also be used to monitor things like “GATE” signals or basically, any other output there is on VCV Rack.

Here is the last patch I made for this tutorial. It builds on the rest of the tutorial and I just placed some patch cables to experiment. Note the arrows are pointing to two outputs. Those are also patched to the SCOPE module. The blue signal on the SCOPE is the XIN and the pink signal is YIN. The most common control to change on the module is “TIME.”

If your signals are too close together where it all looks like one thick line with variations on the top and bottom, you need to adjust the “TIME” by increasing it so you can see higher period.

Out of all of this, this is where a little math can come in handy. Frequency and the period of a waveform are related.

T = 1 / f

where T is the period in seconds and f is the frequency in Hertz.

So, what are the period and the frequency? Have a look at the following example:

This is a rather poor representative of a sine wave. However, it does demonstrate some good points.

A complete cycle of a waveform has two zero crossing points after its beginning zero crossing point. There are two peaks at amplitude +A and -A and each of those happens every cycle. This is fundamental knowledge in looking at a waveform. It allows you to identify a waveform and recognize where each cycle starts and stops and to determine what values it has for its properties. Doing so allows you figure out when you are looking at a waveform that differs from another waveform.

In addition to the peaks and crossing points, it is important to know what the scales are that are being used on the X-axis and Y-axis. With a waveform and oscilloscopes, the time value is on the X-axis and is expressed in some value of seconds. Time values that are typical in audio work run anywhere from 10 seconds to 5 hundred thousandths of a second (0.000 05s) which represent things from the period of a very slow LFO to what is considered to be the upper range of human hearing. What does that mean in frequencies?

That is where the equation the expresses the relationship between time, T and frequency, f comes into play.

T = 1/f,
where T = 10s
f = 1/T = 1/10s = 0.1 Hz

To provide the value T for the upper limit of human hearing, I actually used the more commonly used frequency to provide T instead of using T to provide the frequency. This shows that the equation is often used to convert one to the other.

Where f = 20,000Hz, or more commonly 20kHz,
T = 0.000 05s
That value of T would be more commonly expressed as a value of microseconds.
T = 50 µs.

To make it simpler to type, the micro symbol, is often expressed using a regular u. However, if it is written by hand, it is good practice to use the actual symbol, µ. So, you might see this

50µs = 50us.

This stuff becomes important when you look at a scope. The amplitude of the scale will often be expressed in some value of Volts, ranging from uV (microVolts) to tens of Volts (for audio work, or quite higher if working with tube technology). The time scale will often be expressed in values from the us (microseconds) up to full seconds. Milliseconds are often seen on the time scale on a hardware oscilloscope but using the time control knob on the SCOPE module will not show those values but they pass through those ranges nonetheless.

The point of all this discussion is to give you some knowledge to use to understand what it is you are looking at on the SCOPE. The “TIME” control can vary from time values, the period of a wavelength from the very small, in the 50us range, all the way to the left, to the lower range of hearing, approximately 20Hz.

f = 1/T
f = 20Hz
T = 1/f = 1/20Hz = 0.050s = 50ms (50 milliseconds)




I am estimating the limit of the SCOPE modules “TIME” control using the lower limit of human hearing. However, you can do your own qualitative test using your own hearing and do a rough mental extrapolation.

Put the following modules on the patch: VCO-1, VCA-2 and SCOPE. Run a patch cable from VCO-1 “SIN” out to VCA-2 “IN” and a patch cable from VCA-2 “OUT” to SCOPE “XIN.” Disconnect any cables from the previous patch to AUDIO module “INPUTS” and run a patch cable from VCA-2 “OUT” to AUDIO “INPUTS 1.” Now, turn up the VCA-2 “LEVEL” all the way. Then slowly turn up VCO-1 “FREQ” until you hear a low bass sound. That will be around 20Hz give or take 10-20Hz. At that point, each square on the SCOPE module on the horizontal axis will be about 50ms. You can use the equation to check it as I did above. When you begin to hear the low bass sound, the waveforms will be occurring more frequently on the SCOPE screen. Now decrease the “FREQ” control on VCO-1 again. I estimate at the low end, that T for that waveform to be in the 4s to 10s range.

Here is what the test patch looks like:


In this screenshot, the Audio module is on the right side of the screen. The good thing about VCV Rack is you can place modules off to the right or down below where you cannot see them onscreen. As long as the patch cables are used, it will all work. To test a patch, To demonstrate one use of the SCOPE module, I placed a few modules off to the right side and disconnected to other patch cables connected to the AUDIO module.

While SCOPE does not give values for the TIME scale on the screen, it does give voltage values.

If you have a real oscilloscope you can the time scale values for yourself. Maybe someday I will.

Here is a screenshot of a patch I made. See if you can construct it and have a listen!