The Triangle-VCO Panel

Triangle-VCO Module

for VCV Rack, Ⓒ Sm@rTAZZ Studio, developed by Marinko Laban

(Last updated February 22nd, 2024)

Introduction

The Triangle-VCO is another attempt to write a VCV Rack module, and I'd like to believe they are becoming a bit more complex. This module generates a triangle wave in the audible spectrum and is therefore a VCO. It allows for having a fixed pitch you can set or pitch is generated as per the V/Oct input. You can manually set the volume and phase as well, or have these modulated via the various inputs. Attenuation per modulation input is available as well.

In the module menu, you can select the band limitation. Select Unlimited for a mathematical exact triangle, with a lot of aliasing in the higher notes. Select Limited for a limited number of harmonics, so aliasing artifacts will be less prominent. You can select the number of harmonics in the Harmonics menu.

The VCO is polyphonic. All modulation however, is applied to each polyphonic channel in the same way, so there is no option to have a different modulation or other setting per individual channel.

Manual

The Triangle-VCO generates a triangle wave, it is as simple as that. The paragraphs below describe each of the knobs, input/output jacks and menu items.

Panel Functions

V-In: can be used to control the frequency (pitch) of the VCO. It takes a typical V/Oct input from e.g. a MIDI controller module.

Out: This is the output signal of the VCO. It is typically sent to a VCA or mixer. It normally generates a signal between -5V and +5V, but that depends on the setting of the Volume knob and any volume modulation that may happen.

FM-In: can be used to modulate the frequency (pitch) of the VCO. Usually, this is done with an LFO signal, but any modulation source can be used. Typically, modulation signals can be unipolar (between 0V and 10V) or bipolar (between -5V and 5V). The module handles both gracefully.

FM Attn: can be used to attenuate the frequency (pitch) modulation of the VCO. This means that the level of the modulation signal can be trimmed down to allow more subtle modulation. The attenuation can be set between 0.0 (no modulation) and 1.0 (maximum modulation). The module limits the maximum frequency modulation by 1 octave. For a unipolar modulation signal, it means that with an input of 10V to the FM-In signal, the frequency is doubled. For a bipolar signal, the frequency will be -/+ half an octave.

PM-In: can be used to modulate the phase of the sawtooth wave generated by the VCO. This is sometimes called a phase shift.Usually, this is done with an LFO signal, but any modulation source can be used. Typically, modulation signals can be unipolar (between 0V and 10V) or bipolar (between -5V and 5V). The module handles both gracefully, meaning that is allows a phase shift both forward as well backward.

Note that a phase shift is generally not audible with a single voice, but it can be made visible with an oscilloscope. However, when you combine multiple voices via a mixer or merge module, phase modulation becomes audible and can add movement to your sound, especially when you modulate the phases for each voice differently.

PM Attn: can be used to attenuate the phase modulation of the VCO. This means that the level of the modulation signal can be trimmed down to allow more subtle modulation. The attenuation can be set between 0.0 (no modulation) and 1.0 (maximum modulation). The module limits the maximum phase shift to 1 full sine cycle, meaning between 0 and 2π. For a unipolar modulation signal, it means that with an input of 10V to the PM-In signal, the phase shift is moved to the end of the cycle, which is also the beginning of a new cycle. For a bipolar signal, the phase shift will be -/+ half a cycle.

VM-In: can be used to modulate the volume (level) of the VCO. Usually, this is done with an LFO signal, but any modulation source can be used. Typically, modulation signals can be unipolar (between 0V and 10V) or bipolar (between -5V and 5V). The module handles both gracefully.

VM Attn: can be used to attenuate the volume (level) modulation of the VCO. This means that the level of the modulation signal can be trimmed down to allow more subtle modulation. The attenuation can be set between 0.0 (no modulation) and 1.0 (maximum modulation). The module limits the maximum volume to be double the base volume, which is set by the Volume knob. For a unipolar modulation signal, it means that with an input of 10V to the VM-In signal, the base volume is doubled. For a bipolar signal, the volume will be -/+ half.

Caution: When setting the volume attenuation to 1.0, the Volume knob to maximum and applying a 10V signal to VM-In, you can generate output voltages way above 5V. Hence make sure you level the output appropriately, and use a limiter in case of doubt. DO NOT RISK EAR DAMAGE!

Pitch: The Pitch knob can be used to set the base frequency of the VCO. By default, it is set to 261.63 Hz (C4). Note that if a cable connected to the V-In jack, the voltage supplied will be used to set the pitch by 1 V/Oct, where 0 V will result in the base frequency as per this knob setting. Therefore, you can use this knob also as an absolute tuning knob of the VCO, but not as a relative detune, as you can only tune the base frequency based on 0 V input.

Phase: can be used to set a fixed phase shift for the output wave. This fixed shift is added to any phase modulation that is applied. This is useful when mixing quite different wave forms. For instance, you can merge a sine wave with a sawtooth, phase shift the sine by half a cycle by setting this knob to 0.5, and then apply a subtle phase modulation to either the sine or the sawtooth.

Volume: can be used to set the volume (level) of the VCO. This is the base volume to which any volume modulation is applied. See also VM-Attn for a warning about output levels.

Menu Items

Band: You can select between Unlimited and Limited, which switches between a mathematical triangle (Unlimited) and an approximation by combining a number of harmonically relevant sine waves (Limited). The number of sine waves that are used is set with the Harmonics menu item. The unlimited version is rich in harmonics, but also causes a lot of aliasing effects. This may add richness to your sound, but can also cause unwanted effects. A Band-limited version, especially with not too many harmonics, has less or no aliasing, but is also less rich in harmonics and sounds a bit duller.

Harmonics: can be used to set the number of harmonics for the Limited Band version. Currently, you can choose between 1 (a pure sine wave) and 20 harmonics.

You will find a tutorial below in due time (work in progress)

Source Code & Plugin

Feel free to download the source code of this module. It is part of the STS-Free bundle and the full bundle is available here on GitHub. The STS-Free bundle (slug value "SmarTAZZStudio-Free") is also available as a downloadable plugin from the VCV Rack Library, so you can download and install the module directly from VCV here.

Feedback

Feel free to feedback any comments or questions you may have. Click here to email me. You can also leave a comment in the GitHub repository with the source code.

Finally, if you want to support me in my work, feel free to buy me a coffee via the button below. It is highly appreciated and helps me to continue my work.