This program is designed to help you make changes to midi files. A midi file is a record of a performance on midi devices, such as electronic pianos. You can make changes to a midi file to correct bad notes, or bad timing, and generally correct a recorded performance. The program also displays full information about the file, tracks, and notes.
You can play the file immediately, or save the changes in a new Midi file. Midi files can be recorded and played using standard utilities.
This program is not recommended for creating a midi file from scratch. You could use my Music Notator program to create a midi file.
You can access this program using any recent release of Internet Explorer or Netscape.
Some important facilities, including saving and playing midi files, require an updated Java run time system. Please see Java Update for important information about updating Java, and running this program using Java Web Start.
The information on this page is also available from the Help menu within the Midi File Editor. To enter the Midi File Editor, see Music.
The program is intended to work with an 800 * 600 display area, but will work better with a higher resolution display, such as 1024 * 768.
A midi file may contain many tracks, each of which can potentially control up to 16 midi devices! When reading a file, the program separates the tracks into individual tracks each controlling a single midi device.
Midi files can contain "System Exclusive" data which can be interpreted only by a particular midi device. These sequences are ignored when reading midi files. Some other sequences are also discarded.
Standard utilities, such as Windows Media Player, route all commands for a particular Midi Device to a single output. Your file may have several tracks for one device, but the device itself can only have one setting for current instrument, or pedal on/off settings! Use separate Midi Device numbers for different instruments to be played simultaneously.
The File menu can be used to read and save midi files, to play the file, and to print the associated music. There is a small library of midi files which you may find of interest.
You can select a particular note and track by clicking the mouse near its time position on the display. Use the left and right arrow keys to move between notes on a track.
You can also use the Track Properties menu to select a track, and the commands in the edit menu to select a note on the track.
If the "autoscroll" option is selected, tbe display will scroll to the selected note. To scroll the display manually, turn off autoscroll, or turn off the selection.
Numerous properties are grouped under the file, track, and note property menus. You can use these to examine properties and change them.
A number of properties which control the way a file is played or displayed. Some of these can be saved in a midi file. Others control the display, but cannot be saved on program exit.
This property is stored in the midi file. It is displayed in the time signature.
This property is NOT stored in the midi file. It indicates how the notes are to be displayed, and also shows in the time signature.
This property is stored in the midi file. Timings in midi files are recorded in terms of ticks. Changing this figure makes the notes appear longer or shorter. The tempo is adjusted, so the performance is played at much the same speed.
This property is stored in the midi file. This indicates the overall speed of the performance. It does not effect the way the music is displayed.
This effects the horizontal spacing between notes. This property is NOT stored in the midi file.
A midi file may contain many tracks, each of which may have a title. Each track handled by this program has an associated Midi Device number. You may change the track title and midi device, and choose to display each track using the treble, or bass clef, or both. As a single midi device can only have one instrument setting, or sustain pedal setting, you should used different midi device numbers for different instruments. You can control which tracks are visible. One of the visible tracks may be specified as selected, and another as the auxiliary track.
Each note, or other event, in a midi file has a time. Notes have pitch, volume, and duration. Time and duration are specified both in terms of 'ticks' and in terms of beats. You can change any of these. Increasing pitch by 1 will raise the pitch by one semitone.
As well as notes, the midi file may contain program change events, which change the instrument type, and control change events. Control change events have a type and value, and control the device in some other way, such as pedal commands.
If you have a midi device, such as an electronic piano, the user manual will describe the midi events which it uses.
All events have an associated start time. Timing may be absolute, or relative to a zero point. To set the zero point, select the required position, and use "set Zero". To adjust the timing of a part of a piece, zero the time at the beginning of the part, and adjust the time at the end. This will compress or expand the selected part of the music.
The edit menu contains commands to change the note selection. You can also delete notes, or move notes from the selected to auxiliary tracks, or insert new notes, control change, or program change elements. Inserted elements are inserted immediately following the currently selected element.
You may add new tracks to a composition, and delete tracks. You may also change the order of the tracks, by exchanging the position of the selected and auxiliary tracks.
The autoscroll option causes the display to scroll to the selected note. Leave this option off if you want to scroll the display manually.
This option displays barlines, according to the current zero time and the file options as saved in the midi file. This may assist you in adjusting the timing of a performance.
If this option is set, all the notes and other events are displayed in a way so that each can clearly be identified. If this option is off, the notes are displayed in a way which indicates the timing of the piece. In this mode, some notes may not be clearly visible, as they may be very close to other notes.
You can adjust the size of the display. A smaller display will show more music on the screen at one time.
You can display this guide from within the program. You can also show the version numbers of the software you are using, including your java run-time system.
You can play your music while editting, or later, by producing a midi file.
The midi file may be played using one of many freely available midi file players, including Windows Media Player and Quick Time. Your browser will probably have a suitable plug-in.
Java contains facilities for routing output to various devices, but this does not appear have any effect on Windows. Java 1.3.0 and 1.4.0 always send output to the attached system speakers via a synthesiser. Java 1.3.1 and 1.4.1 send it to the Midi Mapper, which can be used to send output to the appropriate Midi devices.
You can use the MultiMedia option in Control Panel to specify which channels are sent to which devices. If you connect an external device to the midi connection on your sound card, it will probably only respond to midi channel 1, unless you have specifically set it to some other channel.
The Java Synthesiser in 1.4 also does not appear to work with 32-bit sound cards.
Midi files can be played using Windows Media Player, or other program. Windows Media Player sends output to the Midi mapper.
Midi files may be played on an attached electronic piano, with other instruments played simultaneously via the speakers.
Contact me if you have any difficulty playing your midi files.
A considerable amount of work still needs to be done. If you think some extra facilities would be of interest to you, please contact me.
Some current limitations are listed below. In coming months, I will be working on these matters and others.
This program, the documentation and library and all associated materials are copyright to the author.
I hope you have fun editting your midi files.
The user accepts all risk for any damage which may be caused by the malfunction of this software or otherwise. The program should be used in accordance with the laws of any authorities which may claim jurisdiction.
I would be interested to hear about your experience in using this program, including any suggestions for improvements.