Write songs with an AI agent
A PIKOTO project is one plain text file, a .pikoto, in JSON. Anything that can write a file can write a song: you, a script, or an AI agent. Give an agent this page and an idea, and it can arrange all sixteen patterns, every lock and every effect, and hand you a song to open, play and change.
Agents: this page is written for you too. Read For agents, the file format and the reference, then build the song with a script. The DEMO is at https://pikoto.app/songs/DEMO.pikoto and every factory sound at https://pikoto.app/songs/sounds.json.
How it works
- Unlock PIKOTO. Importing and exporting project files are part of the unlock.
- Brief an agent. One that can write and run code does this best. Give it this page's address, the DEMO, and your idea. There's a brief to copy below.
- Import the song. Open ≡, tap the project name, then IMPORT and pick the file. It opens as a new project and replaces nothing. On iPhone and iPad, tapping a
.pikotoin Files, AirDrop or Mail does the same. - Listen and steer. Press ▶. With CHAIN on, the whole song plays through. The agent can't hear it, so tell it what you hear: the bass disappears on the phone speaker, the hats are too busy in P03, the break needs to drop out harder.
- Keep going together. Change things in the app, then EXPORT from the same projects list and give the agent that file, so its next version starts from yours.
The brief
Paste this into your agent and fill in the brackets:
Read https://pikoto.app/songs and follow it.
Start from the DEMO at https://pikoto.app/songs/DEMO.pikoto
and the sounds at https://pikoto.app/songs/sounds.json.
Write a PIKOTO song: [style and mood], [tempo] BPM, about [length],
in [key and scale]. Instruments: [kick, bass, keys, lead...].
Arrangement: [intro, verse, chorus, break, outro...].
Build it with a script, check it against the checklist on the page,
and give me the .pikoto file and a short map of each pattern.
Some ideas to start from:
- A two-minute lo-fi piece in D minor at 84 BPM, swung, with a kalimba melody that changes every time round and soft, dusty drums.
- Techno at 128 that builds with filter locks and a riser, stutters with REPEAT before the drop, and ends on BRAKE.
- An ambient piece of slow chords through the arpeggiator, with long reverb, grain and a SLOPE on the filter.
- My exported project: keep the first three patterns and write a break, a last chorus and an outro.
For agents
PIKOTO is an FM groovebox. It has four tracks, and each plays one four-operator FM sound. A project holds sixteen patterns; each has its own four sounds, tempo, swing and up to 64 steps per track. A chain plays patterns in order, and that is the song.
- Read the DEMO. Download
DEMO.pikotoand look at how it's built: six patterns, a chain of[0, 1, 1, 2, 3, 4, 4, 5], chords on track 4, and hats, clap, rim and shaker played on the snare track through sound locks. - Write a script, not the JSON. A song is thousands of steps. Write a program in Python or JavaScript that builds the project from functions like
drums(pattern, style)andchord(step, notes, length), and writes the file. Changes are then a line, not a rewrite. - Start sounds from the factory. Take sounds from
sounds.json(each entry'spatch) or the DEMO'spatches, and change a few parameters. Sound designed from defaults usually sounds thin. - Check, then hand over. Run the checklist in your script. Name the file after the song, like
NIGHT_DRIVE.pikoto. - Explain it. Tell the human what each pattern is and what the chain does, so they can ask for changes by pattern: P05 is the drop.
You can't hear the result. Lean on what's known to work: the DEMO's levels, factory sounds, kick on track 1, three-note chords. Then ask the human what to change.
The file
One JSON object. Everything but patterns can be left out, and anything left out takes its default: missing patterns, tracks and steps are empty, missing parameters take their defaults. Here is the shape, cut short:
{
"name": "NIGHT DRIVE",
"version": 1,
"chain": [0, 1, 1, 2],
"chainOn": true,
"activePattern": 0,
"fx": { "params": { "Delay Time": 8, "Reverb Size": 0.7, "Master Duck": 0.25 } },
"soundPool": [
{ "name": "HIHAT CL", "chromatic": true, "params": { "Algorithm": 3, ... } }
],
"patterns": [
{
"tempo": 118,
"swing": 0.12,
"scale": 2,
"key": 9,
"patches": [ {KICK 808}, {SNARE}, {FM BASS}, {E PIANO} ],
"tracks": [
{
"length": 64,
"speed": 1,
"defaultNote": 60,
"steps": [
{ "active": true, "notes": [60], "velocity": 0.9, "length": 1 },
{ "active": false },
{ "active": true, "notes": [60], "micro": 0.04, "ratchet": 2,
"condition": 5, "locks": { "41": 0.62, "64": 0.4 } },
{ "active": true, "sound": 0, "velocity": 0.5 }
]
}
]
}
]
}
Project
| Field | What it is |
|---|---|
name | Up to 16 letters, digits and spaces, shown in capitals. Anything else is dropped. |
version | 1. A higher number is refused with UPDATE PIKOTO TO OPEN IT. |
patterns | Up to 16 patterns. They are named P01 to P16 by position, whatever the file says. |
chain | Up to 64 pattern indices, 0 to 15, played in order. Each entry plays its pattern once through its longest track. Repeat an index to play a pattern again. After the last entry the chain starts again from the first, until the player stops it. |
chainOn | true to play the chain from its first entry when ▶ is pressed. |
activePattern | The pattern open on import, 0 to 15. |
fx | {"params": {...}}: the shared delay, reverb and grain, and the master. See effect parameters. |
soundPool | Up to 16 extra sounds that steps can play through a sound lock. |
Pattern
| Field | What it is |
|---|---|
tempo | 40 to 300 BPM. Each pattern plays at its own, but changing BPM in the app sets all sixteen at once, so keep them equal unless the song changes tempo. |
swing | 0 to 1. The DEMO uses 0.12. The arp isn't swung, so keep it small where an arp plays. |
scale, key | A scale 0 to 14 and a key 0 to 11 (0 is C). They shape the pads in KEYS mode and note editing in the app. Notes in the file play as written. |
patches | Four sounds, one per track. Give a pattern different ones to change instruments between sections. |
tracks | Four tracks. |
punches | Optional. FX pads held on every track, one bitmask per sixteenth of the pattern, up to 256. |
Track
| Field | What it is |
|---|---|
steps | Up to 64 steps. Fewer are filled up with empty ones. |
length | 1 to 64 steps. Default 16. |
speed | 0.25, 0.5, 1, 2 or 4. At 1 a step is a sixteenth note, so 64 steps are four bars. |
defaultNote | The MIDI note for steps with no notes of their own. Default 60. |
transpose | -24 to 24 semitones, for every note the track plays. |
muted | true or false. |
punches | Optional. FX pads held on this track, one bitmask per step, up to 64. |
Step
| Field | What it is |
|---|---|
active | true plays a note. |
notes | Up to four MIDI notes, 0 to 127. Empty plays the track's defaultNote. |
velocity | 0 to 1. Default 1. |
length | How long the note is held, in steps, 0.1 to 64. Default 1. |
micro | -0.5 to 0.5 of a step: negative is early, positive late. |
ratchet | 1 to 8 hits inside the step. |
condition | When the step plays, a condition 0 to 19. Default 0, ALL: always. |
locks | Parameter locks: {"key": value}, keys from the sound parameters. Values for this step only. |
sound | A sound lock: an index into soundPool. Leave it out for the track's own sound. |
lockTrig | With active false and some locks: a lock trig, which changes the notes already sounding without playing a new one. |
Sound
A sound in patches or soundPool is {"name": "WARM PAD", "chromatic": false, "params": {...}}. The params are named as in the sound parameters. chromatic is true for drums: the pads stay a chromatic keyboard for it whatever the scale. Keep names short and in capitals.
What makes a file fail
- Not a JSON object, or no
patternslist: NOT A PIKOTO PROJECT. - A wrong type anywhere. Notes, lengths of tracks, ratchets, conditions, keys, scales, sound indices,
defaultNote,transpose,activePatternand chain entries are whole numbers: 60.0 reads, 60.5 fails the file.punchesare whole numbers 0 to 65535.active,chainOnand the others aretrueorfalse, not 1 or 0. - A lock keyed by name. Lock keys are the numbers from the table:
"41", not"Cutoff". - A
versionabove 1. - A file over 16 MB. A whole song is well under 1 MB.
Each of these is refused with NOT A PIKOTO PROJECT, except the version (UPDATE PIKOTO TO OPEN IT) and the size (FILE TOO BIG).
Everything else opens without a word, so a mistake plays wrong rather than failing:
- Values out of range are clamped, so a cutoff of 800 meant as hertz plays as fully open. Stepped parameters are rounded to whole numbers. Check your units against the reference.
- Names are exact and case-sensitive. A field, sound parameter or effect parameter the app doesn't know is ignored, and the parameter keeps its default:
"cutoff"or"note"does nothing. So does a lock key that isn't a parameter, such as"99". - Notes outside 0 to 127 are dropped, and a step with more than four keeps the last four. Chain entries outside 0 to 15 are dropped.
- A condition above 19 plays always. A
soundpast the end ofsoundPoolplays the track's own sound. Aspeedsnaps to the nearest of the five.
Tips
What makes a PIKOTO song sound finished, and how to write it in the file.
Arrange with patterns and the chain
Write each section as a pattern: intro, verse, chorus, break, outro. At speed 1 a 64-step track is four bars, and the chain repeats a pattern by naming it twice. Change a pattern's patches to bring in new instruments, as the DEMO does with STRINGS in its fourth pattern. Thin out the drums before a drop, and bring them back all at once.
Lock parameters on steps
Locks are what make a loop move. Open the filter over sixteen steps (41, Cutoff), shorten the decay on off-beat hats (49, Amp Decay), brighten one chord with a modulator's level (18, Op 2 Level), or throw one snare into the delay (64, Delay Send). A lock trig, a step with locks and lockTrig but no note, moves a held pad or bass note without playing it again.
Track parameters (the LFOs, SLOPE, the arp, chord, voice mode, unison and width) hold a lock until the next trig on that track, and a trig without the lock puts them back. For a whole section, set them in the pattern's sound instead.
Micro-timing and velocity
Straight steps sound like a machine, which is sometimes the point. For a groove, play the snare a little late (micro 0.03 to 0.08), push ghost notes and some hats early, and vary hat velocity in a pattern rather than at random. The DEMO plays its claps 0.04 late and pulls a few chords 0.04 early. A ratchet of 2 to 4 rolls a hat or snare into the next bar.
The master compressor evens out velocity, so halving it across a section barely changes its level. For dynamics, change the arrangement or lock Volume (55).
Variation with conditions
One pattern can play differently every time round. Conditions count the loops of the step's own track, from when the pattern starts: 1:2 and 2:2 alternate, 1:4 to 4:4 take turns in four, 1ST plays only on the first loop, and 25% or 50% make ghost notes that come and go.
On a track as long as the pattern's longest, a loop is a pass of the pattern. There 1:2 and 2:2 give the pattern two endings, 1ST is a crash at the start of a section, and a chain that names the pattern twice in a row keeps counting, so 1:2 and 2:2 tell the two passes apart. A shorter track counts its own loops: a 16-step track in a 64-step pattern goes round four times a pass, so its 1:2 and 2:2 alternate every bar, and its 1ST plays only in the first bar. Give a track the pattern's full length when its conditions should follow the song.
FILL steps play only while the player has FILL on, so write some for them to perform.
Chords and the arpeggiator
A step plays up to four notes. Three-note voicings with a long length make pads; the Chord parameter stacks intervals on one note. Sixteen voices are shared by all four tracks, and a four-note chord with a long release holds eight while it overlaps the next one. The Chord parameter takes a voice for each interval it adds, and Voice Mode UNISON two for every note, so four notes with Chord MIN7 already take all sixteen.
For an arpeggio, set Arp Mode in the track's sound (1 to 5) with Arp On Trigs at 1, and give it chord trigs with a long length: the arp plays the chord for as long as the trig lasts. Arp Speed, Range and Gate shape it. Lock Arp Mode to 0 on one trig to play that chord straight.
More sounds than tracks
Put extra sounds in soundPool and set sound on a step to play one there. The DEMO plays hats, clap, rim and shaker on its snare track this way, and a kalimba between the chords on its keys track. A sound-locked step keeps the track's LFOs, SLOPE, arp and voice mode.
Polymeter and speed
Tracks of different lengths drift against each other: a 12-step percussion line over a 16-step beat lines up again every three bars. Speed 2 makes 32nd-note hats, 0.5 a slow bass line with room for long notes.
Modulation
Each track has two LFOs and a SLOPE. Point a destination at a parameter and set a depth: a slow LFO on Cutoff breathes a pad, a fast one on PITCH is vibrato. SLOPE in ENV mode is a shaped rise and fall on each note, and SYNC ties it to the tempo.
Effects
Delay, reverb and grain are shared; each sound sends to them. Keep kick and bass dry, give keys and leads some reverb, and lock sends on single steps for throws. Delay Time is in note divisions, so echoes stay in time. Master Duck pumps the mix under track 1, so put the kick there. Grain turns whatever is sent to it into a cloud, good on pads and in breaks.
FX pads
The sixteen FX pads can be written into a pattern as if a player held them. A track's punches holds one bitmask per step of that track; a pattern's holds one per sixteenth for every track at once. A pad is held while the clock is on a step with its bit, so set the bit on each step it should last.
REPEAT 1 or 2 on the last beat before a drop, ROLL on a snare build, REVERSE for half a bar, FILTER LOW on an intro, DELAY or REVERB on a last chord, CUT for a gap, and BRAKE on the last bar of the song.
Mix for phone speakers
KICK 808 and FM BASS play two octaves down, so note 60 sounds as C2, and KALIMBA one octave up. Bass notes under about 55 disappear on phone speakers. An intro, break or outro should sit a little under the main sections. Leave Master Volume near the DEMO's 0.8.
Checklist
For agents, before handing a file over. Check it in your script:
- It parses as JSON, has
"version": 1and apatternslist of at most 16. - Whole numbers and booleans are written as such, with no fractions or 0 and 1 for true and false.
- Every lock key is in the table, and every value is in the file's range: 0 to 1 for cutoff and times, not hertz or milliseconds.
- Steps have at most four notes, 0 to 127. Every
soundis less than the length ofsoundPool. - Track lengths are what you meant, and the chain plays every section, with
chainOntrue. - Every pattern has the same tempo, unless the song changes it on purpose.
- No moment needs more than 16 voices: count the notes sounding at once, releases included, with each note's Chord intervals and twice for UNISON.
- The kick is on track 1, and every pattern in the chain has its four
patches.
Reference
Conditions
The values of a step's condition. A:B plays on loop A of every B, counting the loops of the step's own track (see variation with conditions).
0 ALL (always) ·1 FILL · 2 !FILL (not with FILL) · 3 1ST (first loop only) · 4 !1ST (never the first) · 5 1:2 · 6 2:2 · 7 1:3 · 8 2:3 · 9 3:3 · 10 1:4 · 11 2:4 · 12 3:4 · 13 4:4 · 14 1:8 · 15 10% · 16 25% · 17 50% · 18 75% · 19 90%
Scales
The values of a pattern's scale. Keys are 0 C, 1 C#, 2 D, and so on to 11 B.
0 chromatic · 1 major · 2 minor · 3 dorian · 4 phrygian · 5 lydian · 6 mixolydian · 7 locrian · 8 harmonic minor · 9 major pentatonic · 10 minor pentatonic · 11 blues · 12 whole tone · 13 hirajoshi · 14 in sen
FX pad bits
Add the values of the pads to hold together: 4096 + 16 is DELAY with HALF SPEED. The first eight bend timing, the last eight the sound.
1 REPEAT 1 STEP · 2 REPEAT 2 STEPS · 4 REPEAT 4 STEPS · 8 ROLL 1/32 · 16 HALF SPEED · 32 DOUBLE SPEED · 64 REVERSE · 128 RANDOM STEPS · 256 FILTER LOW · 512 FILTER HIGH · 1024 OCTAVE DOWN · 2048 OCTAVE UP · 4096 DELAY SEND · 8192 REVERB SEND · 16384 CUT · 32768 BRAKE
Chord parameter
The intervals the Chord parameter adds to each note, in semitones.
0 OFF · 1 OCT +12 · 2 5TH +7 · 3 OCT5 +7 +12 · 4 MIN +3 +7 · 5 MAJ +4 +7 · 6 SUS4 +5 +7 · 7 MIN7 +3 +7 +10 · 8 MAJ7 +4 +7 +11 · 9 STACK +12 +19 +24
Sound parameters
A sound's params and a step's locks. Locks use the key, sounds the name. Values are what the file holds, not what the screen shows. Track marks the parameters a track reads once rather than per note: a lock on one holds until the next trig on that track.
| Key | Name | Page | Values | Default | Track |
|---|---|---|---|---|---|
| 0 | Algorithm | ALGO ALGO | 0 CHAIN · 1 TWIN · 2 SPLIT · 3 TRIPLE · 4 PAIRS · 5 FAN · 6 SOLO · 7 ADD | 0 (CHAIN) | |
| 1 | Feedback | ALGO FDBK | 0 … 1 | 0 | |
| 2 | Ratio Mode | ALGO HARM | 0 FREE · 1 HARM · 2 ODD · 3 OCT | 0 (FREE) | |
| 3 | Detune Spread | ALGO DTUN | -1 … 1 | 0 | |
| 4 | Pitch Env Amount | ALGO PENV | -48 … 48 semitones | 0 | |
| 5 | Pitch Env Decay | ALGO PDEC | 0 … 1, on the time curve | 0.2 (6 ms) | |
| 6 | Chord | ALGO CHRD | 0 OFF · 1 OCT · 2 5TH · 3 OCT5 · 4 MIN · 5 MAJ · 6 SUS4 · 7 MIN7 · 8 MAJ7 · 9 STACK | 0 (OFF) | yes |
| 7 | Transient Click | ALGO CLIK | 0 … 1 | 0 | |
| 8 | Op 1 Ratio | OP1 RAT | 0 … 37, a ratio | 3 (×1) | |
| 9 | Op 1 Fine | OP1 FINE | -100 … 100 cents | 0 | |
| 10 | Op 1 Level | OP1 LEV | 0 … 1 | 1 | |
| 11 | Op 1 Wave | OP1 WAVE | 0 SINE · 1 TRI · 2 SAW · 3 SQR · 4 HALF · 5 FOLD | 0 (SINE) | |
| 12 | Op 1 Attack | OP1 ATK | 0 … 1, on the time curve | 0 (1 ms) | |
| 13 | Op 1 Decay | OP1 DEC | 0 … 1, on the time curve | 0.5 (100 ms) | |
| 14 | Op 1 Sustain | OP1 SUS | 0 … 1 | 1 | |
| 15 | Op 1 Release | OP1 REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 16 | Op 2 Ratio | OP2 RAT | 0 … 37, a ratio | 3 (×1) | |
| 17 | Op 2 Fine | OP2 FINE | -100 … 100 cents | 0 | |
| 18 | Op 2 Level | OP2 LEV | 0 … 1 | 0.5 | |
| 19 | Op 2 Wave | OP2 WAVE | 0 SINE · 1 TRI · 2 SAW · 3 SQR · 4 HALF · 5 FOLD | 0 (SINE) | |
| 20 | Op 2 Attack | OP2 ATK | 0 … 1, on the time curve | 0 (1 ms) | |
| 21 | Op 2 Decay | OP2 DEC | 0 … 1, on the time curve | 0.5 (100 ms) | |
| 22 | Op 2 Sustain | OP2 SUS | 0 … 1 | 1 | |
| 23 | Op 2 Release | OP2 REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 24 | Op 3 Ratio | OP3 RAT | 0 … 37, a ratio | 3 (×1) | |
| 25 | Op 3 Fine | OP3 FINE | -100 … 100 cents | 0 | |
| 26 | Op 3 Level | OP3 LEV | 0 … 1 | 0.5 | |
| 27 | Op 3 Wave | OP3 WAVE | 0 SINE · 1 TRI · 2 SAW · 3 SQR · 4 HALF · 5 FOLD | 0 (SINE) | |
| 28 | Op 3 Attack | OP3 ATK | 0 … 1, on the time curve | 0 (1 ms) | |
| 29 | Op 3 Decay | OP3 DEC | 0 … 1, on the time curve | 0.5 (100 ms) | |
| 30 | Op 3 Sustain | OP3 SUS | 0 … 1 | 1 | |
| 31 | Op 3 Release | OP3 REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 32 | Op 4 Ratio | OP4 RAT | 0 … 37, a ratio | 3 (×1) | |
| 33 | Op 4 Fine | OP4 FINE | -100 … 100 cents | 0 | |
| 34 | Op 4 Level | OP4 LEV | 0 … 1 | 0.5 | |
| 35 | Op 4 Wave | OP4 WAVE | 0 SINE · 1 TRI · 2 SAW · 3 SQR · 4 HALF · 5 FOLD | 0 (SINE) | |
| 36 | Op 4 Attack | OP4 ATK | 0 … 1, on the time curve | 0 (1 ms) | |
| 37 | Op 4 Decay | OP4 DEC | 0 … 1, on the time curve | 0.5 (100 ms) | |
| 38 | Op 4 Sustain | OP4 SUS | 0 … 1 | 1 | |
| 39 | Op 4 Release | OP4 REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 40 | Filter Type | FLTR TYPE | 0 LP2 · 1 LP4 · 2 BP · 3 HP · 4 NOTCH · 5 OFF | 0 (LP2) | |
| 41 | Cutoff | FLTR FREQ | 0 … 1, on the frequency curve | 1 (20.0 kHz) | |
| 42 | Resonance | FLTR RESO | 0 … 1 | 0.1 | |
| 43 | Filter Env Amount | FLTR ENV | -1 … 1 | 0 | |
| 44 | Filter Attack | FLTR ATK | 0 … 1, on the time curve | 0 (1 ms) | |
| 45 | Filter Decay | FLTR DEC | 0 … 1, on the time curve | 0.4 (40 ms) | |
| 46 | Filter Sustain | FLTR SUS | 0 … 1 | 0 | |
| 47 | Filter Release | FLTR REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 48 | Amp Attack | AMP ATK | 0 … 1, on the time curve | 0.01 (1 ms) | |
| 49 | Amp Decay | AMP DEC | 0 … 1, on the time curve | 0.5 (100 ms) | |
| 50 | Amp Sustain | AMP SUS | 0 … 1 | 0.8 | |
| 51 | Amp Release | AMP REL | 0 … 1, on the time curve | 0.3 (16 ms) | |
| 52 | Velocity Amount | AMP VEL | 0 … 1 | 0.5 | |
| 53 | Pan | AMP PAN | -1 … 1 | 0 | |
| 54 | Drive | AMP DRIV | 0 … 1 | 0 | |
| 55 | Volume | AMP VOL | 0 … 1 | 0.8 | |
| 56 | LFO 1 Rate | LFO RATE | 0 … 1, on the rate curve | 0.3 (0.37 Hz) | yes |
| 57 | LFO 1 Depth | LFO DEP | -1 … 1 | 0 | yes |
| 58 | LFO 1 Dest | LFO DEST | 0 … 65, a destination | 0 | yes |
| 59 | LFO 1 Wave | LFO WAVE | 0 TRI · 1 SINE · 2 SAW · 3 SQR · 4 S&H · 5 RAMP | 0 (TRI) | yes |
| 60 | LFO 2 Rate | LFO RATE | 0 … 1, on the rate curve | 0.5 (1.41 Hz) | yes |
| 61 | LFO 2 Depth | LFO DEP | -1 … 1 | 0 | yes |
| 62 | LFO 2 Dest | LFO DEST | 0 … 65, a destination | 0 | yes |
| 63 | LFO 2 Wave | LFO WAVE | 0 TRI · 1 SINE · 2 SAW · 3 SQR · 4 S&H · 5 RAMP | 1 (SINE) | yes |
| 64 | Delay Send | FX DLY | 0 … 1 | 0 | |
| 65 | Reverb Send | FX REV | 0 … 1 | 0.1 | |
| 66 | Grain Send | FX GRN | 0 … 1 | 0 | |
| 67 | Voice Mode | FX MODE | 0 POLY · 1 MONO · 2 LEGATO · 3 UNISON | 0 (POLY) | yes |
| 68 | Glide | FX GLID | 0 … 1, on the time curve | 0 (1 ms) | |
| 69 | Octave | FX OCT | -3 … 3 | 0 | |
| 70 | Unison Detune | FX UDET | 0 … 1 | 0.2 | yes |
| 71 | Stereo Width | FX WIDE | 0 … 1 | 0.5 | yes |
| 72 | Slope Rate | SLOPE RATE | 0 … 1, on the rate curve | 0.3 (0.37 Hz) | yes |
| 73 | Slope Shape | SLOPE SHAP | 0 … 1 | 0.25 | yes |
| 74 | Slope Skew | SLOPE SLOP | 0 … 1 | 0.5 | yes |
| 75 | Slope Smooth | SLOPE SMTH | 0 … 1 | 0.5 | yes |
| 76 | Slope Mode | SLOPE MODE | 0 LOOP · 1 ENV · 2 TRIG · 3 HOLD | 0 (LOOP) | yes |
| 77 | Slope Sync | SLOPE SYNC | 0 FREE · 1 SYNC | 0 (FREE) | yes |
| 78 | Slope Depth | SLOPE DEP | -1 … 1 | 0 | yes |
| 79 | Slope Dest | SLOPE DEST | 0 … 65, a destination | 0 | yes |
| 80 | Arp Mode | ARP MODE | 0 OFF · 1 UP · 2 DOWN · 3 UPDN · 4 RAND · 5 PLAY | 0 (OFF) | yes |
| 81 | Arp Speed | ARP SPD | 0 1/32 · 1 1/16T · 2 1/16 · 3 1/8T · 4 1/8 · 5 1/4 | 2 (1/16) | yes |
| 82 | Arp Range | ARP OCT | 1 … 4 | 1 | yes |
| 83 | Arp Gate | ARP GATE | 0.05 … 1 | 0.5 | yes |
| 84 | Arp Latch | ARP HOLD | 0 OFF · 1 LATCH · 2 ADD | 0 (OFF) | yes |
| 85 | Arp On Trigs | ARP SEQ | 0 OFF · 1 ON | 1 (ON) | yes |
| 86 | Arp Repeat | ARP RPT | 1 … 4 | 1 | yes |
| 87 | Arp Vel Decay | ARP VDEC | 0 … 1 | 0 | yes |
Effect parameters
The project's fx.params: the delay, reverb and grain every track sends to, and the master. They can't be locked.
| Name | Page | Values | Default |
|---|---|---|---|
Delay Time | DELAY TIME | 0 1/64 · 1 1/32 · 2 1/16T · 3 1/16 · 4 1/8T · 5 1/16. · 6 1/8 · 7 1/4T · 8 1/8. · 9 1/4 · 10 1/2T · 11 1/4. · 12 1/2 · 13 1/1 | 8 (1/8.) |
Delay Feedback | DELAY FDBK | 0 … 1 | 0.45 |
Ping Pong | DELAY PING | 0 OFF · 1 ON | 1 (ON) |
Delay Low Cut | DELAY LOW | 0 … 1, on the frequency curve | 0.2 (80 Hz) |
Delay High Cut | DELAY HIGH | 0 … 1, on the frequency curve | 0.7 (2.5 kHz) |
Delay Modulation | DELAY MOD | 0 … 1 | 0.1 |
Delay Width | DELAY WIDE | 0 … 1 | 0.8 |
Delay Level | DELAY LEV | 0 … 1 | 0.7 |
Reverb Pre-delay | REVERB PRE | 0 … 1, on the time curve | 0.1 (3 ms) |
Reverb Size | REVERB SIZE | 0 … 1 | 0.6 |
Reverb Decay | REVERB DEC | 0 … 1 | 0.6 |
Reverb Damping | REVERB DAMP | 0 … 1 | 0.4 |
Reverb Shimmer | REVERB SHIM | 0 … 1 | 0 |
Reverb Modulation | REVERB MOD | 0 … 1 | 0.3 |
Reverb Low Cut | REVERB LOW | 0 … 1, on the frequency curve | 0.2 (80 Hz) |
Reverb Level | REVERB LEV | 0 … 1 | 0.7 |
Grain Size | GRAIN SIZE | 0 … 1 | 0.3 |
Grain Density | GRAIN DENS | 0 … 1 | 0.4 |
Grain Pitch | GRAIN PTCH | -24 … 24 semitones | 0 |
Grain Spread | GRAIN SPRD | 0 … 1 | 0.5 |
Grain Random | GRAIN RAND | 0 … 1 | 0.2 |
Grain Shape | GRAIN SHAP | 0 … 1 | 0.25 |
Grain Feedback | GRAIN FDBK | 0 … 1 | 0.2 |
Grain Level | GRAIN LEV | 0 … 1 | 0.7 |
Master Volume | MASTER VOL | 0 … 1 | 0.8 |
Master Drive | MASTER DRIV | 0 … 1 | 0 |
Compressor | MASTER COMP | 0 … 1 | 0.3 |
Master Low Cut | MASTER LOW | 0 … 1, on the frequency curve | 0 (20 Hz) |
Master High Cut | MASTER HIGH | 0 … 1, on the frequency curve | 1 (20.0 kHz) |
Master Width | MASTER WIDE | 0 … 1 | 0.5 |
Master Crush | MASTER CRSH | 0 … 1, 16 bit down to 2 | 0 (16 bit) |
Master Duck | MASTER DUCK | 0 … 1 | 0 |
Modulation destinations
The values of LFO 1 Dest, LFO 2 Dest and Slope Dest. A depth of 1 or -1 sweeps the destination across its whole range, and PITCH by 12 semitones.
0 OFF · 1 PITCH · 2 ALGO ALGO · 3 ALGO FDBK · 4 ALGO HARM · 5 ALGO DTUN · 6 ALGO PENV · 7 ALGO PDEC · 8 ALGO CHRD · 9 ALGO CLIK · 10 OP1 RAT · 11 OP1 FINE · 12 OP1 LEV · 13 OP1 WAVE · 14 OP1 ATK · 15 OP1 DEC · 16 OP1 SUS · 17 OP1 REL · 18 OP2 RAT · 19 OP2 FINE · 20 OP2 LEV · 21 OP2 WAVE · 22 OP2 ATK · 23 OP2 DEC · 24 OP2 SUS · 25 OP2 REL · 26 OP3 RAT · 27 OP3 FINE · 28 OP3 LEV · 29 OP3 WAVE · 30 OP3 ATK · 31 OP3 DEC · 32 OP3 SUS · 33 OP3 REL · 34 OP4 RAT · 35 OP4 FINE · 36 OP4 LEV · 37 OP4 WAVE · 38 OP4 ATK · 39 OP4 DEC · 40 OP4 SUS · 41 OP4 REL · 42 FLTR TYPE · 43 FLTR FREQ · 44 FLTR RESO · 45 FLTR ENV · 46 FLTR ATK · 47 FLTR DEC · 48 FLTR SUS · 49 FLTR REL · 50 AMP ATK · 51 AMP DEC · 52 AMP SUS · 53 AMP REL · 54 AMP VEL · 55 AMP PAN · 56 AMP DRIV · 57 AMP VOL · 58 FX DLY · 59 FX REV · 60 FX GRN · 61 FX MODE · 62 FX GLID · 63 FX OCT · 64 FX UDET · 65 FX WIDE
Operator ratios
An operator's Ratio is an index into this list: 3 is ×1, the note itself.
0 ×0.25 · 1 ×0.5 · 2 ×0.75 · 3 ×1 · 4 ×1.5 · 5 ×2 · 6 ×2.5 · 7 ×3 · 8 ×3.5 · 9 ×4 · 10 ×4.5 · 11 ×5 · 12 ×5.5 · 13 ×6 · 14 ×6.5 · 15 ×7 · 16 ×7.5 · 17 ×8 · 18 ×8.5 · 19 ×9 · 20 ×9.5 · 21 ×10 · 22 ×10.5 · 23 ×11 · 24 ×11.5 · 25 ×12 · 26 ×12.5 · 27 ×13 · 28 ×13.5 · 29 ×14 · 30 ×14.5 · 31 ×15 · 32 ×15.5 · 33 ×16 · 34 ×18 · 35 ×20 · 36 ×24 · 37 ×32
Curves
Times, frequencies and rates are stored as 0 … 1 and mapped like this:
| Curve | From v | 0 | 0.25 | 0.5 | 0.75 | 1 |
|---|---|---|---|---|---|---|
| Time | 1 ms × 10000v | 1 ms | 10 ms | 100 ms | 1.00 s | 10.00 s |
| Frequency | 20 Hz × 1000v | 20 Hz | 112 Hz | 632 Hz | 3.6 kHz | 20.0 kHz |
| Rate | 0.05 Hz × 800v | 0.05 Hz | 0.27 Hz | 1.41 Hz | 7.52 Hz | 40.00 Hz |
To go the other way: v = log10(seconds / 0.001) / 4 for a time, and v = log10(hertz / 20) / 3 for a frequency.