|
6 years ago | |
---|---|---|
.. | ||
benchmarks | 6 years ago | |
doc/www | 6 years ago | |
res | 6 years ago | |
res-src | 6 years ago | |
scripts | 6 years ago | |
src | 6 years ago | |
test | 6 years ago | |
LICENSE-dist.txt | 6 years ago | |
LICENSE.txt | 6 years ago | |
Makefile | 6 years ago | |
README.md | 6 years ago | |
make.objects | 6 years ago | |
makefile.msvc | 6 years ago |
Modules for VCV Rack, an open-source Eurorack-style virtual modular synthesizer:
Mac, Linux and Windows builds of the latest version are available through Rack's Plugin Manager. Find release notes on the releases page.
You'll need to be set up to build VCV Rack itself. Switch to the plugins/
directory there, then:
git clone https://github.com/bogaudio/BogaudioModules.git
cd BogaudioModules
make
The master branch of this module currently builds against Rack's master and v0.6.1 branches.
A standard VCO featuring:
The main frequency knob is calibrated in volts, from -4 to +6, corresponding to notes from C0 to C6. The default “0V” position corresponds to C4 (261.63HZ). The knob value is added to the pitch CV input at the V/OCT port. With CV input, the pitch can be driven as high as 95% of the Nyquist frequency (so, over 20KHZ at Rack's default sample rate). The FINE knob allows an additional adjustment of up to +/-1 semitone (1/12 volt). In slow mode, the output frequency is 7 octaves lower than in normal mode with the same knob/CV values.
Includes all the features of VCO, adding:
An additive (“sine bank”) oscillator, where the output is the sum of up to 100 individual sine/cosine waves (partials). Various parameter knobs/CVs allow control over the number, frequencies and amplitudes of the partials:
A sine-wave oscillator and simple synth voice designed to allow patching up the classic FM “algorithms”, via multiple copies of FM-OP (each copy being one operator in the algorithm). Features:
A standard LFO featuring:
LFO tracks pitch CVs at the V/OCT input four octaves lower than a normal oscillator: with a 0V input, the output frequency is note C0 (16.35HZ). The frequency knob is calibrated in linear volts (the small ticks), and its value is added to the input V/OCT. With no input, the frequency range is from approximately 0.1 to 400HZ; with CV the frequency may be driven up to 2000HZ or down to arbitrarily low values. In slow mode, the output frequency tracks the controls 8 octaves lower than in normal mode.
An LFO with outputs at 8 different phases. The phases may be set by knobs and CVs; by default they are 0, 45, 90, etc, degrees from the fundamental. Otherwise, functionality is the same as with LFO, excepting that the wave shape is selectable, and all outputs are of the same (phase-shifted) wave.
DADSRH (Delay Attack Decay Sustain Release Hold) augments a standard ADSR with a delay stage and a self-gating (hold) mode.
Features:
DADSRH+ is a DADSRH, with the addition of CV inputs for each knob, and gate outputs for each stage (a stage's gate output will be high for the duration of the stage).
A trigger-to-gate utility, with gate duration up to 10 seconds, and an optional pre-delay of up to 10 seconds. A trigger pulse is output at END when a delay/gate cycle ends. If the STOP/LOOP switch is set to LOOP, or if the trigger is high when the cycle ends, the cycle repeats.
SHAPER emulates the function of the Envelope Generator section of the classic EMS VC3 and related synths. It combines an envelope with a VCA. Unlike an ADSR, the envelope stages are Attack, On, Decay and Off -- with linear movement in the attack and decay stages, this produces a signature trapezoidal envelope shape.
Features:
SHAPER+ is a SHAPER, with the addition of CV inputs for each knob, and gate outputs for each stage (a stage's gate output will be high for the duration of the stage).
A standard ADSR (attack, decay, sustain, release) envelope generator in 3HP. The attack, decay and release knobs are exponentially scaled with durations up to 10 seconds. The sustain knob is linearly scaled, setting the sustain level from 0 to 10 volts. Lights below each stage knob indicate which stage is active.
By default, the attack, decay and release envelope segments have an analog-ish curve; in linear mode (LIN button), the segments are linear.
An envelope follower, a utility that converts its input to a CV proportional to the level of the input's amplitude. The conversion is by the Root Mean Square method. The DAMP knob and CV (+10 volts) affect how many input samples are used to calculate the output -- higher DAMP values effectively slow down and smooth out the response. The SCALE knob and CV (+10 volts) simply scale the output.
With DAMP at the minimum setting and SCALE at half, the module is an effective wave rectifier (that is, it outputs the absolute value of the input).
A four-channel mixer/panner with performance mutes.
Features:
An eight-channel version of MIX4 with the same features.
A four-channel mixer in 10HP.
Features:
By default, the output is hard clipped at +/-12 volts (this is a standard in Rack). A context menu option allows this limit to be disabled.
A stereo panner with dual inputs channels. Each channel's panner may be controlled with a +/-5 volt CV; when CV is in use, it is attenuverted the corresponding knob. Output saturates (soft clips) to +/-12 volts.
A crossfader (or two-channel mixer, or way to patch a dry/wet knob into any signal chain). The MIX knob sets the relative strength of inputs A and B. MIX may be controlled with a +/-5 volt CV; when CV is in use, it is attenuverted the knob.
The SHAPE knob affects the attenuation curves of the two channels as MIX changes:
Linear mode (LIN button) makes the level attenuation response of MIX linear in amplitude (useful when processing CV); otherwise and by default the response is linear in decibels (and therefore exponential in amplitude).
A two-channel voltage-controlled attenuator. (An attenuator can only reduce a signal.)
Each channel's level may be controlled with a +10 volt CV; when CV is in use, it is attenuated by the corresponding knob.
In linear mode (the LIN button), the knob/CV response is linear in amplitude (useful when processing CV); otherwise and by default the response is linear in decibels (and therefore exponential in amplitude).
A voltage-controlled amplifier, capable of adding 12 decibels gain to the input. (12 decibels gain is the same as multiplying the input by 4.)
The level may be controlled with a +10 volt CV; when CV is in use, it is attenuated by the corresponding slider. The slider's toggle has a light indicating the output signal level. The output saturates (soft clips) to +/-12 volts, where clipping becomes noticeable above +/-10 volts.
A four-channel spectrum analyzer.
Features:
A stereo signal level visualizer/meter. The L channel is sent to both displays if if nothing is patched to R. Inputs to L and R are copied to the L and R outputs.
Utilities that process pitch CVs (1 volt / octave), for controlling the pitch of oscillators.
A 1V/octave pitch processor, for controlling a detuned oscillator pair. A reference pitch in raised and lowered by the number of cents (hundredths of a semitone) specified by the knob and CV, and output at OUT+ and OUT-. The input pitch is output at THRU.
A 1V/octave pitch processor for stacking oscillators. The SEMIS, OCTAVE and FINE knobs determine an interval (up or down) to apply to the input pitch and send to OUT. The input pitch is sent unmodified to THRU, for ease of chaining multiple STACKs to control multiple oscillators, e.g. to create chords.
The CV input expects +/-5 volts; the value modifies the interval set by the knobs in the amount of one semitone per tenth volt. If QZ (quantize) is active, the CV-controlled interval is quantized to the nearest semitone. This specialized CV is output at the THRU port, with a value set by the knobs and CV in, when there is no input pitch.
A tuner that outputs a selectable (Western, chromatic) pitch as CV (1v/octave, for controlling an oscillator) or as a pure sine tone. The base pitch is selected with the PITCH and OCTAVE knobs, while the FINE knob allows the output to be fine-tuned up or down a full semitone. The LED-style display indicates the selected pitch, octave and fine tuning (in cents), and the corresponding frequency (in hertz).
Miscellaneous utilities.
A boolean logic utility. Inputs are considered true if the input voltage is greater than 1. The top section takes two inputs and computes AND, OR and XOR at the outputs. The lower section computes the negation of its input. Output is 5 volts if an output is true, 0 otherwise.
A simple delay designed for use with CV. Use it to delay triggers or gates, create a flip-flop that resets itself after a time, make a sequence run for a while then stop, to double up an envelope, or what have you.
The large TIME knob sets the delay time, as scaled by the small knob (up to 0.1, 1 or 10 seconds); TIME takes a +10 CV, attenuated by the knob. Reducing time truncates the internal delay buffer. The DRY/WET knob sets the mix of the original and delayed signals at the output, with a +/-5 CV input.
A boolean memory utility with two independent channels. A high voltage at TRIGGER will cause the state of a channel to change from A to B. A subsequent trigger will flip it back. Output is 5 volts at whichever of A and B is selected, 0 otherwise. A trigger voltage at RESET sets the channel back to state A.
A manual trigger/gate with 8 outputs. A constant high value is sent from each output for as long as the TRIG button is held.
Manual may be set to output a trigger pulse on patch load (akin to a Max/Msp or Pd loadbang). This is off by default; enable clicking “Trigger on Load” on the module's context (right-click) menu.
A 3 HP multiple (signal duplicator). There are two 1-to-3 channels. There is also a 1-to-6 mode: if nothing is patched to the second channel's input, the input to the first channel is copied to all six outputs.
A noise source, in types blue (f), white, pink (1/f), red (aka rown, 1/f^2) and Gauss (normal with mean 0 and variance 1).
Additionally, NOISE has an absolute value circuit. Patch audio into ABS to get positive CV. For example, patch white noise into ABS to get uniform values in the range 0 to 10.
An offset and scaler. The OFFSET and SCALE knobs have CV inputs. With an input signal, output is (input + offset) * scale
. With no input connected, the output is constant in the value of offset * scale
.
By default, the output is capped at +/-12 volts (this is a standard in Rack). A context menu option allows this limit to be disabled.
A dual sample-and-hold. Sampling may be triggered by CV or button press. If nothing is connected to an IN port, sampling for that channel is from an internal white noise source (range 0-10).
An arithmetic logic utility. The top section outputs the sum, difference, maximum and minimum of its input signals (unpatched inputs send a 0-volt signal into each computation). The lower section negates (reverses the sign of) its input.
By default, the output is capped at +/-12 volts (this is a standard in Rack). A context menu option allows this limit to be disabled.
A signal-routing module with two through channels. If the button is held or the GATE input is high, the HIGH input for each channel is routed to the corresponding OUT. Otherwise, each LOW input is routed to each OUT.
Modules Shaper, Shaper+, DADSRH, DADSHR+ and DGATE can each be set to loop. As of release 0.5.3, these modules will automatically being running (looping) when the patch loads if they were looping when the patch was saved. (Previously, they would require a trigger to resume looping.)
This behavior can be disabled on a per-module basis by right-clicking the module and unchecking “Resume Loop on Load”.
Bug reports and feedback are welcome: please use the issue tracker.
Uses FFTReal under the DWTFYWT Public License.