|
| 1 | +# Sigma -- Gaussian CV Generator |
| 2 | + |
| 3 | +This script is inspired by [Magnetic Freak's](https://magnetic-freak.com/) Gaussian module. |
| 4 | +Please see the [user manual](https://magnetic-freak.com/wp-content/uploads/2022/08/Gaussian_Eurorack_UserGuide.pdf) |
| 5 | +for details on the original module and a deeper dive into the mathematics used in this script. |
| 6 | + |
| 7 | +## Gaussian Distributions |
| 8 | + |
| 9 | +The Gaussian or Normal distribution is a bell-shaped curve often used in statistics. Unlike rolling a d20 in |
| 10 | +Dungeons and Dragons, where there is an equal chance of the roll being 1, 2, 3, ..., 19, or 20, a normal distribution |
| 11 | +is more likely to produce numbers in the middle of its range and less likely to produce numbers at the extremes. The |
| 12 | +way in which this probability changes is determined by the standard deviation of the curve, written using the |
| 13 | +Greek letter Sigma in statistics. |
| 14 | + |
| 15 | +## Inputs & Outputs |
| 16 | + |
| 17 | +Inputs: |
| 18 | +- `din`: an external clock signal to trigger sampling. The pulse width of this signal controls the output |
| 19 | + pulse width |
| 20 | +- `ain`: assignable CV control (can be disabled, or assigned to control `mean`, `standard deviation`, `jitter` or |
| 21 | + `bin mode`) |
| 22 | +- `b1`: shift button; hold to change `k1` and `k2` modes |
| 23 | +- `b2`: cycles through `ain` routing |
| 24 | +- `k1`: mean control / shift: jitter control |
| 25 | +- `k2`: spread control / shift: binning/quantizer mode select |
| 26 | + |
| 27 | +`k1` or `k2` will act as an attenuator for the assigned control (mean/spread/jitter/binning). |
| 28 | + |
| 29 | +Outputs are divided into 3 pairs: `cv1 & cv 4`, `cv2 & cv 5`, and `cv3 & cv 6`. `cv1-3` output gate signals |
| 30 | +with a duration equivalent to the duty cycle of the incoming clock on `din`. `cv4-6` output random control |
| 31 | +voltages according to the spread & mean controls and the binning mode. |
| 32 | + |
| 33 | +## Distrubution Control |
| 34 | + |
| 35 | +The following description assumes the binning mode is set to `continuous`. |
| 36 | + |
| 37 | +Changing `k1` will move the average output voltage of the outputs. Keeping the knob near-vertical will keep the |
| 38 | +averate output close to 5V. |
| 39 | + |
| 40 | +Increasing `k2` will increase the standard deviation of the outputs. At the lowest setting the outputs will be |
| 41 | +effectively locked to the mean set by `k1`. As `k2` increases the spread of output voltages increases. |
| 42 | + |
| 43 | +## Jitter Control |
| 44 | + |
| 45 | +By default all six output channels update simultaneously. By applying positive voltage to `ain` the outputs can be |
| 46 | +desynchronized, updating at random intervals. `cv1 & 4` will always trigger in-time with the clock on `din`, |
| 47 | +but the other pairs will trigger at normally-distributed intervals after `cv1`. |
| 48 | + |
| 49 | +## Binning and Quantize modes |
| 50 | + |
| 51 | +The CV outputs on can be configured to either oscillate between fixed voltage levels, output |
| 52 | +quantized 1V/Octave pitch levels, or a continuous smooth voltage. |
| 53 | + |
| 54 | +In Bin mode the output voltage will oscillate between values chosen from the levels below: |
| 55 | + |
| 56 | +| # Bins | CV Output Levels | Delta (V) | |
| 57 | +|--------|-----------------------------------------------------|-----------| |
| 58 | +| 2 | 0V, 10V | 10V | |
| 59 | +| 3 | 0V, 5V, 10V | 5V | |
| 60 | +| 6 | 0V, 2V, 4V, 6V, 8V, 10V | 2V | |
| 61 | +| 7 | 0V, 1.7V, 3.4V, 5V, 6.6V, 8.3V, 10V | 1.7V | |
| 62 | +| 9 | 0V, 1.25V, 2.5V, 3.75V, 5V, 6.25V, 7.5V, 8.75V, 10V | 1.25V | |
| 63 | + |
| 64 | +In Quantize mode, the output voltage will be quantized to 1V/Octave scales with the following resolution: |
| 65 | + |
| 66 | +| Quantize Mode | Delta (V) | |
| 67 | +|---------------|-----------| |
| 68 | +| Tone | 0.16667 | |
| 69 | +| Semitone | 0.08333 | |
| 70 | +| Quartertone | 0.41667 | |
| 71 | +| Continuous | inf`*` | |
| 72 | + |
| 73 | +Output will be in the range 0-10V |
| 74 | + |
| 75 | +`*` Not actually infinte, but as high-resolution as the DAC chips will allow |
0 commit comments