Bird Notation
Bird is a musical notation designed for composition of modern electronic music. Think of it as Markdown for music.File Structure
A.bird file has three sections, in order:
- Global channel definitions — declare channels with their instruments, effects, and channel strips
- Arrangement — define the section order and bar counts
- Section definitions — write the musical content for each section
Tokens Reference
Structure
| Token | Purpose | Syntax | Example |
|---|---|---|---|
ch | Define a channel | ch <number> <name> | ch 1 kick |
plugin | Assign instrument plugin | plugin <keyword> | plugin mini |
fx | Assign insert effect | fx <keyword> | fx delay |
strip | Assign channel strip | strip <keyword> | strip console1 |
type | Set track type | type midi or type audio | type audio |
arr | Start arrangement block | arr then indented entries | see below |
sec | Start section definition | sec <name> | sec verse |
b | Set global bar count | b <bars> | b 4 |
key | Set key signature | key <root> [mode] | key Eb min |
cont | Continue pattern phase across section boundary | cont | cont |
Arrangement
Thearr block lists sections with their bar lengths, indented:
Key Signature
Sets the musical key for the project. Supports all 12 roots with sharps/flats, major and minor:Pattern (p)
Defines the rhythmic grid. Each token is one note slot. Positive = note-on, _ = rest.
Duration Tokens
| Token | Duration | Ticks |
|---|---|---|
ww | Double whole note | 768 |
w | Whole note (1 bar in 4/4) | 384 |
qq | Half note | 192 |
q | Quarter note (1 beat) | 96 |
xx | Eighth note | 48 |
x | Sixteenth note | 24 |
d:
| Token | Duration | Ticks |
|---|---|---|
wd | Dotted whole | 576 |
qd | Dotted quarter | 144 |
xxd | Dotted eighth | 72 |
xd | Dotted sixteenth | 36 |
t:
| Token | Duration | Ticks |
|---|---|---|
wt | Whole triplet | 256 |
qt | Quarter triplet | 64 |
xxt | Eighth triplet | 32 |
xt | Sixteenth triplet | 16 |
Rests
_— rest of the same length as the previous duration_w,_q,_x,_xxetc. — explicit rest durations (same naming as above, prefixed with_)
Timing Rule
Allp lines in a section must sum to the same total bar length. A 4/4 bar = 384 ticks = 4 quarters = 8 eighths = 16 sixteenths. Mismatched lengths cause desync.
Examples
Velocity (v)
Sets the MIDI velocity (0–127) for each note slot. Cycles through values when the pattern repeats.
| Syntax | Meaning | Example |
|---|---|---|
80 | Absolute velocity | v 80 |
- | Repeat previous velocity | v 80 - - - |
+N / -N | Relative offset from previous | v 80 +10 -20 |
Notes (n)
Specifies pitches for each pattern slot. Supports multiple formats that can be mixed.
Formats
| Format | Example | Description |
|---|---|---|
| MIDI number | n 60 | Middle C |
| Note name | n C4 | Middle C (with octave) |
| Chord name | n @Cm7 | C minor 7th chord (all notes play simultaneously) |
| Repeat | n 60 - | Repeat previous pitch |
| Relative offset | n 60 +7 +5 | Add/subtract semitones from previous |
| Simultaneous notes | n 60 64 67 | All on one line = chord (C major triad) |
Note Names
Standard note names with optional accidentals and octave:Chord Names
Prefix with@. Optionally prefix octave before root letter.
| Chord | Syntax | Notes |
|---|---|---|
| Major | @C, @Cmaj, @CM | C E G |
| Minor | @Cm, @Cmin, @C- | C Eb G |
| Dominant 7th | @C7, @Cdom7 | C E G Bb |
| Major 7th | @Cmaj7, @CM7 | C E G B |
| Minor 7th | @Cm7, @Cmin7, @C-7 | C Eb G Bb |
| Diminished | @Cdim, @Co | C Eb Gb |
| Diminished 7th | @Cdim7, @Co7 | C Eb Gb A |
| Half-diminished | @Cm7b5, @Cø | C Eb Gb Bb |
| Augmented | @Caug, @C+ | C E G# |
| Augmented 7th | @Caug7, @C+7 | C E G# Bb |
| Suspended 2nd | @Csus2 | C D G |
| Suspended 4th | @Csus4, @Csus | C F G |
| Dominant 9th | @C9 | C E G Bb D |
| Minor 9th | @Cm9, @Cmin9 | C Eb G Bb D |
| Major 9th | @Cmaj9, @CM9 | C E G B D |
| Power chord | @C5, @Cpower | C G |
@3Cm7 = C minor 7th starting at octave 3.
Simultaneous Notes (Chords)
Multiple plain notes on onen line play simultaneously as a chord:
Sequential Notes
When using-, +N, or @chords, each token is a separate step that cycles with the pattern:
Layering
Multiple velocity + note groups can share one pattern (multi-layer voicings):Swing (sw)
Adds groove by shifting every other note later. Applied per channel per section.
| Value | Feel |
|---|---|
50 | Perfectly straight (default) |
55 | Light swing |
60 | Medium swing |
67 | Triplet swing (classic MPC feel) |
75 | Heavy swing |
~N adds random ±N ticks of jitter to all notes for extra humanization.
Per-Note Timing (t)
Fine-grained timing offsets per pattern slot. Values are in ticks (1 tick ≈ 1/96 of a beat). Cycles like velocity.
- Positive = late (behind the beat / laid back)
- Negative = early (ahead of the beat / pushing)
0= on grid
Automation
Step-Based Automation
Any unrecognized keyword inside a channel block is treated as a step automation macro. Values cycle with the pattern.Continuous Automation (Ramp)
Useramp for time-based sweeps across a section:
Plugin Keywords
Instruments
| Keyword | Plugin | Type |
|---|---|---|
synths | Pigments | General synth |
mini | Mini V3 | Analog mono synth |
cs80 | CS-80 V4 | Poly synth |
prophet | Prophet-5 V | Poly synth |
jup8 | Jup-8 V4 | Poly synth |
dx7 | DX7 V | FM synth |
buchla | Buchla Easel V | West coast |
surge | Surge XT | Open source synth |
kick | Kick 3 | Kick drum synth |
drums | Heartbeat | Drum machine |
bass | Mini V3 | Bass (uses Mini V) |
sublab | SubLabXL | Sub bass |
monoment | Monoment Bass | Bass synth |
Effects
| Keyword | Plugin |
|---|---|
delay | Tube Delay |
valhalla | ValhallaRoom |
widener | Softube Widener |
soothe | soothe2 |
tube | Dist TUBE-CULTURE |
Channel Strips
| Keyword | Plugin |
|---|---|
console1 | Console 1 |
Automation Macro Names
Semantic macro names are mapped to real plugin parameter names automatically. Use these in step or ramp automation.Synth Macros
| Macro | Controls |
|---|---|
brightness / cutoff | Filter cutoff frequency |
resonance | Filter resonance |
attack | Amp/filter attack time |
decay | Amp/filter decay time |
release | Amp/filter release time |
Drum/Bass Macros
| Macro | Controls |
|---|---|
pitch | Oscillator/sound pitch |
decay | Sound decay time |
volume | Output level |
drive | Distortion/harmonics amount |
Effect Macros
| Macro | Controls |
|---|---|
mix | Wet/dry mix |
decay | Reverb decay / delay feedback |
width | Stereo width |
Channel Strip Macros (Console 1)
| Macro | Controls |
|---|---|
input_gain | Input gain |
comp_thresh | Compressor threshold |
comp_ratio | Compressor ratio |
eq_mid_gain | EQ mid band gain |
low_cut | High-pass filter |
cont — Pattern Continuity
Use cont in a section to continue a channel’s pattern phase from the previous section (rather than restarting from beat 1):
cont, each section resets the pattern/note/velocity counters to 0. With cont, the counters pick up where the previous section left off, creating seamless transitions.
Track Types
| Type | Description |
|---|---|
midi | MIDI track (default) — plays notes through instrument plugin |
audio | Audio track — plays audio samples or Lyria-generated audio |
Complete Example
Tick Reference
All timing in Bird is based on a 384-tick bar (96 ticks per beat in 4/4):| Unit | Ticks |
|---|---|
| Whole note (bar) | 384 |
| Half note | 192 |
| Quarter note (beat) | 96 |
| Eighth note | 48 |
| Sixteenth note | 24 |
One t tick | 1 |
sw and t timing features operate in this tick space.