# Algorithmic Synth

## General information  


This Machine features 2 identical oscillators with 16 different algorithms to choose from. Each oscillator can be tuned, transposed and have its own algorithm (model).

<div drawio-diagram="180"><img src="https://nanopolis.storage.googleapis.com/uploads/images/drawio/2025-03/drawing-3-1741437619.png" alt=""/></div>

  
The oscillators go into a [<span style="text-decoration: underline;">**Filter section**</span>](https://doc.nanopol.is/books/en-antigone-documentation/page/filter-section), then a Drive section and finally an [**<span style="text-decoration: underline;">Amp section</span>**](https://doc.nanopol.is/books/en-antigone-documentation/page/amp-section) before going to the[ <span style="text-decoration: underline;">**Mixer**</span>](https://doc.nanopol.is/books/en-antigone-documentation/page/mixer).

#### Main screen of the algorithmic synth  
  
[![screenshot_001.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/uDxscreenshot-001.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/uDxscreenshot-001.png)

  
When opening the Algorithmic Synth Machine you will land on page 1 of tab 1. Use the first 2 tabs to configure oscillator 1 and 2 respectively. Use Tab 3 to configure the Filter section and Tab 4 to configure the Amp section.

The oscillator tabs (Tab 1 and Tab 2) will have a number of pages containing different controls depending on the selected model. When a Tab header displays small bar icons, click its corresponding button underneath to jump between its pages.  
  
When you adjust a parameter on one the pages, a wave display is briefly shown to reflect the changes on the output wave. Click Button 4 while the wave display is shown to lock it on. Click Button 4 again to unlock the display.

The first page of an oscillator tab is always the same:

<table border="1" id="bkmrk-model-frequency-tran" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.964%;"></col><col style="width: 24.964%;"></col><col style="width: 24.964%;"></col><col style="width: 24.964%;"></col></colgroup><tbody><tr><td>**Model**  
</td><td>**Frequency**  
</td><td>**Transpose**  
</td><td>**Volume**  
</td></tr><tr><td>Select the synthesis type used in the oscillator  
</td><td>Fine-tune the oscillator. This can be used to achieve beating-effects by having th two oscillators slightly out of tune with each other  
</td><td>Tune the oscillator by one semitone increments. This can be used to have the Machine play a paraphonic interval, or use one oscillator as a sub  
</td><td>Adjust the volume at which the oscillator is sent down the signal path (to the Filter section, or directly the the Amp section if all filters are turned off). 100% is unity gain, but it can go up to 200% if you can to overdrive the Filters, Amps or even the final DAC.</td></tr></tbody></table>

### Saw model  


[![screenshot_012.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-012.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-012.png)

A saw wave with Virtual sync capabilities.  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-sync-phasemod-----ab" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Sync**  
</td><td>**PhaseMod**  
</td><td> </td><td> </td></tr><tr><td>Above 0%, the saw wave is synced to a master oscillator. This adjusts the frequency of the slave oscillator you're hearing. Modulate for classic sync sounds</td><td>Above 0%, the saw wave's phase is modulated by another oscillator tuned at 0.75 times the frequency of the Saw. Increasing the parameter augments the modulation depth  
</td><td> </td><td> </td></tr></tbody></table>

### SuperSaw model

[![screenshot_013.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-013.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-013.png)

A swarm of detuned saw waves.  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-density-spread-fade-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Density**  
</td><td>**Spread**  
</td><td>**Fade**  
</td><td> </td></tr><tr><td>Choose the number of saw waves in the swarm, up to 12  
</td><td>Adjust the amount of detuning between the waves  
</td><td>Apply a volume fade on the most detuned saw waves to make the output less chaotic  
</td><td> </td></tr></tbody></table>

### Square model

[![screenshot_014.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-014.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-014.png)

A Square wave with PWM capabilities.  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-simple%3C%3Edual-pw-----" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Simple&lt;&gt;Dual**  
</td><td>**PW**  
</td><td>**-**</td><td>**-**</td></tr><tr><td>Add harmonics by dividing the positive part of the pulse in three pulse segments  
</td><td>Adjust the pulse-width of the output wave. Modulate for classic PWM sounds  
</td><td>**-**</td><td>**-**</td></tr></tbody></table>

### Fold1 model

[![screenshot_015.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/upcscreenshot-015.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/upcscreenshot-015.png)

A sine wave is folded using the Chebyshev method  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-fold-decimator-----i" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Fold**  
</td><td>**Decimator**  
</td><td> </td><td> </td></tr><tr><td>Increase the number of folds in the wave to add harmonics.  
</td><td>Reduces the bit rate to add harmonics  
</td><td> </td><td> </td></tr></tbody></table>

### Fold2 model

[![screenshot_017.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-017.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-017.png)

Two different out-of-phase waves are folded using the sinusoidal fold method  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-fold-sine%3C%3Etriangle-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Fold**  
</td><td>**Sine&lt;&gt;Triangle**  
</td><td>**Transform**  
</td><td>**Decimator**  
</td></tr><tr><td>Increase the number of folds in the wave to add harmonics.</td><td>Crossfade between a sine and a triangle wave, which are out-of-phase with each other  
</td><td>Adjust the phase of the sine and skew the triangle  
</td><td>Reduces the bit rate to add harmonics</td></tr></tbody></table>

### FM1 to FM8 model

4-Ops FM algorithms (TZFM, Linear &amp; Exponential modes)  
  
You will find a diagram of the different FM algorithms at the end of this section.  
  
Each algorithm has its own configuration, but it shares some common features :

- There is always 2 outputs from different operators (A/B), you can mix these 2 outputs
- All operators are sine oscillators, but the operator 1 has a phase distortion to twist the sine, this allows you to add more harmonics / harshness to the sound
- Each algorithm has 4 different modulation mode : TZFM Linear 1, TZFM Linear 2, Linear, Exponential.
- You can adjust the ratio / depth of each operator
- There is no integrated enveloppes on operators, but you can modulate every parameters with internal or external enveloppes (or other modulations)

The oscillator tabs have 4 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-depth-op1-ratio-op1-" style="border-collapse: collapse; width: 100%; height: 59.2666px;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr style="height: 29.6333px;"><td style="height: 29.6333px;">**OP4: Ratio**  
</td><td style="height: 29.6333px;">**OP3: Ratio**  
</td><td style="height: 29.6333px;">**OP2: Ratio**</td><td style="height: 29.6333px;">**OP1: Ratio**</td></tr><tr style="height: 29.6333px;"><td style="height: 29.6333px;">Adjust Operator 4 frequency, in multiples of the Carrier frequency  
</td><td style="height: 29.6333px;">Adjust Operator 3 frequency, in multiples of the Carrier frequency</td><td style="height: 29.6333px;">Adjust Operator 2 frequency, in multiples of the Carrier frequency  
</td><td style="height: 29.6333px;">Adjust Operator 1 frequency, in multiples of the Carrier frequency</td></tr></tbody></table>

<p class="callout info">Ratio parameters are stepped by 0.25 by default for more ease of use, but this can be free'd : Hold the button below the ratio parameter of the desired operator, then go to "SETTINGS" tab, then put "Stepped" parameter to off.</p>

Page 3:

<table border="1" id="bkmrk-op4-%3A-depth-op3-%3A-de" style="border-collapse: collapse; width: 100%; height: 92.1875px;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr style="height: 28.7969px;"><td style="height: 28.7969px;">**OP4 : Depth**</td><td style="height: 28.7969px;">**OP3 : Depth**</td><td style="height: 28.7969px;">**OP2 : Depth**</td><td style="height: 28.7969px;">**OP1 : Ph.Dis**</td></tr><tr style="height: 63.3906px;"><td style="height: 63.3906px;">Amount at which Operator 4 modulates the target operator(s)  
</td><td style="height: 63.3906px;">Amount at which Operator 3 modulates the target operator(s)  
</td><td style="height: 63.3906px;">Amount at which Operator 2 modulates the target operator(s)  
</td><td style="height: 63.3906px;">Amount of Phase distortion applied on the Sine.

</td></tr></tbody></table>

Page 4:

<table border="1" id="bkmrk-offset-op1-offset-op" style="border-collapse: collapse; width: 100%; height: 109.984px;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**Mix B&lt;&gt;A**</td><td style="height: 29.7969px;">**OP3 : Mode**</td><td style="height: 29.7969px;">**OP2 : Mode**  
</td><td style="height: 29.7969px;">**OP1 : Mode**  
</td></tr><tr style="height: 80.1875px;"><td style="height: 80.1875px;">Mix between the outputs from 2 different operators, by default, it's 50% / 50%  
</td><td style="height: 80.1875px;">It's how this operator is modulated, TZFM Linear 1, TZFM Linear 2, Linear or Exponential</td><td style="height: 80.1875px;">It's how this operator is modulated, TZFM Linear 1, TZFM Linear 2, Linear or Exponential</td><td style="height: 80.1875px;">It's how this operator is modulated, TZFM Linear 1, TZFM Linear 2, Linear or Exponential  
</td></tr></tbody></table>

#### FM1 diagram

[![FM1.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm1.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm1.png)

#### FM2 diagram

[![FM2.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/OD7fm2.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/OD7fm2.png)

#### FM3 diagram

[![FM3.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm3.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm3.png)

#### FM4 diagram

[![FM4.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm4.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm4.png)

#### FM5 diagram

[![FM5.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm5.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm5.png)

#### FM6 diagram

[![FM6.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm6.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm6.png)

#### FM7 diagram

[![FM7.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/8tCfm7.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/8tCfm7.png)

#### FM8 diagram

[![FM8.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/fm8.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/fm8.png)

### Ringmod model

[![screenshot_019.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-019.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-019.png)

Two Ring Modulation algorithms where one oscillator's frequency is a multiple of the other one.  
Algorithm A is a Saturated Ring Modulation and algorithm B is more like a Diode-Based Ring Modulation.  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
Page 2:

<table border="1" id="bkmrk-ratio-strength-twist" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Ratio**  
</td><td>**Strength**  
</td><td>**Twist**  
</td><td>**Timbre**  
</td></tr><tr><td>Select the modulator frequency, being a multiple of the carrier frequency.  
</td><td>Non-linear gain of both the carrier and modulator signals  
</td><td>Distort the phase of the modulator oscillator  
</td><td>Morph from algorithm A to algorithm B  
</td></tr></tbody></table>

### CZ model

[![screenshot_020.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/screenshot-020.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/screenshot-020.png)

A phase modulation and wave windowing algorithm inspired by the Casio CZ series.  
The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.  
  
8 waveforms are availables, and can be combined (Saw, Square, Pulse, Double Sin, Saw Pulse, Reso1, Reso2, Reso3)  
  
Page 2:

<table border="1" id="bkmrk-wave-dcw-wave-dcw-se" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**Wave**  
</td><td>**DCW**  
</td><td>**Wave**  
</td><td>**DCW**  
</td></tr><tr><td>Select a target wave. If the second Wave parameter is not OFF, then this one will select a target wave for every odd cycle of the main sine.</td><td>Simulates a filter sweep by using a different phase modulation on each wave (combined with windowing on the Reso1, 2 and3 waves). At 0% only the main sine is heard, and at 100% only the target wave is heard.  
</td><td>Select a target wave for every even cycle of the main sine.  
</td><td>Simulates a filter sweep by using a different phase modulation on each wave (combined with windowing on the Reso1, 2 and3 waves). At 0% only the main sine is heard, and at 100% only the target wave is heard.</td></tr></tbody></table>

### Noise model

[![Noise.png](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/scaled-1680-/noise.png)](https://nanopolis.storage.googleapis.com/uploads/images/gallery/2025-03/noise.png)

A filtered noise with sample &amp; hold.

The oscillator tabs have 2 pages. Page 1 is the same as mentioned earlier.

Page 2:

<table border="1" id="bkmrk-s%26h-color-%C2%A0-%C2%A0-the-am" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col><col style="width: 24.9383%;"></col></colgroup><tbody><tr><td>**S&amp;H**</td><td>**Color**  
</td><td> </td><td> </td></tr><tr><td>The amout of time to hold the current sample.</td><td>To the left : cutoff from 0 to 100% Low pass filter.  
  
To the right : cutoff from 0 to 100% High pass filter</td><td>  
</td><td> </td></tr></tbody></table>