MIDI - A Short Overview
MIDI (Musical Instrument Digital Interface) is a digital protocol for describing performances - not audio. Instead of recorded sound, a MIDI file stores a timeline of compact events like “press note 60 with velocity 100 on channel 1”. Any synthesizer that follows the spec - software or hardware - can then play the same file with a completely different sound.
MIDE editors like this one let you record, view, and reshape those events directly. Below is the bare minimum vocabulary you need to feel comfortable in the editor; for the full normative spec head over to midi.org.
Tracks & Channels
A MIDI file groups events into tracks - logical lanes that usually map to one instrument or section (lead, bass, strings, drums…). Tracks are an editing convenience; the playback engine only cares about channels.
There are 16 MIDI channels per port, each carrying its own sound (set by a Program Change). By long-standing General MIDI convention, channel 10 is reserved for percussion - every note number on that channel maps to a different drum hit instead of a pitch. A single track can route different events to different channels (handy for split string sections, layered pads, or splitting a guitar into palm-mute and clean voices).
🎚️ Track
Editor-side grouping. Used for color-coding, mute/solo, and visual layout. Has no effect on what the synth plays.
📡 Channel
Playback-side address (1-16). Determines which voice / patch produces the sound and is what the synthesizer actually receives.
MIDI Events
Everything in a MIDI file is an event with a tick-accurate timestamp. The editor surfaces these in the event list, the matrix, and the various tool dialogs. Below are the ones you'll meet most often.
The pair that defines a played note. Note On with velocity > 0 starts the sound; Note Off (or Note On with velocity 0) ends it.
On channel 10 the note number selects a drum (kick, snare, hi-hat…) rather than a pitch. The General MIDI drum map is the de-facto standard.
Sets the playback tempo at a given tick. Multiple tempo events can be used to script accelerandos, ritardandos and fermatas.
Defines the meter - e.g. 4/4, 3/4, 7/8. Drives the bar grid in the editor and any quantize / strum tools that need beat alignment.
Marks the song's tonal centre. Used for transpose helpers and any AI prompt that needs to reason about scale-aware edits.
Switches the instrument assigned to a channel - “Acoustic Grand Piano”, “Church Organ”, “Distortion Guitar”, etc.
Per-channel automation: volume (CC 7), pan (CC 10), modulation (CC 1), sustain pedal (CC 64) and many more.
Smoothly bends every note on a channel. The default range is ±2 semitones and can be widened via RPN messages.
How hard you keep pressing after the note starts. Comes in poly (per-key) and channel (whole channel) flavours.
Free-form text: track names, copyright, lyrics, and the karaoke metadata used by MidiEditor AI's lyric editor.
Vendor escape hatch. Synth makers use SysEx to push patches, request firmware data, and send anything outside the core spec.
MIDI I/O
Whether your synthesizer is a DLL running inside the editor or a hardware keyboard connected over USB, MidiEditor talks to it the same way: through a MIDI port. Pick the input port to record, the output port to play back. On Windows the editor ships with the bundled FluidSynth output so you always have something to listen to, even with no hardware attached.
Modern setups can also speak RTP-MIDI (MIDI over the network) and USB-MIDI class-compliant devices - both appear as ordinary ports here. For FFXIV bards specifically, the editor exposes the FFXIV Channel Fixer and the Voice Limiter to keep the in-game audio engine happy.
📚 Learn more
Looking for the authoritative spec or a deeper dive? These are the references the editor and its docs were built against.