# Sonus Modular

This is a collection of modules for the open source modular synthesizer VCV Rack (http://www.vcvrack.com).
It currently features the following modules:

#### Addiction
Oscillator and generator performing additive synthesis. Each row is made up of four sine oscillators, the first one tuned at a certain harmonic and the other three at minor third, major third and perfect fifth intervals. The intensity of each oscillator can be set with the knob and through CV.

#### Bitter
A bit reducer and manipulator module. Each single bit of the coming signal (reduced to 8 bit resolution anyway) can be left untouched (switch up), inverted (switch down) or turned off (switch at center).

#### Bymidside
MS (mid-side) encoder from a stereo signal. Feeding it with the same mono signal on both channel will result in a side channel with zero level.

#### Campione
Live sampler, it records the input signal and stores it as a sample. The sample can then be played back with the possibility to change the speed (and thus the pitch) and the start and end points. When one-shot is turned on, as soon as the play input receives a gate signal, it plays the entire sample; when loop is on, the samples is played back continuously. When both the options are turned on, as soon as a trigger arrives, the samples keeps on playing on its entirety, looped.

#### Chainsaw
Fat oscillator made up of three basic oscillators, each with adjustable tune and shape (an ascending sawtooth with its lobes pushable up or down) and an input to sync the oscillators 2 and 3 to the first one.

#### Ctrl
Controller featuring 8 knobs sending signals going from -5 to +5 V to their CV outs. Each knob has a text box to customize its label.

#### Deathcrush
Distorsion and bitcrusher. Two serial distorsions are applied (the first softer, the second harsher) and then the signal goes through a bitcrusher. When turned all the way right, the bitcrusher applies anyway a reduction to 12 bits.

#### Fraction
A dual oscillator whose generation function is based on f(x) = n^x / (n^x + 1). I won't add more, play with it and discover its rough temper.

#### Harmony
This is a module that takes as input the pitch in 1V/Octave scale and has 12 outputs, each corresponding to an interval of the chromatic scale which the original CV is transposed to.

#### Ladrone
Drone generator and (sort of) additive synthesis oscillator. The output sound is generated by 16 oscillators, tuned in groups of 4 at the 1st, 2nd, 3rd and 4th harmonic (i.e. original pitch, 2x, 3x and 4x pitch). Each group has four oscillators, the first one generating a pure sine, the other ones generating waves using a sort of phase modulation algorithm. The intensity of each wave can be controlled with the knobs and through CV.

#### Luppolo
Minimal loop station, CV controllable. It begins to record once it receives a trigger signal (of any amount) at the first CV in, it plays back at the following trigger. Another trigger clears the loop and begins the recording again. To overdub the current loop, a trigger to the second CV in is needed, and stops to record at the following trigger. To clear the loop and not to record immediately after, click the Clear button or send a trigger signal at its corresponding CV in.

#### Luppolo3
Extended loop station, with 3 separate tracks, each with unlimited overdubs. The first track is the master track, with sets the length of the loop and has to be recorded for first. Once the master track is recorded, other sounds can be sent to the slave tracks (which are synchronized with the master one), to the master track as overdub, or both (the same source can be recorded to multiple tracks). The erase function is used to clear all the tracks at once and to reset the loop size (while clearing the master loop erases the master loop's content but keep its size). For the rest, its functionality is identical to Luppolo.
Separate outs for each track are provided, and a switch to choose if playing (and record) forwards or backwards. Signal recorded when looper is in backwards mode will play reversed when the looper is set on forwards mode. If you want more tracks, controls and options, check Loopus Modules: http://loopusmodules.sonusdept.com/.

#### Micromacro
A typical step sequencer with these peculiar features: the three seq rows have independent gate controls; the steps are tuned; available tunings: typical chromatic scale, quarter tone scales and twelfth tone scales - ideal to experiment with microtunings.

#### Mr. Cheb
Waveshaper using Chebyshev polynomials, useful to enrich the harmonic content of a sound (each acts as a frequency multiplier), or just to experiment with waveshaping techniques.

#### Multimulti
Double 2-in 8-out multiples. Utility module.

#### Neurosc
Wavetable oscillator based on a neural network trained in TensorFlow with a huge dataset of waveforms. The 8 knobs control the respective parameters of the latent space, that is decoded to a full waveform. Each latent variable may have a value from 0.0 to +10.0 (numbers outside this range are ignored), given by to the sum of the corresponding knob value and the eventual CV input.

#### Oktagon
It is a "double" quadrature LFO or oscillator. A quad LFO is a sine LFO with four outputs: each sine wave has the same frequency but it is 90° out of phase compared to the former. This module features 8 sine waves, with phases out of 45° each. In its LFO configuration, it is useful for autopan, shepard tones and other specific modulations.
The switch allows to turn it in a sine wave oscillator, with 1V/octave CV input.

#### Osculum
Oscillator with four different waveforms, each with its recognizable character. From the first to the fourth wave, the timbre becomes more and more plenty of harmonics. Each wave is generated by a different algorithm.

#### Pan in the Haas
Stereoizer that uses the Haas effect: a mono source is split into a stereo couple, where there is a slight delay between the two channels, thus giving a sense of space due to the Haas psychoacoustic effect. Delay range goes from 0 to 10 ms.

#### Paramath
A set of utilities related to signal comparing and math. It takes two inputs, A and B, and outputs respectively: a trigger if A is greater or equal than B, a trigger if A and B are equal, the mininum of the two values, the maximum, the product of the two signals and the hypotenuse of the triangle having A and B as catheti. The last two operations are made after A and B have been transposed from -5 to 5 range to -1 to 1 (and resized to -5 / 5 scale).

#### Piconoise
Simple but handy white noise generator, with 8 identical outputs.

#### Pusher
Basic button controller that send a CV trigger signal (of the amount set with the corresponding knob) everytime the button is clicked. The module features 4 independent button-knob-CV out systems.

#### Ringo
Ring modulator, with possibility to choose if the incoming signal (the carrier) has to be modulated by another incoming signal or by the built-in oscillator (the latter being the default setting). The oscillator has 1V/octave CV control and can go from a sinusoidal to saw shape, with a dedicated knob to gradually turn one shape into the other one. When the carrier is fed with constant signal, it can be used as a classic VCO, too.

#### Scramblase
Waveshaper with four different wavashaping functions. It features three inputs, each with its own outputs. To apply more than one shape effect, just feed the input of a row with the output of another row. The threshold level (used by the various algorithms to run the shaping functions) can be set with the knob and modulated with the CV input.

#### Tropicana
A VCO performing tropical additive synthesis (additive synthesis using tropical algebra), as described by C. Bocci and G. Sancristoforo in their 2018 paper. Further info and details of the implementation can be found at http://www.giorgiosancristoforo.net/research/tropical-additive-synthesis/.

#### Twoff
A simple double CV offset. It can generate static CV from -5 to +5 V if nothing is plugged at the the input. Otherwise, it outputs the in summed to the CV set by the knob.

#### Yabp
Yet another blank panel.

## How to build
If you just want to enjoy these modules, you can grab them directly from Rack plugin manager (https://vcvrack.com/plugins.html).
If you want to build them yourself, please refer to the detailed guide you can find here: https://github.com/VCVRack/Rack/blob/master/README.md.

## Links and binary releases
These modules are directly available from Rack plugin manager (https://vcvrack.com/plugins.html).
If you like these free modules, support their development by checking out Sonus Dept. commercial modules: Loopus Modules, a complete loop station with many extra features (http://loopusmodules.sonusdept.com) and Semiramis, a full-featured semi-modular synthesizer with presets support (http://semiramis.sonusdept.com).
Otherwise, you can make a donation: http://paypal.me/sonusdept.
