Open a MIDI file and hear it instantly, with a scrolling piano roll that shows every note. Slow it down or speed it up, transpose it, mute or solo tracks to practise along, and save the result as a WAV file. No plugins, no upload.
0:00 / 0:00
Tracks
Shortcuts: Space play / pause, ←→ skip 5 seconds. Sounds are generated by a built-in synthesizer.
Advertisement
Advertisement
How to use the MIDI Player
Open a MIDI file: drop a .mid or .kar file on the box or click to choose one. A demo song is loaded so you can try the player right away.
Press Play. The piano roll scrolls with the music; click anywhere on it, or drag the position slider, to jump.
Change the tempo or key with the Tempo and Transpose controls. Tempo changes speed only, not pitch.
Mute or solo tracks in the track list, for example to hear only the bass or to play the melody yourself.
Download WAV to save an audio recording of the song with your current settings.
What is inside a MIDI file
A Standard MIDI File starts with an MThd header (format, number of tracks and the time division) followed by one MTrk chunk per track. Each track is a list of events, and each event is preceded by a delta time: the number of ticks to wait since the previous event. The most important events are:
Event
Bytes
Meaning
Note On
9n kk vv
Start key kk (60 = middle C) on channel n with velocity vv (1–127). Velocity 0 means Note Off.
Note Off
8n kk vv
Release key kk.
Program Change
Cn pp
Choose instrument pp (0–127, General MIDI list) for the channel.
14-bit bend value; 8192 is the centre, default range ±2 semitones.
Set Tempo (meta)
FF 51 03 tt tt tt
Microseconds per quarter note; 500,000 = 120 BPM.
Time / key signature (meta)
FF 58 / FF 59
Bar length and key, used for the bar numbers shown on the piano roll.
To turn ticks into seconds, the player uses the tempo map: seconds = ticks × (microseconds per quarter note ÷ 1,000,000) ÷ ticks per quarter note, applied piece by piece between tempo changes. At 120 BPM and 480 ticks per quarter note, one tick lasts about 1.04 ms. Channel 10 is reserved for drums, where each key number is a different drum (36 = bass drum, 38 = snare, 42 = closed hi-hat, 49 = crash cymbal).
Tips for practising with MIDI files
Learn a part slowly: set Tempo to 50–75%. Notes are rescheduled, so the pitch stays the same.
Play along: mute the melody track and play it yourself on your instrument or the Online Piano.
Hear one part: press Solo on the bass or the left-hand piano track to hear exactly what it does.
Match your voice or instrument: transpose a few semitones down for a lower singing range, or up to a key that suits your instrument.
Karaoke .kar files are ordinary MIDI files with lyrics added, so they play here too.
Frequently asked questions
What is a MIDI file?
A MIDI file (.mid) contains no recorded sound. It stores musical instructions: which note to play, when, how hard and with which instrument. A synthesizer turns those instructions into sound, which is why the same file sounds different on different players.
Why does the MIDI file sound different from other players?
Each player uses its own instrument sounds. This player uses a lightweight built-in synthesizer that generates every instrument family with oscillators and filters, so it loads instantly and works offline, but it will not sound like a large sampled sound bank or a real instrument.
Which MIDI files are supported?
Standard MIDI Files of type 0 (single track) and type 1 (multi track) with .mid, .midi or .kar extension, and RIFF MIDI (.rmi). Tempo changes, SMPTE timing, running status, sustain pedal, volume, expression, pan and pitch bend are read. Type 2 files are rare and are played track after track as one sequence.
Can I slow down a MIDI file to practise?
Yes. Set Tempo to 50% or 75%: notes are rescheduled, so the music gets slower while every note keeps its pitch. Use Solo or Mute to isolate or remove the part you want to practise.
How do I convert MIDI to WAV?
Load the file, set the tempo, transpose and track mutes you want, then press Download WAV. The song is rendered with the built-in synthesizer as a 16-bit 44.1 kHz stereo WAV file, which you can convert to MP3 with the Audio Converter.
Is my file uploaded?
No. The MIDI file is read by JavaScript in your browser and played with the Web Audio API. Nothing is sent to a server.
Does it work on phones?
Yes, in current mobile Chrome, Safari and Firefox. On iPhone, switch off silent mode if you hear nothing, because Web Audio follows the ringer switch.