Files
Cagire/docs/oscillators.md

76 lines
1.8 KiB
Markdown

# Oscillators
Control synthesis oscillator parameters for synth sounds.
## Frequency and Pitch
```forth
"sine" s 440 freq . ( set frequency in Hz )
"saw" s 60 note . ( set MIDI note )
"square" s 0.01 detune . ( slight detune )
"lead" s 12 coarse . ( coarse tune in semitones )
"bass" s 0.1 glide . ( portamento )
```
## Pulse Width
For pulse/square oscillators:
```forth
"pulse" s 0.3 pw . ( narrow pulse )
"pulse" s 0.5 pw . ( square wave )
```
## Stereo Spread
```forth
"pad" s 0.5 spread . ( stereo spread amount )
```
## Harmonics and Timbre
For oscillators that support it (like mutable):
```forth
"mutable" s 4 harmonics . ( harmonic content )
"mutable" s 0.5 timbre . ( timbre control )
"mutable" s 0.3 morph . ( morph parameter )
```
## Multiplier and Warp
```forth
"fm" s 2 mult . ( frequency multiplier )
"wt" s 0.5 warp . ( warp amount )
"wt" s 1 mirror . ( mirror waveform )
```
## Sub Oscillator
```forth
"bass" s 0.5 sub . ( sub oscillator level )
"bass" s 2 suboct . ( sub octave down )
"bass" s 1 subwave . ( sub waveform )
```
## Words
| Word | Stack | Description |
|------|-------|-------------|
| `freq` | (f --) | Set frequency (Hz) |
| `note` | (n --) | Set MIDI note |
| `detune` | (f --) | Set detune amount |
| `coarse` | (f --) | Set coarse tune |
| `glide` | (f --) | Set glide/portamento |
| `pw` | (f --) | Set pulse width |
| `spread` | (f --) | Set stereo spread |
| `mult` | (f --) | Set multiplier |
| `warp` | (f --) | Set warp amount |
| `mirror` | (f --) | Set mirror |
| `harmonics` | (f --) | Set harmonics |
| `timbre` | (f --) | Set timbre |
| `morph` | (f --) | Set morph |
| `sub` | (f --) | Set sub oscillator level |
| `suboct` | (n --) | Set sub octave |
| `subwave` | (n --) | Set sub waveform |