an oto guide · by ear nº7

MIDI, by ear

MIDI connects synths, drum machines, and DJ controllers, but it carries no sound at all. It carries instructions. This guide teaches you the language, and every press shows the actual bytes while a live synth follows them.

headphones on · nothing to install · every sound is made live in your browser
rig 00 · the whole ideapress and hold
press here: you are about to send a message, not a sound
the wire is silent. press the pad.

Three bytes went down the wire when you pressed, and three more when you let go. The synth on this page read them and made the sound itself. The gesture travels while the sound stays in the instrument. That separation makes electronic music composable. Let's learn the language.

01 the message 02 velocity 03 knobs (CC) 04 pitch bend 05 channels 06 the sequencer 07 playground 08 in oto
01 · the message

Sound isn't sent. Intent is.

In 1983, synth makers had a problem: a Roland couldn't talk to a Sequential, and nobody's keyboard could play anybody else's box. So the rivals did something almost unheard of: they agreed on one shared language and gave it away for free. MIDI: the Musical Instrument Digital Interface. Forty years later it is still version 1.0 at heart, still everywhere, and still one of the most successful standards ever shipped.

The design is compact. A MIDI message is usually just three bytes: three numbers between 0 and 255. The first byte is the status: what kind of event this is, and which channel it's for. The next two are data: which note, how hard. That's it. Press a key and the wire carries 90 3C 64: "note on, middle C, pretty firm." Release it and 80 3C 40 follows: "note off." The receiving instrument decides what those instructions sound like.

Think of a player piano roll: holes in paper that mean "press this key now." MIDI is that roll, moving at the speed of electricity. It's why one melody can play a piano today, a choir tomorrow, and a wall of acid bass on Friday: the notes never married the sound.

rig 01 · one note, six bytespress · hold · release
press = note on · release = note off
waiting…
TRY  Hold the pad and read the first message: 90 means note on, the second byte is the note number, the third is how hard. Now move the note slider and press again: only one byte changed. You just read raw MIDI.
In Oto: this separation is our founding bet, one level up. MIDI splits the gesture from the sound; Oto splits the intent from the execution. "Bring it in softer" is a status byte with better manners.
02 · notes + velocity

128 notes, and how hard you meant them.

MIDI numbers every pitch from 0 to 127: about ten octaves, more than a piano. Middle C is note 60. Add 12 and you're an octave up. That's the entire pitch system: one byte, one number line.

The third byte is where the feel lives. Velocity measures how fast the key was moving when it hit bottom. In practice, it captures how hard you played on a scale from 0 to 127. A good instrument maps velocity to more than volume: hit harder and a real string doesn't just get louder, it gets brighter. Synths copy that trick by letting velocity open the filter. One byte carries the difference between a whisper and a stab.

Here's the detail that makes drum machines swing: velocity is why two identical patterns can feel completely different. The notes and grid stay the same, but the third bytes change. Those small differences create the groove.

rig 02 · the velocity keyboardstrike lower on a key = harder
the vertical spot you press stands in for how fast a real key would travel: top of the key = gentle, bottom edge = full force. listen for loud and bright.
waiting…
TRY  Play the same key three times: near the top, the middle, the bottom edge. Watch the third byte change and hear the note move from gentle to hard. Then play a little melody varying your touch. That's the byte drummers obsess over.
In Oto: when Oto rides energy across a night, it's doing velocity thinking at set scale: not just what plays next, but how hard it should land. Same notes, different intent, different room.
03 · control change

Every knob is a sentence.

Notes are only half of music. The other half is continuous control: riding a filter, easing a fader, or leaning on a mod wheel while notes ring. MIDI carries all of it with one message type: Control Change, or CC. Status byte B0, then a controller number (which knob), then a value (where it's turned). Turn a physical knob and it doesn't send one message: it sends a stream, dozens per second, tracing your hand.

A few controller numbers are famous. CC 1 is the mod wheel, on the left of nearly every keyboard since the Minimoog. CC 74 is "brightness," which almost every synth wires to the filter cutoff. CC 7 is volume, CC 64 the sustain pedal. But most of the 128 slots are unassigned on purpose: which is why every DJ controller ever made can map "this knob" to "that parameter." MIDI mapping is CC assignment. When you map a filter to a knob in Rekordbox, you're doing protocol work.

rig 03 · two knobs, one dronewatch the stream
start the drone, then move a knob…
TRY  Start the drone, then drag brightness slowly and watch the wire flood: every pixel of your drag is a message. That flood is what "recording automation" actually records. Then give the mod wheel a push: same message type, pointed at vibrato instead.
In Oto: when you say "darker into the next one," Oto's planner emits exactly this: a scheduled ramp of filter values across a phrase. A human hand on CC 74, replaced by a sentence. The protocol underneath doesn't care whose hand it was.
04 · pitch bend

Pitch bend uses higher resolution.

Notes snap to a grid: twelve steps per octave, no in-between. But real musicians live in between: guitar bends, vocal slides, a 303 line smearing up to its note. MIDI's answer is pitch bend, a wheel that nudges every sounding note smoothly away from the grid and springs back to center when you let go.

Pitch bend is an exception in the original MIDI design. Every other value in MIDI fits in 7 bits: 128 steps. For pitch, 128 steps isn't enough: your ear would hear the staircase. So pitch bend gets two data bytes glued together: 14 bits, 16,384 positions, with 8,192 as dead center. It is the only place in the original protocol with this extra resolution because the ear notices small steps in pitch.

rig 04 · the wheeldrag up/down · it springs back
8192 of 16384 · ±0.00 semitones
two 7-bit bytes → one 14-bit value:
E0 00 40
start the note, then drag the wheel…
TRY  Start the note and drag the wheel up as slowly as you can. Thousands of positions glide by with no staircase in the sound. Now flick it and let go: the spring-back to exactly 8192 is built into the hardware of every wheel ever made.
In Oto: pitch bend is the protocol ancestor of the DJ's tempo nudge: a small, temporary lean away from the grid that always comes home. When Oto beat-matches two tracks, it's making thousands of these micro-corrections so you never have to.
05 · channels

One wire, sixteen addresses.

Look back at that status byte, 90. Only the 9 means "note on." The second half of the byte is a channel, 1 through 16: an address written on the front of every message. 90 is note-on for channel 1; 91 is the same message for channel 2.

Here's the part beginners miss: the wire carries everything to everyone. Channels don't split the cable: every instrument hears every message and simply ignores what isn't addressed to it. Set your bass synth to channel 1 and your lead to channel 2, and one cable runs a whole band. It's why General MIDI put drums on channel 10, and why a single old-school sequencer could conduct a rack of hardware like sixteen musicians reading one score.

rig 05 · one cable, two instrumentsfilter at the receiver
press play…
TRY  Play both parts, then switch to ch 1 only. The lead vanishes from your ears. But keep watching the wire: its messages still arrive, dimmed. Nothing was removed from the cable. The receiver just stopped caring. That's channels.
In Oto: a set is multichannel thinking too: vocals, drums, bass moving as separately addressable layers of one stream. Stem separation, covered in guide nº5, is the modern way to get those channels back out of a finished song.
06 · the sequencer

A score that plays itself.

Once music is messages, something huge follows: messages can be stored, edited, and replayed. A sequencer is just a clock that sends note-ons at the right moments. Record a take, drag one note, quantize the timing, or transpose everything up a fifth. You are editing a list of numbers, not audio. A DAW piano roll shows that list visually, and a .mid file saves it as a compact score rather than a recording.

Timing rides the same wire. MIDI defines a clock message that ticks 24 times per quarter note, which is how drum machines chained together stay locked to one tempo: the ancestor of every sync button you've ever pressed.

rig 06 · sixteen steps in A minoreach lit cell = one note-on you scheduled
rows: A2 · G2 · E2 · D2 · C2 (top → bottom)beats 1 · 2 · 3 · 4
toggle some cells, press play…
TRY  Draw a bassline (start simple: one note per beat), press play, and watch your drawing become a stream of note-ons. Now change the tempo mid-playback: the notes are untouched; only the clock moved. That edit was impossible on tape.
In Oto: a drafted night is a sequence: a scored list of intents (this track, this blend, this filter ramp, at this phrase) that stays editable until the moment it plays. "Move the peak later" is dragging a note in a piano roll the size of an evening.
07 · the playground

Speak it yourself.

This instrument brings the vocabulary together: notes with velocity, a mappable brightness knob, pitch control on the arrow keys, and a monitor that reads every byte. If you own a MIDI keyboard or DJ controller, plug it in and press connect a controller: this page speaks fluent hardware. (Browsers only allow that on a secure page and will ask permission; if it's not available here, the on-screen keys speak the identical language.)

rig 07 · the full wirekeys: A S D F G H J K · sharps: W E T Y U
play something…
TRY  Hold a chord on ASDF-row keys and sweep brightness. Then, if you have hardware handy, connect it and play the same chord: the monitor can't tell your controller from the on-screen keys. That's the point. It's one language, and now you read it.
08 · how oto uses this

Intent can travel separately.

MIDI demonstrates a core idea behind Oto. In 1983 the industry separated what you meant from how it sounded. Once intent became data, music became easier to edit, move, and share. Those three-byte messages made sequencers, DAWs, controllers, and home studios possible.

Oto runs the same move one level up. Where MIDI encodes "C4, this hard, now," Oto encodes "warmer for the next ten minutes, peak around one." A drafted set is a score of intents: reviewable before it plays, editable while it plays, portable across whatever library and gear tonight happens to hold. And when you map a physical controller to Oto, the loop closes completely: your hardware sends CC messages, chapter three's exact vocabulary, into a system whose whole job is translating gesture into a night.

midi saysoto says
90 3C 64 · note on, this hard"open with something warm"
B0 4A ·· · ride the brightness"darker into the next one"
E0 ·· ·· · lean off the grid, come home"hold the moment… now land it"
clock · 24 ticks a beatone pulse for the whole room
a .mid file · the score, not the tapea draft of the night, editable until it plays

Forty years of dance music run on a protocol you can now read byte by byte. New music interfaces can build on the same idea in plainer words.

Oto Labs · keep listening

Continue by ear.

Oto · private beta

Turn intent into a night.

You just spoke to a synth in raw bytes. Oto lets you direct an entire set in plain language.

Join the waitlist