FUNs
The FUN Atlas
All 52 FUN equations, from a*b to the hidden LFOs: what each one does with its two inputs, animated with examples from the factory programs.
The FUN Atlas takes the four function generators of a VAST layer, and the program's global ones, equation by equation: what each does with its two inputs a and b, and how the factory programs use it.
Six levels, by family: the essentials first, then mixing and comparing, switches and memories, curves, the hidden LFOs, and the odds and ends.
FUN Essentials
The seven FUNs the K2700's factory programs use most, from the plain product to the sample and hold.
Multiplies the inputs, so one source scales the other.
Used 3110 times in the factory programsLESSON 2diode(a−b)diodesPasses how far a is above b and nothing below: a one-sided window.
Used 1894 times in the factory programsLESSON 3lowpass(f=a,b)lag filtersA lag: the output follows b slowly, and a sets how fast.
Used 1672 times in the factory programsLESSON 4a*(1−b)products and scalinga reduced as b rises: all of a at b = 0, none at b = 1.
Used 14 times in the factory programsLESSON 5Sample B on Asample and holdSample and hold: each time a turns TRUE (rises above +0.5), b's value at that moment is caught and held until the next time.
Used 697 times in the factory programsLESSON 6a+bsums and mixesAdds the two inputs: the plainest mixer.
Used 644 times in the factory programsLESSON 7a/4+b/2sums and mixesA quarter of a plus half of b: a half-strength mix in which b counts twice as much as a.
Used 434 times in the factory programsMixing and comparing
Seven ways to put two sources together: take one from the other, average them, weigh them, measure how far apart they are, keep the lower or the higher, and turn a product round.
Subtracts b from a, so the second input works backwards.
Used 72 times in the factory programsLESSON 2(a+b)/2sums and mixesThe average of the inputs: a mixer that keeps their range without clamping.
Used 61 times in the factory programsLESSON 3a/2+bsums and mixesHalf of a plus b: a counts half as much as b.
Used 36 times in the factory programsLESSON 4|a−b|sums and mixesThe size of the difference: how far apart a and b are, always 0 or more.
Used 48 times in the factory programsLESSON 5min(a,b)sums and mixesPasses whichever input is lower.
Used 36 times in the factory programsLESSON 6max(a,b)sums and mixesPasses whichever input is higher.
Used 16 times in the factory programsLESSON 7−a*bproducts and scalingMultiplies the inputs and turns the sign, so the product works the other way.
Used 46 times in the factory programsSwitches and memories
Seven FUNs that decide and remember: two inputs read as switches, a comparator, three ways to catch or follow a value at the right moment, and a staircase.
Logical OR: 1 while either input is TRUE, above +0.5.
Used 200 times in the factory programsLESSON 2a AND blogic and thresholdsLogical AND: 1 only while both inputs are TRUE, which means above +0.5.
Used 10 times in the factory programsLESSON 3b > alogic and thresholdsA comparator: 1 while b exceeds a, otherwise 0.
Used 7 times in the factory programsLESSON 4Sample B on ~Asample and holdSample and hold on the other edge: b is caught each time a turns FALSE.
Used 11 times in the factory programsLESSON 5Track B While Asample and holdTrack and hold: the output follows b while a is TRUE and freezes when a turns FALSE, until a is TRUE again.
Used 44 times in the factory programsLESSON 6Trk B while ~Asample and holdThe opposite of Track B While A: the output follows b while a is FALSE and holds while a is TRUE.
Used 5 times in the factory programsLESSON 7Quantize B to Ashapes and warpsTurns b into a staircase: it jumps between equal steps instead of moving smoothly, and a sets how many.
Used 31 times in the factory programsCurves
Ten FUNs that bend a control into another shape: an exponential and a square, a sine, a cosine and a triangle, four warps, and a filter that keeps only the changes.
An exponential curve: b moves the output over two decades and a scales it.
Used 175 times in the factory programsLESSON 2(a+b)^2products and scalingSquares the sum: a unipolar source gets a curve that stays low through its first half, half as high at its middle; a bipolar one becomes a V, zero at its centre and rising toward either extreme.
Used 10 times in the factory programsLESSON 3sin(a+b)shapes and warpsMaps a + b onto a sine: meant for a sawtooth input, which it turns into a sine wave.
Used 1 time in the factory programsLESSON 4cos(a+b)shapes and warpsMaps a + b onto a cosine, the sine a quarter cycle ahead, for a sawtooth input.
Used 7 times in the factory programsLESSON 5tri(a,b)shapes and warpsMaps a + b onto a triangle: like sin(a+b) with straight sides, meant for a sawtooth input.
Used 24 times in the factory programsLESSON 6warp1(a,b)shapes and warpsVari-slope: a reshapes b, steepening it up to plus or minus a and folding it back beyond; a sawtooth b becomes a triangle at a = 0.5.
Used 1 time in the factory programsLESSON 7warp2(a,b)shapes and warpsSlant-square: a bends b's straight line into two slopes, turning a sawtooth into variants of a square.
Used 1 time in the factory programsLESSON 8warp3(a,b)shapes and warpsVariable Inverter: the binary values of a and b are combined bit by bit, which gives erratic, digital-looking results.
Used 1 time in the factory programsLESSON 9warp8(a,b)shapes and warpsMultiplies a, b and 8, then wraps any result beyond plus or minus 1 round to the other side.
Used 2 times in the factory programsLESSON 10hipass(f=a,b)lag filtersPasses changes and forgets steady values: a jump in b goes straight through, then the output sinks back to 0 at a speed set by a.
Used 281 times in the factory programsHidden LFOs
Fourteen FUNs that make oscillators of their own, which the factory programs hardly use: seven ramps whose rate any source can set, six recursions that feed their output back, and warp4, which turns jumps into folds.
A sawtooth LFO at 25 times a + b, in Hz.
Not used in the factory programsLESSON 2ramp(f=a−b)rampsA sawtooth LFO at 25 times a - b, in Hz.
Not used in the factory programsLESSON 3ramp(f=(a+b)/2)rampsA sawtooth LFO at 25 times the average of a and b, in Hz.
Used 1 time in the factory programsLESSON 4ramp(f=a*b)rampsA sawtooth LFO at 25 times a × b, in Hz.
Used 2 times in the factory programsLESSON 5ramp(f=−a*b)rampsA falling sawtooth LFO at 25 times a × b, in Hz.
Used 4 times in the factory programsLESSON 6ramp(f=a*10^b)rampsA sawtooth LFO whose rate b sweeps over two decades on a log scale and a scales.
Not used in the factory programsLESSON 7ramp(f=(a+b)/4)rampsA sawtooth LFO at 25 times a quarter of a + b, in Hz.
Not used in the factory programsLESSON 8a(b−y)recursionsA recursive equation: each evaluation feeds the last output back into it.
Used 4 times in the factory programsLESSON 9a(y+b)recursionsA recursive generator: the last output plus b, times a.
Not used in the factory programsLESSON 10ay+brecursionsA recursive generator: the last output times a, plus b.
Not used in the factory programsLESSON 11(a+1)y+brecursionsA recursive generator: the last output times a + 1, plus b.
Not used in the factory programsLESSON 12y+a(y+b)recursionsA recursive generator: the last output plus a share a of the last output plus b.
Not used in the factory programsLESSON 13a|y|+brecursionsA recursive generator on the size of the last output: |y| times a, plus b.
Not used in the factory programsLESSON 14warp4(a,b)recursionsPeriod Inverter: b is compared with its previous value and its sign flips whenever the jump exceeds a.
Not used in the factory programsOdds and ends
The seven FUNs left, and with them all 52: a sum folded positive, a mix in which b weighs double, a division that grows without limit, and four diodes with their threshold moved.
The size of the sum: a negative result is turned positive, so the output is unipolar.
Not used in the factory programsLESSON 2(a+2b)/3sums and mixesA third of a plus two thirds of b: b weighs double.
Used 1 time in the factory programsLESSON 3b/(1−a)products and scalingDivides b by 1 - a: as a approaches 1 the output grows sharply.
Not used in the factory programsLESSON 4diode(a−b+.25)diodesdiode(a-b) shifted up by 0.25: a passes once it is less than 0.25 below b.
Used 3 times in the factory programsLESSON 5diode(a−b+.5)diodesdiode(a-b) shifted up by 0.5: a passes once it is less than 0.5 below b.
Used 6 times in the factory programsLESSON 6diode(a−b−.25)diodesdiode(a-b) shifted down by 0.25: a passes when it exceeds b by more than 0.25.
Used 2 times in the factory programsLESSON 7diode(a−b−.5)diodesdiode(a-b) shifted down by 0.5: a passes only when it exceeds b by more than 0.5.
Used 1 time in the factory programs