Modular Principles¶
Synth Modules¶
The design of torchsynth is inspired by hardware modular synthesizers
which contain individual units. Each module has a specific function
and parameters, and they can be connected together in various
configurations to construct a synthesizer. There are three types
of modules in torchsynth: audio modules, control modules, and
parameter modules. Audio modules operate at audio sampling rate
(default 44.1kHz) and output audio Signal.
Examples include voltage-controlled oscillators
(VCO)
and voltage-controlled amplifiers
(VCAs). Control modules output control
signals that are used modulate the parameters of another module.
For speed, these modules operate at a reduced control rate (default
441Hz). Examples of control modules include
ADSR envelope generators and low frequency
oscillators (LFOs). Finally, parameter
modules simply output parameters. Examples of these include a
MonophonicKeyboard module that has no
input, and outputs the note midi f0 value and duration.
Synth Architectures¶
The default configuration in torchsynth is the
Voice, which is the architecture used
in synth1B1. The Voice architecture
comprises the following modules: a
MonophonicKeyboard, two
LFO, six ADSR
envelopes (each LFO module includes two
dedicated ADSR: one for rate modulation
and another for amplitude modulation), one
SineVCO, one
SquareSawVCO, one
Noise generator,
VCA, a
ModulationMixer and an
AudioMixer. Modulation signals generated
from control modules (ADSR and
LFO) are upsampled to the audio sample
rate before being passed to audio rate modules.
The figure below shows the configuration and
routing of the modules composing Voice.