Help Topics for
Application Overview
      Summary of Entire Process
      What this program can NOT do
      Advantages of Online Program
Midi Player
      Event List
      Add Note Event
      Edit Note Event
      Drum Kit
      Chords and Keys
      Microtonal Synth
Range Features
      Copy Range
      Edit Range
Controller Events
      Add Controllers
      Series of Controllers
      Notes and Controllers
      Create and Render Pattern
Tempo Features
Other Features

Application Overview is an Online Midi Editor and Player. You can view and edit the Pitch, Velocity, and Duration of every Midi Event; and Copy, Transpose, Change Durations, and Change Velocities for Notes in any time Range. You can also add and edit Controllers and Pitch Bends, and create a Series of Controllers in any time Range.

Summary of Entire Process

You can use to create a new midi file, or you can edit existing midi files that were created by any other program.

The following websites contain hundreds of midi files that you can download for free:
   Classical Archives

After you create or import your midi file, and complete all your modifications, you will then Download the midi file to your computer.

The final step is to use Audacity to convert your midi file to a .wav or .mp3 file. Audacity also has excellent effects that you can add to your compositions.

You can then upload your .wav file to SoundCloud, so the entire world can hear your glorious creation.

What this program can NOT do

  • The Sounds are Just for Reference: The online instruments are not intended to be high quality, and sounds will occasionally drop-out. Their small data sizes allow for fast downloads, so you don't have to wait a long time for a midi file to play. To hear full audio quality: Download the midi files and use Windows Media Player to play them through your sound card.
  • It Only Plays Notes, and Not Control Changes: If you import a midi file that contains System Exclusive Messages, Program Changes, or any data other than notes, then the non-note data will not be heard when the midi file is played at this website. However, Controllers and Pitch Bends that you edit on this website are heard when you download the midi file and play it through your sound card.
  • Always 4/4: You can't change the time signature.

Advantages of Online Program

Although there are many midi editing programs that you can download, here are a few advantages of using an online program instead:
  • Downloaded Programs Are Risky: Whenever you download a program, you are allowing the developer of that program to have complete control of your computer.
    It is much safer to use an online program, since the Chrome browser prevents websites from causing damage to your computer.
  • It's Free: Most downloaded programs are not free. They may allow you to run their program for a limited amount of time, but then you have to pay. is 100% FREE.
  • Updates Are Immediate: You don't have to take any actions to benefit by the additional features that are continually being added to
  • Use From Any Computer: It sometimes takes hours to move a downloaded program from one computer to another. instantly runs the first time, from any computer.

Midi Player

After you Import a midi file (or create a new midi file), you can play it by clicking the Play button at the top of the screen.

While a midi file is playing, changes you make to settings will not affect the playback. To hear changes you make to settings, you must click the Stop button, and then click Play again.

Clicking the Rewind button is the same as clicking Stop and Play. When a midi file is playing, the Play button changes to the Pause button.

The Start Playing At textbox allows you to start the playback at any location in the midi file. You may also click anywhere in the Player Progress bar, to start the playback at any location.


The left side of the screen lists all the Tracks in the midi file. Clicking View will display that Track's notes in the Event List.

You may edit the following parameters for each Track:
  • Track Name
  • Instrument
  • Midi Channel
  • Solo: If any Track has been Solo'd, then only Solo'd Tracks will be heard when the midi file is played.
  • Mute
  • Volume: This is the initial Volume (Controller #7) of the track.
  • Pan: This is the initial Pan (Controller #10) of the track.
IMPORTANT: All Controllers (including Volume and Pan described above) will not affect the sound when a midi file is played at this website. However, Controllers will affect the sound when you download the midi file and play it through your sound card.

Deleting a Track: Clicking the Red X will cause a Track to be Deleted. If any Track has been Solo'd, then you will be prompted "Do you want to Delete all Tracks that are not Solo'd?". This is an easy way to Delete ALL Tracks except the ones that have been Solo'd.


Event List

The middle of the screen displays a list of the Notes or Controllers in the selected Track. You can view a different Track's events by clicking that Track's View button (on the left side of the screen).

The Event List also displays the Chords and Keys that are assigned to all Tracks. Chords and Keys are used by Patterns (which is described later).

When a midi file is Paused, the Event List will highlight the event that will be played next.

Add Note Event

To Add Note Events to the current Track, select Notes from the Notes/Controller dropdown box (located to the right of the Track# caption, and to the left of the Range textboxes), then click keys on the virtual synth keyboard at the bottom of the screen. The following parameters (located just above the synth keyboard) will determine the events that are added:
  • Note / Pattern / Chord / Key: These are the four types of events that you can add. A Chord or Key will affect all Tracks. The Pattern option is explained in detail later.
  • M:B:T: The Measure:Beat:Tick when the Note will occur.
  • Velocity: A number from 1 to 127.
  • Duration: A value entered as Beat:Tick. For example, if there are 120 ticks per beat then a Duration of 1:60 would last 1 1/2 beats. You may also select a Duration by clicking one of the note images that appear directly above the Duration textbox.
  • Step By: Determines the M:B:T of the next event that you add. A value of 1:000 will allow you to continually enter notes one beat apart. To enter multiple events that occur at the same time, enter 0 as the Step By amount, and the M:B:T will then not change when you add new events.
  • Range: Determines the note range of the virtual synth keyboard.
  • Sound: The virtual synth keyboard may sound like a keyboard or guitar.

Edit Note Event

Clicking a note in the Event List will cause its data to be displayed in the four textboxes located directly beneath the Event List. You can then edit those four textboxes (M:B:T, Pitch, Velocity, and Duration), and the selected row in the Event List will immediately reflect changes that you make.

Delete Event: Click the event you want to Delete, and press the [Delete] key.
Sort Events: To place the events in chronological order (by M:B:T), click [Sort] (above the Event List).

Chords and Keys

The same Chords and Keys are displayed on all Tracks. Chords and Keys are used with Patterns, which is explained later.

When Chord is selected (above the virtual synth keyboard), clicking a key on the synth keyboard will add a Chord to the Event List. To add a Minor Chord, select Minor before clicking a key.

When Key is selected (above the virtual synth keyboard), clicking a key on the synth keyboard will add a Key to the Event List.

Drum Kit

The Drum Kit is the last entry in each instrument dropdown box (on the left side of the screen). The Drum Kit has a different percussion instrument assigned to each note. Click here to display the Midi Percussion Key Map.

IMPORTANT: You must assign a track to Channel 10 for your sound card to correctly play a Drum Kit.


To enable Microtones, click the [Microtonal] button for any Track (on the left side of the screen). You may then add plus signs to raise a pitch by 1/8 steps. For example, G++ is 1/4 step higher than G. The three possible microtones for each note (+, ++, and +++) are sent to three separate midi channels that are raised in pitch by 1/8, 1/4, and 3/8 steps.

The Microtonal feature uses four channels (the original pitch, plus three additional eighth-steps), so the next three midi channels must be available for the Microtonal feature to be enabled. Channel 10 is reserved for a drum set, so a Microtonal Track must be set to one of the following midi channels: 1, 2, 3, 4, 5, 6, 11, or 12.

Microtonal Synth

The sounds shown in the Instrument dropdown are not affected by pitch bends, so you may select one of the following Microtonal Synth waveforms to preview a Microtonal Track: Sawtooth, Square, Triangle, or Sine. These synth sounds are just for reference, and are not intended to be high quality.

The selected Instrument will still be used when you Download the Midi File. Most sound cards and synthesizers default to a 4-half step pitch bend (one full step up, and one full step down), so the Microtonal features will allow you to hear the pitches in 1/8 step intervals.

Range Features

You may enter the Range Start and Range End in the two textboxes located above the Event List. Each textbox will accept time values in the M:B:T format (Measure:Beat:Tick).

For an event to be within the Range, its M:B:T must be greater than or equal to the Range Start, and less than the Range End.

For example, if the Range End is 2:01:000, then an event at 2:01:000 would not be within the range, since it is not less than the Range End. Before you Download a Midi File, you should remember to click the [All] button (to the right of the Range End textbox), because the [Download Midi File] feature will only download events that fall within the selected Range.

Copy Range

The [Copy Range] button (located on the right side of the screen) will copy events from the current Track that fall within the Range. The following parameters are used:
  • Destination: The M:B:T time location that the events will be copied to.
  • To Track: This will default to the current Track. You may also copy events to any other Track, or to a Pattern. The To Track will automatically become the Current Track after the events are copied.
  • Replace / Insert: If Replace is selected, all events within the Range will be deleted from the Destination track, before the events are copied.
    If Insert is selected, existing events in the Destination track within the Range will be moved up to make room for the copied events.
  • Repetitions: The number of consecutive times that the copied events will be pasted.
  • Include Chords and Keys: If this is checked, then the Chords and Keys within the Range are also copied.

Edit Range

Clicking the [Edit Range] button will display a popup screen with the following features that will be performed to notes in the current Track that are within the selected Range:
  • Delete Notes: All notes within the Range are deleted. If Collapse Deleted Area is checked, then subsequent notes are moved backwards, to fill the deleted area.
  • Transpose Notes: Use the dropdown box to select the number of half-steps that you want to Transpose. An octave is 12 half-steps.
  • Insert Blank Space: Notes in the Range are moved up, and the Range is replaced with blank space.
  • Change Durations: You may select a constant Duration that will be assigned to all notes in the Range, or a Percentage of Current Duration.
  • Change Velocities: You may select a Start and End Velocity that will be evenly disbursed throughout the Range, or a Percentage of Current Velocity.

If Include ALL Tracks is checked, then the features described above will be performed to all the Tracks in the midi file.

If Include Chords and Keys is checked, then the features are also performed to the Chord and Key events (within the selected Range).

To continue with this tutorial, click the [Close] button on the Edit Range popup screen.

Controller Events

IMPORTANT: This program only displays Controllers that were created from within this program. If an Imported midi file contains Controllers that were not created by this program, then those Controllers will not be shown on this website.

To add and edit Controller Events, select Controllers from the Notes/Controller dropdown box (located to the right of the Track# caption, and to the left of the Range textboxes).

Controllers will not affect the sound when the midi file is played at this website. To hear the Controllers and Pitch Bends that you edit on this website, download the midi file and play it through your sound card.

Add Controllers

The following steps will allow you to add just one Controller:
  1. Select Controllers from the Notes/Controller dropdown (towards the top of the screen).
  2. Select a Controller Type from the Add Controller dropdown (towards the bottom of the screen).
  3. Select a Time in the Start M:B:T textbox.
  4. Enter a Value for the selected Controller.
  5. Click [Add One Controller].
You may add and edit the following Controller Types. Except for Pitch Bend and Pitch Bend Sensitivity, all Values are 0 to 127.
  • Pitch Bend: Values are 0 to 16383. For no change in pitch, set to 8192.
  • Modulation: Usually affects vibrato depth.
  • Volume: Overall volume of the track. Each note's Velocity also affects that note's volume.
  • Pan: The left-to-right sound of the track. A setting of 64 is in the middle.
  • Pitch Bend Sensitivity: Determines the number of Semitones that the Pitch Bend control will affect. When Semitones is set to 2, a Pitch Bend Value of 0 will be 1 full step below normal pitch, and a Value of 16383 will be 1 full step above normal pitch.
  • All Other Controllers: You may also create controller events for any of the other allowable controller numbers (0 to 127).

Series of Controllers

To create a gradual change from one Controller Value to another, follow the instructions described above to add one controller (except don't click [Add One Controller]), and then do the following three steps:
  1. Select a Time in the End M:B:T textbox.
  2. Enter an ending Value for the Controller Series.
  3. Click [Add Series of Controllers].
If your midi file contains many lengthy Controller Series, then the number of midi messages may become excessive. To prevent this, you may change the Granularity for Series of Controllers, which allows you to select the number of Controllers that are added in each Controller Series.

Notes and Controllers

If the Notes and Controllers box is checked next to any of the following Controller features, then that feature will affect both Notes and Controllers in the selected Range:
  • Copy Range
  • Delete Range
  • Insert Blank Space
Otherwise, each feature will only affect Controllers (and not Notes).



Imagine entering just two notes, and your entire bass track is created. And then enter three more notes, and your rhythm guitar track is done.
Patterns are used to create new notes for your entire midi file (or a time Range), which have the same relative position with the chords and keys that you enter. This is exemplified below.
Here are the chord and key changes for Giant Steps by John Coltrane:

Chords BM7  D7GM7 Bb7EbM7    Am7 D7GM7 Bb7EbM7 F#7BM7    
KeysB    G    EbG    Eb     B
PatternB D# D F#G B Bb DEb G Ab BbA C D F#G B Bb DEb G F# A#B D# E F#
If a Pattern of notes was entered as C E F G (relative to the key of C), then the Pattern shown above would be rendered. The four notes are treated as their relative position of 1 3 4 5. This is different than simply transposing, which would cause the Am7 chord to be rendered as A C# instead of A C
This example would be created from the following pattern: C E G A

PatternC E G AE G# B CA C E F#F A C DF# A# C# DG B D E
You will notice that the root, 3rd, and 5th will always match the Chord; but the 6th (which is A in the key of C) is affected by the Key.

Create and Render Pattern

To create a Pattern, first click the Pattern square on the left side, just above the synth keyboard.

Adding Pattern notes is the same as adding notes to the Event List, except the notes will be added to the Pattern List (on the right side). Select the parameters directly above the synth keyboard, and click the synth keyboard to add notes. You will normally want your Pattern to start on the first beat (1:01:000).

Clicking [Render Pattern] will cause the Pattern to be repetitively rendered for each Chord in your song. Therefore, a Pattern can only be rendered if the Event List contains at least one Chord. The Pattern will only be rendered within the selected Range. For example, if the End Range is set to 5:01:000, then all Chords on-or-after 5:01:000 will not be rendered.

The Pattern is relative to the Key that is selected at the top of the Pattern List. For example, if the Pattern Key is G, then a B note will represent the 3rd note of the scale. If a D Chord was in your song, then the Rendered Pattern would insert F# (the 3rd note in a D scale).

To save a Pattern with your midi file, enter the Pattern as notes in a "dummy track" that is muted. You can then Copy the notes from the Track to the Pattern, by selecting Pattern in the To Track dropdown.

Tempo Features

The Tempo textbox (at the top of the screen) will allow you to select the beats-per-minute (bpm) for your song. Allowable entries are 5 to 900.

The ticks per beat (shown to the right of the Tempo textbox) will default to 120. The midi files that you Import may contain a different ticks per beat.

The ticks per beat will affect the M:B:T and Duration values that are used by the song. For example, when there are 120 ticks per beat, a value of 60 is equal to 1/2 of a beat.

Split or Double Tempo: This allows you to match the Tempo of any Drum Sample, without altering the pitch. For example, if your Midi File is 240 bps, splitting the Tempo will cause all M:B:T and Duration time values to be split in half, so the Tempo will become 120 bps.

Other Features

Download Midi File: The Downloaded file is always named MidiProOrg.mid. Before you download a midi file, you should remember to click the [All] button (to the right of the Range End textbox), because the [Download Midi File] feature will only download events that fall within the selected Range.

Load Blank File: This button will Delete all Tracks and Notes, and leave just one blank Track with no notes. The Pattern List will remain unaltered.

Load Sample: The following sample midi files have been provided. Our home page allows you to hear the completed version of these files, which were processed with Audacity.
  • Giant Steps by John Coltrane
  • Sonata Pathetique by Ludwig van Beethoven
  • Toccata by Aram Khachaturian