--5ab6bb2db0c2e2e6 x-next-cache-tags: _N_T_/layout,_N_T_/page,_N_T_/ vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch Musiccoda — Type Music
NEW
The music programming language

Write music
like you write code.

Musiccoda is a plain-text music notation language for programmer-musicians. Compose, multi-track, record, and export — all from a file you can git commit.

fur_elise.mcoda
1
TRACK TIMELINE
MelodyPiano
BassElectric Bass
PadStrings
C3
C4
C5
12
Instruments
Plain text
File format
Web Audio
No plugins
WAV export
Render anywhere
Git-ready
Version control your music
For musician-coders

You already think in tokens.
Now compose in them.

Traditional notation software was designed for print. Musiccoda was designed for how programmers think — text-first, structured, expressive. A note is a token. A chord is a bracket expression. A rest is just a dash.

It runs in the browser, parses in milliseconds, and plays back instantly. Your composition lives in a .mcoda file — 40 lines, no binary blobs, no proprietary formats.

Language reference

The syntax is simple.
Because it should be.

Six concepts. Learn them in ten minutes, compose anything.

mcoda syntax · notes
a4   // C, quarter note (oct 4)
c58  // E5, eighth note
f32  // A3, half note
how it works
Notes

letter + octave + duration

Note mapa b c d e f g
= C D E F G A B
` prefix = sharp
Token format
[`]<letter><octave><dur>
Default octave
4 (can omit)
Durations
1 2 4 8 6 3
Rest
-<dur>
Chord
[notes]<dur>
Barline
| (cosmetic)
How it works

Write → Parse → Play.
Nothing else in the way.

01
Write

Open any text editor or use the built-in IDE. Type your notes as tokens. Headers set tempo, time signature, key. The --- separator marks the start of notation.

c58 `b58 c58
e48 e48 f48
02
Parse

Musiccoda's parser tokenizes your notation in real time. Errors surface inline. Notes, chords, and rests become a typed score object with beat-accurate timing.

// 6 notes parsed
// tempo: 90 BPM
// 0 errors ✓
03
Play

Web Audio API synthesis fires sample-accurate. See the beat indicator pulse, watch notes light up on the piano, export the full mix or individual tracks as WAV.

▶ Playing track 1
♩♩♩ 90 BPM
⬇ Export .wav
Built-in keyboard

A piano that's also
a MIDI controller.

Play notes from your QWERTY keyboard or tap the on-screen piano. Notes highlight during playback. Record live and get .mcoda output automatically.

🎹 LIVE PIANO — Playing: Für Elise opening
C2
C3
C4
C5
C6
Q–UC3–B3
A–JC4–B4 ★
K O L PC5–F5
2 3 5 6 7sharps
Spaceplay/stop
Everything you need

Built different.
For builders who make music.

Text-first composition

Write music the way you write code. Plain text, version-controllable, diffable, reviewable. Git your compositions.

🎹
Live piano input

Play notes from your keyboard or on-screen piano. Every key mapped, every octave reachable. Record directly into notation.

🎛
Multi-track DAW

Stack unlimited tracks. Solo, mute, volume per track. Independent instruments. Like a DAW but your session is a text file.

🎙
Record & transcribe

Play, record, and get .mcoda output. Live notes converted to notation with chord detection and rest inference.

📤
Export to WAV

Render any track or the full mix to WAV. No plugins, no DAW required. Pure Web Audio API synthesis.

🔤
12 instruments

Piano, electric bass, strings, brass, synth pads, and more. Each with its own color and character in the timeline.

Instrument palette

12 instruments.
One track per line.

Grand Piano
Electric Bass
Strings
Brass
Synth Pad
Organ
+6 more
TRACKS (3)
Melody
Piano
c58 `b58 c58 `b58 c58 | g48 b58 a58 f44 -8
Bass
Electric Bass
-3 -4 f28 a38 c34 -4 | c28 `e28 g24 -4
Pad
Strings
[f3a3c4]3 | [c3e3g3]3 | [f3a3c4]3
Open source · Web Audio · No install

Start composing.
Right now.

No account, no download. Open the editor and write your first note in thirty seconds.

Open MusiccodaView on GitHub
--5ab6bb2db0c2e2e6--