Contents

About this tool

The BRELS MIDI Editor is a sample application for the BRELS MIDI API. However, it is a fully functional tool to create and modify MIDI files. It is open-source and free for use. You can find more information about the editor, the API and other applications in the BRELS website.

The BRELS MIDI Editor is part of the BRELS MIDI API and both cannot be used for commercial purposes without an explicit, written authorization from Breno de Lima Sarmento, except in other open-source applications.

Command buttons

Quick search


New ()

This button creates a new MIDI composition. If the composition you are working on was not saved, you will be asked to do so. The new composition will contain one track using Acoustic Grand Piano and 120 bpm.

Open ()

This button opens an existing MIDI composition, either a MIDI file or a Karaoke file. You may receive an informative message for the first open file, however it does not affect the file. Note: some files have all MIDI events condensed into one single track. If you open such files in the editor, their channels will be splitted into different tracks.

Save ()

This button saves the modifications made to the composition. The resulting file will be a normal MIDI file, compatible with any player.

Save as ()

This button saves the current composition with another name.

Filter ()

This button filters the composition, allowing you to strip tracks or groups of events and to reduce the file size by cutting unwanted parts. Also, the resulting file will be compressed, what decreases its size even if there is no cut.

Play ()

This button makes the composition to play from the current playback position (marked with a red line).

Beginning ()

This button makes the playback position return to zero.

Pause ()

This button pauses the execution of the composition

End ()

This button makes the playback position go to the last page of the composition.

Stop ()

This button stops the playback of the composition, returing to the position zero.

Mute track ()

This button blocks sounds from the current track. Click to alternate between turned on and turned off.

Solo track ()

This button makes the current track the only one to play. Click to alternate between turned on and turned off.

Loop composition ()

This button makes the composition to loop (return to the beginning) when the playback finishes, instead of stopping. Click to alternate between turned on and turned off.

Insert track ()

This button appends a blank track to the composition.

Remove track ()

This button removes the current track after confirmation. Everything inside the track will be erased with it.

Copyright ()

This button sets the copyright information for the composition.

Track name ()

This button sets the name of the current track.

Track number ()

This button sets the number of the current track.

Instrument name ()

This button sets the name of the instrument of the current track.

Help ()

This button opens this document.

About ()

This button shows a dialog box containing information about the version of the BRELS MIDI Editor.

API ()

This button opens the documentation of the BRELS MIDI API.

Cut ()

This button cuts (copies and erases) the selected notes (the ones red colored).

Copy ()

This button copies the selected notes.

Paste ()

This button pastes copied notes on the playback position (marked with a red line).

Erase ()

This button erases the selected notes.

Select all ()

This button selects all notes of the current track.

Transpose up ()

This button moves the selected notes (or all of them if none is selected) one tone up.

Transpose down ()

This button moves the selected notes (or all of them if none is selected) one tone down.

Octave up ()

This button moves the selected notes (or all of them if none is selected) one octave up, or 12 tones.

Octave down ()

This button moves the selected notes (or all of them if none is selected) one octave down, or 12 tones.

Select ()

This button chooses the selection mode. Click and drag the mouse to select notes. Use SHIFT to select multiple groups and CTRL to deselect notes.

Breve note ()

This button chooses a Breve note (8 times a beat). Click on the desired position to place the note.

Semibreve note ()

This button chooses a Semibreve note (4 times a beat). Click on the desired position to place the note.

Minim note ()

This button chooses a Minim note (2 times a beat). Click on the desired position to place the note.

Quarter note ()

This button chooses a Quarter note (a beat). Click on the desired position to place the note.

Eighth note ()

This button chooses an Eighth note (half beat). Click on the desired position to place the note.

Sixteenth note ()

This button chooses a Sixteenth note (a quarter of beat). Click on the desired position to place the note.

Thirty-second note ()

This button chooses a Thirty-second note (an eighth of beat). Click on the desired position to place the note.

Sixty-fourth note ()

This button chooses a Sixty-fourth note (a sixteenth of beat). Click on the desired position to place the note.

Instrument ()

This button changes the instrument for the current track. Left-click on the position where the change will occur. In the dialog box that will appear, you must choose the channel used in the track, the bank and the instrument inside it. The soundcard must be General MIDI 2 compatible in order to use instruments in banks above Bank 0. Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Tempo ()

This button changes the tempo for the rest of the composition. Left-click on the position where the change will occur. In the dialog box that will appear, you can set the tempo either in beats per minute or in microseconds per beat (a quarter note). Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Text ()

This button inserts generic text in the current track. Left-click on the position where you want the text inserted and type it in the dialog box that will appear. Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Lyric ()

This button inserts lyrics in the current track. Left-click on the position where you want the lyric inserted and type it in the dialog box that will appear. Generally, each syllable is associated with a note. Type a slash, either "\" or "/" to insert a line-break. Example: "The winner takes it all,/The loser has to fall" becomes:

The winner takes it all
The loser has to fall

Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Marker ()

This button inserts a marker in the current track. Left-click on the position where you want the marker inserted and type the text in the dialog box that will appear. Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Cue point ()

This button inserts a cue point in the current track. Left-click on the position where you want the cue point inserted and type the text in the dialog box that will appear. Click and drag with the mouse to change the event's position. Right-click to erase an existing event.

Unknown ()

This button is used to erase unsupported events. Although some events are unsupported in this editor, they may be used by the application were the MIDI file was previously edited.

Application window

Besides the command buttons, there many other elements used in editor.

Piano keys

Click on the piano keys to hear the sound associated to a note in the current track's instrument. Also, the piano shows the note corresponding to the mouse position.

Time ruler

Just below the command buttons is a ruler containing time positions. Use them when inserting notes. You can click on it (when the mouse cursor becomes a black arrow pointing up) to change the current playback position (marked by the red line) at any time. The time is indicated in minutes:seconds:microseconds.

Event bar

Below the time ruler is a bar where you can edit events that are not notes or controllers. Here you can find events like instrument change, tempo change, lyrics, text, markers, cue points and unsupported events. Use the left mouse button to insert, edit and reposition those events. Use the right mouse button to erase them.

Notes panel

This panel is located in the center of the application window and it is where you can work with notes. Use the vertical gray lines to measure your composition. If the selection mode is used (), you can drag the mouse to make a selection. Click in the left or right borders of a note to expand or contract it. Click in the center of a note and drag it to move its position. If a note button is selected (, , etc.), you can place a note clicking with left mouse button. A dotted shadow will indicate the position where the note will be placed. If you have problems to work with notes, try to reduce the beat ticks to lower values. In this panel, a strong black line indicates the end of the composition. You can go beyond that limit indefinitely to place notes or other MIDI events.

Controllers panel

This panel is located in the bottom of the application window and it is where you can work with controllers, velocity of the notes and pitch changes. Though the two latter are not controllers, they were grouped with them because their behaviour is similar. Use the left mouse button to insert or update a controller to the value indicated by its height. Controllers and velocity ranges from 0 to 127. Press SHIFT to set a value of 64 (the default) for them. The Pitch wheel ranges from -8192 to 8191 (or, practically speaking, from -1.0 tone to +1.0 tone), the default being zero. Use the right mouse button to erase a controller value. The affected event is the one painted with red. If you have trouble to select an event, try to reduce the number of ticks of a beat. Drag the mouse while clicking to set/erase multiple events.

Track selector

This combo box lists all the tracks of a composition, and the instruments or channels being used by those tracks. If a track indicates a channel number instead of an instrument name, it is because notes or controllers are present in the track, but an instrument definition could not be understood correctly by the editor.

MIDI device selector

This combo box lists all the MIDI output devices available, including the MIDI Mapper, so you can choose with which of them the composition will be played. You can set it at any time.

Zoom selector

This combo box sets the magnification with what the tracks will be shown. Choose lower values to view more notes and events, and choose higher values to have tick precision when working with notes and other events.

Beat ticks selector

This combo box sets the length, in ticks, of a beat or quarter note. This defines in how many smaller parts a quarter note can be divided. The default and minimum is 16 for the editor, since the smallest note is the sixty-fourth (), which is 1/16 of a quarter note (). You can specify higher values, if you need notes smaller than the sixty-fourth. In fact, the length of a quarter note can range from 1 to 65535 ticks, but it is limited to 3200 in boundaries of 16 ticks in this editor. When you change the value of the beat ticks, existing notes and events are resized and repositioned in order to conserve the original composition. If you keep SHIFT pressed, no modification will be made, and the composition will become faster or slower according to the new value. For example, changing the beat ticks from 48 to 64 will make the composition 33% faster (64 / 48 = 1.3333333).

Controller selector

This combo box chooses which of these to use: velocity/pitch/controllers. When you change the selection, the controller panel shows the values set for the combo box selection.

Mouse

The mouse has many functions, depending on where you click or move it.

Moving the mouse

When you move the mouse, several indicators change to reflect the current position. The piano shows the note corresponding to that mouse position. A green line shows the time position of the note in the same way. The controller/pitch change/velocity that lies in that mouse position becomes red. If the mouse pointer hovers on a note, the cursor changes to indicate the possibility of transposition or resizing of the note. Also, the title bar of the application shows the tick and the time location of the current mouse position.

If you move the mouse after clicking, you'll be dragging it. In selection mode (), dragging the mouse selects notes. Use SHIFT to do multiple selections. Use CTRL to deselect notes. In the controller panel, dragging the mouse horizontally may either set consecutive controllers or erase them. You can set the level of a single controller dragging the mouse vertically. In the piano keyboard, it will play a scale of notes. In the event bar, it will drag events such as tempo or instrument changes.

Clicking with the mouse

When you click with the left mouse button, you'll be modifying something in the composition. If you click on the piano, it will play the chosen note and will only stop when you release the button. If you click on the time ruler, the playback position (shown by a red line) will change. If you click on the event bar, a new event of the selected type (tempo, instrument change, etc.) will be placed at that position. If you click on the notes panel, either a selection will start or a new note will be placed. If you click on the controller panel, a new controller will be placed or an existing one will have its value updated.

When you click with the right mouse button, you'll be erasing something in the composition. If you click on the event bar, you will erase the event under the mouse pointer, if any is. If you click on the controller panel, you will erase the controller or pitch change at that position. Velocities are vinculated to notes.

Keyboard

You can use keyboard shortcuts in order to agilize tasks or have a more precise control over actions. Below is a list of shortcuts used in the editor (the operating system shortcuts, such as ALT+F4, are not included)

KeyFunction
ESCCancels current operation
LEFT arrowMoves selected notes to the left
RIGHT arrowMoves selected notes to the right
UP arrowMoves selected notes one tone up
DOWN arrowMoves selected notes one tone down
PAGE UPMoves selected notes one octave up
PAGE DOWNMoves selected notes one octave down
HOMEGoes to the beginning of the composition
ENDGoes to the last screen of the composition
DELETEErases the selected notes
CTRL+CCopies the selected notes
CTRL+VPastes copied notes on the playback position
CTRL+XCuts the selected notes
CTRL+ASelects all notes of the track
Key 0 to Key 9Selects an octave of the piano
Keys A, S, D, F, G, H, J, K and LPlays plain notes, depending on the piano position
Keys W, E, T, Y, U, O and PPlays sharp notes, depending on the piano position
SHIFTAllows to select multiple notes or groups in the selection mode ()
CTRLAllows to exclude multiple notes or groups in the selection mode ()

Further information

Released in November 19th, 2003
Updated in April 29th, 2004
Property of Breno de Lima Sarmento
Home page: http://www27.brinkster.com/brels
E-mail: breno_sarmento@hotmail.com
ICQ: 78977999 ()