É'⌡ NäNzΦNFLO0u<yy}ΦÇ7≥ÇüⁿÇ⌡ü≥üçüw$üb.üΓ8üªBü LüÉ Vü !`ü#jü&$tü╪$~üf%êüB&Æü'£üΓ'ªü╟(@£m+(á╖+îá"/≡á0Tí¬1╕í2ó3ÇóJ3ñ,tñ╧3~ñW4╪ñ█4Γñ-6∞ñA7÷ñÇ8Ñ╚8áÑ9ªΩ9ª°;°ºé,\¿H<f¿1>p¿|>z¿∙>$⌐m?ê⌐▒?∞⌐tCP¬√Cα½#-D¼äDN¼@EX¼:Jb¼=Pl¼Tv¼┌WÇ¼¡Y¿¼A\¡░]p¡b^╘¡~_8«zlB«úlC«'sD«╪sE«åtF«)uG«╧uH«!xI«▒yL«{»«-
»)|»»ê(»δô2»æ¢<»9ƒ╚»c.,░QƒÉ░Σƒ⌠░úá ▓ó░│¼.┤cóx┤+ú@╡]Ññ╡▓Ñ╢╖ªl╢Tº`Ω∙º\KINDEX\HWelcome⌡\HGetting started\HEditor<\HMenum+\HContact∙º

Helptext revision V2R1M2.
\KWELCOME TO MERIDIANMeridian is a MIDI steptime editor for MSX computers. The development started in 1994 and was inspired by existing MSX programs like FAC Soundtracker Pro and C-Quencr. All good programs, but they have their limitations. FAC Soundtracker Pro is also a MIDI steptime editor, but doesn't support Standard MIDI files. C-Quencr does support Standard MIDI files, but doesn't offer the possibility to edit the MIDI events. So the idea of developing a new MIDI program for MSX was born.

The name Meridian is an anagram of the (dutch) words 'MIDI eraan', which can be translated as 'MIDI connected'.

While most of the MIDI editors use music score for editing, Meridian uses a steptime grid. This means that the music events like notes, volume, instruments, tempo, etc are represented as text in a grid, but this is a familiar way of editing music for most of the MSX users.

Meridian offers a lot of functions and features for editing, playing and loading MIDI music. See the helpindex for more information.

Have fun!

\HBack to the indexÉ\KGETTING STARTED\HSystem requirementsz\HConfiguration file 'MERIDIAN.INI'F\HWhat is MIDI?\KSYSTEM REQUIREMENTSBefore launching Meridian, check the minimal configuration of your MSX:

\T- MSX2 or higher
\T- 512kB free memory or more
\T- MSX-DOS 2.00 or higher

The following files are required:

\T- MERIDIAN.LDR
\T- MERIDIAN.BIN
\T- MERIDIAN.PGM

The following files are optional:

\T- MERIDIAN.HLP
\T- MERIDIAN.INI
\T- A default MIDI-driver

Meridian supports the following hardware:
\T- Philips Music Module
\T- MSX MIDI
\T- Moonsound
\T- Mouse
\KCONFIGURATION FILEWhen Meridian is launched, it will look for the configuration file 'MERIDIAN.INI'. This file contains the settings for:

[Display colors]
  Values in the range [0..7] for RGB (red, green, blue)
[SMF options]
  Values for 'Option \P SMF options'
[Directories]
  Values for 'Option \P Directories'
[Default MIDI driver]
  Filepath and filename of the default driver (+ .DRV!!)
[Play options]
  Values for 'Option \P Play'
[Conductor]
  Values for 'Play \P Conductor settings'
[System]
  Mousetype: YES = Philips mouse, NO = Tornado mouse
  Kilobytes of memory reserved for SysEx. If not or 0 is specified, the SysEx editor won't be operational.

The configuration file must be in the same directory as Meridian and can be changed using a texteditor like TED.

NOTICE: If you added any comments in the configuration file, these comments will be lost after using the function 'Option \P Save config', because the whole configuration file will be rewritten.
\KWHAT IS MIDIMIDI is an abbreviation of 'Music Instrument Digital Interface' and is a protocol for communication between electronic music instruments or a computer and an electronic music instrument. The protocol is a standard and is developed by the International MIDI Association in 1983.

MIDI is implemented as a serial systeem with a bitrate of 31500 bps, 8 bits data, 1 startbit and 1 stopbit.

The MIDI protocol doesn't describe a sound but controls the MIDI device how to play a sound. The major MIDI messages in the MIDI protocol are:
- Note on
- Note off
- Aftertouch- Pitchbending
- MIDI channel control change
- Program (=Instrument) change
- System messages

MIDI is capable to address 16 channels. Each MIDI message (except the system messages) is addressed to 1 MIDI channel. The MIDI channels are polyphonic, that means more than 1 note can be played at the same time on the same channel.

A total summary and description of the MIDI standard is beyond the purpose of this helptext. If want to know more about MIDI, read some books about MIDI.
\KEDITOR\HEventgridy\HEvents7\HMenubarm+\HShortkeys\KEVENTGRIDThe eventgrid is a matrix which is built up of 16 steps and 32 tracks. Track 1 to 31 are MIDI event tracks, track 32 is the time event track. You can enter events on the event inputline. The entered event will be placed on the location of gridcursor. When the gridcursor is on a MIDI events track, you have to enter a MIDI events. When the gridcursor is on the time event track, you have to enter time events, just by entering a number in the range [1..50000].

To navigate through the pages you can use the TAB, Shift+TAB and the cursorkeys.

On the right upper corner of the screen the current page and cursorlocation are displayed.
\KSHORTKEYSF1      - Online help
F2      - Save song
F3      - Load song
F4      - Play song
F5      - MIDI presets
F6      - Helpindex
F9      - Play from current position
F10     - Track presets
Ctrl+F2 - Save song as
Ctrl+F3 - New song
Ctrl+F5 - Drum presets

Ctrl+C - Copy selection
Ctrl+F - Find events
Ctrl+G - Go to...
Ctrl+H - Hide selection
Ctrl+M - Move selection
Clrl+N - Find next
Ctrl+Q - Quit Meridian
Ctrl+W - Clear selection
Ctrl+X - Exchange selection

SELECT      - Popupmenu
HOME        - Start of line, page, song
DEL         - Delete event
Ctrl+DEL    - Delete steps
Ctrl+INS    - Insert steps
TAB         - Next page
Shift+TAB   - Previous page
CURSOR      - Navigate in editor
Ctrl+CURSOR - New/change selection
CODE        - Activate menubar
GRAPH       - Move window
Shift+GRAPH - Resize window
\KEVENTSThe next events can be entered on the eventline:

\HNote onü\HNote off⌡\HProgram≥\HProgram bankç\HDrumkitw\HVolumeb\HPanΓ\HPedalª\HExpression \HModulationÉ \HUser controller !\HAftertouch#\HPressure&$\HPitchbend╪$\HPitchbend rangef%\HFine tuningB&\HCoarse tuning'\HTempoΓ'\HTime signature╟(\KNOTE ONPlay a note on the track with velocity. If a note is still being played on the same track, then that note will be released first, because the tracks are monophonic.

Event syntax: <note> [<velocity>]

The note is made up out of a <keynumber> + <octave>. The keynumber must be in the range [C, C#, D, D#, E, F, F#, G, G#, A, A#, B] and octave in the range [-1..9]. Finally <note> must be in the range [C#-1..G9] and velocity in the range [1..127]

Example:
To play a note D# on octave 5 with velocity 100, enter 'D#5 100'.

When omitting the velocity, the last entered velocity will be used. (default velocity is 100)
\KNOTE OFFRelease the note that has been played on the track.

Event syntax: off [<velocity>]

Because the OFF event releases the note currently played on the track, you don't need to specify the note. The OFF event doesn't need to be entered on drumtracks, because drums are automatically be followed by an OFF event.

When entering a velocity, the note will be released with the specified velocity. The velocity must be in the range [1..127].

NOTICE: Not all MIDI devices support NOTE OFF with velocity.
\KPROGRAMChange the instrument on the track's MIDI channel.

Event syntax: prg <program number>

The program number must be in the range [0..127].
\KPROGRAM BANKChange the programbank on the track's MIDI channel.

Event syntax: bnk <bank number>

The bank number must be in the range [1..8]. If the track's MIDI channel is a drumchannel, then this event will be ignored while playing.
\KDRUMKITChange the drumkit on the track's MIDI channel.

Event syntax: bnk <bank number>

The bank number must be in the range [1..8]. If the track's MIDI channel is not a drumchannel, then this event will be ignored while playing.
\KVOLUMEChange the volume of the track's MIDI channel.

Event syntax: vol <volume>

The volume must be in the range [0..127].
\KPANChange the stereoplacement of the track's MIDI channel.

Event syntax: pan <pan>

The pan must be in the range [0..127], where 0 is left placement, 64 is center and 127 is right placement.
\KPEDALSwitch the damper pedal on the track's MIDI channel.

Event syntax: pdl <on|off>
\KEXPRESSIONChange the expression of the track's MIDI channel.

Event syntax: exp <expression>

The expression must be in the range [0..127].
\KMODULATIONChange the modulation of the track's MIDI channel.

Event syntax: mod <modulation>

The modulation must be in the range [0..127].
\KUSER CONTROLLERChange the value of the specified controller on the track's MIDI channel.

Event syntax: usr <controller id> <controller value>

The controller id must be in the range [1..10]. Which MIDI controller will be sent, can be defined in 'Midi \P User controllers'. The controller value must be in the range [0..127]. The effect that the controller will have is unpredictable. See the user's manual of the MIDI device to find out what controllers are supported and how they will affect the sound.
\KAFTERTOUCHPerform an aftertouch for the note currently played on the track.

Event syntax: aft <aftertouch>

The aftertouch must be in the range [1..127].

NOTICE: Not all MIDI devices support AFTERTOUCH and ifthey do, in some cases only PRESSURE is supported.
\KPRESSUREPerform an aftertouch for all notes that are currently played on the track's MIDI channel.

Event syntax: prs <pressure>

The pressure must be in the range [1..127].
\KPITCHBENDChange the pitch of the track's MIDI channel.

Event syntax: pit <pitchbend>

The pitchbend must be in the range [-8192..+8191].
\KPITCHBEND RANGEChange the pitchbend range of the track's MIDI channel in semitones.

Event syntax: pbr <pitchbend range> or
              rpn 0 <pitchbend range>

The pitchbend range must be in the range [-12..+12].
\KFINE TUNINGChange the fine tuning of the track's MIDI channel in percent of a semitone
Event syntax: fin <fine tuning> or
              rpn 1 <fine tuning>

The fine tuning must be in the range [-50..+50].
\KCOARSE TUNINGChange the transpose of the track's MIDI channel in semitones.

Event syntax: coa <coarse tuning> or
              rpn 2 <coarse tuning>

The coarse tuning must be in the range [-24..+24].
\KTEMPOChange the tempo in milliseconds per quarter note.

Event syntax: tmp <tempo>

The tempo must be in the range [10..16000].

NOTICE: This is a non-MIDI event, because no MIDI data will be sent when processing this event.
\KTIME SIGNATUREDefine how many notes make up one bar.

Event syntax: sgn <numerator> <denominator>

The numerator defines how many notes make up one bar and must be in the range [1..32].
The denominator defines what note the numerator will handle. The denominator can assume the values:
\T 1 - Whole note
\T 2 - Half note
\T 4 - Quarter note
\T 8 - Eighth note
\T16 - Sixteenth note
\T32 - Thirtysecond note

Example: To define a new timesignature where 6 eighth notes make up one bar, enter: 'sgn 6 8'.

NOTICE: This is a non-MIDI event and won't have any effect on the playing. It is useful when quantizing the song so that Meridian knows how to convert the bars to pages.
\KMENU\HSong╖+\HEdit,\HPlayé,\HMidi#-\HOpl4«-\HToolsc.\HOption¼.\KSONGMENU\HNew"/\HLoad0\HSave¬1\HSave as2\HProperties3\HQuitJ3\KEDITMENU\HInsert steps╧3\HDelete stepsW4\HCopy█4\HMove-6\HExchangeA7\HClearÇ8\HHide╚8\HGo to9\HFindΩ9\HFind next°;\KPLAYMENU\HPlay songH<\HPlay page1>\HPlay from position|>\HPlay interval∙>\HRecordm?\HConductor settings▒?\HInterface and timertC\HEmulate MIDI THRU√C\KMIDIMENU\HMidiäD\HTracksA\\HDrums░]\HUser controllersb^\HSystem Exclusive~_\HLoad driverzl\HEdit driverúl\HDriver information{\KOPL4 MENU\H2-operator FM tones)|\H4-operator FM tones\HPCM tonesê\HOpl4 programsδô\HOpl4 drumsæ¢\HLoad opl4 soundbankƒ\HSave opl4 soundbank"ƒ\HOpl4 global settings9ƒ\KTOOLMENU\HClear eventsQƒ\HTransposeΣƒ\HVelocityúá\HOrder tracksó\KOPTIONMENU\HFile locationscó\HSMF filters+ú\HPlay filters]Ñ\HDisplay colors▓Ñ\HAttach mouse╖ª\HSave configTº\KNEWInitialize Meridian for a new unnamed song. If the current song has been modified, you can save it before clearing. The MIDI presets, track presets, drum keymaps and song properties will be set to the default values.

Shortkey: Ctrl+F3
\KLOADLoad a song of a selected format. Supported file formats for loading are: Meridian 2.2 (.MER), Standard MIDI file format #0 and #1 (.MID), Moonblaster (.MBM, .MFM or .MWM) and Soundtracker (.MUS). You can filter on a selected format, but it is also possible to let Meridian determine what format the file has. If the format is not recognized or not supported, a message will follow.

Shortkey: F3
\KSAVESave the song immediately if the songname and format are known. See 'File \P Save as'.

Shortkey: F2
\KSAVE ASSave a song. Formats for saving a song are: Meridian 2.2 (.MER) and Standard MIDI file (.MID). If the entered filename already exists in the current directory, a confirmation to overwrite the file will follow.

Shortkey: Ctrl+F2
\KPROPERTIESEnter the name, composer and copyrights of the song.
\KQUITQuit Meridian and return to BASIC. If the current song has been modified, you can save it before quitting.

Shortkey: Ctrl+Q
\KINSERT STEPSInsert empty steps at the current step. You cannot insert steps after the step with the last event.

Shortkey: Ctrl+INS
\KDELETE STEPSDelete steps from the current step. You cannot delete steps after the step with the last event.

Shortkey: Ctrl+DEL
\KCOPY SELECTIONCopy the selection to the current position. Conditions for copying a selection are: the events to copy must have the same type (MIDI events may not be copied to time events and vice versa), the events may not be copied after the last page and the current position may not be located in the selection. 

Shortkey: Ctrl+C
\KMOVE SELECTIONMove the selection to the current position. Conditions for moving a selection are: the events to move must have the same type (MIDI events may not be moved to time events and vice versa) and the events may not be moved after the last page.

Shortkey: Ctrl+M
\KEXCHANGE SELECTIONExchange the selection with the events on the current position. Conditions for exchanging a selection are: the events to exchange must have the same type (MIDI events may not be exchanged with time events and vice versa) and the events may not be exchanged after the last page. 

Shortkey: Ctrl+X
\KCLEAR SELECTIONClear all events in the selection.

Shortkey: Ctrl+W
\KHIDE SELECTIONHide the selection.

Shortkey: Ctrl+H or right mousebutton
\KGO TOGo to a specified location in the song. Possible locations are: 
\T- first page
\T- last page
\T- end of song (last event)
\T- begin of selection
\T- end of selection
\T- specified page

Shortkey: Ctrl+G
\KFINDFind specified events. You can look for all types of events. The function can be scoped to the whole song, current page, selection or a specified MIDI channel.

For each type of event a range can be specified, depending on that type. If searching within a range is not selected, all events of the selected eventtype will be found.

The function can search for the events in 4 directions:
- left \P right; up \P down
- right \P left; down \P up
- up \P down; left \P right
- down \P up; right \P left

Shortkey: Ctrl+F
\KFIND NEXTRepeats the previous findaction if there is one.

Shortkey: Ctrl+N
\KPLAY SONGPlay the song. While playing the song or a part of it a window is shown containing information about the current play position and tempo.

The panel contains buttons for play control:
 ┴  - play (shown when pause)
 ─  - pause (shown when playing)
 ┬┬ - steps rewind
 ┴┴ - steps forward

The panel also contains buttons to change the MIDI, track and drum settings. When changing a setting, than the value of that setting will be maintained after playing as well.

Shortkey: F4
\KPLAY PAGEPlay the current page. See 'Play \P Play song' for more info.
\KPLAY FROM POSITIONPlay from current position to the end of the song. See 'Play \P Play song' for more info.
Shortkey: F9
\KPLAY INTERVALPlay a part of the song defined by the interval definition. See 'Play \P Play song' for more info.
\KINTERVALDefines the start and end position for 'Play interval'.
\KCONDUCTOR SETTINGSTimebase:
Defines how many clock ticks a quarter note is made up of. Values for the timebase are 48, 96, 192, 384 or 768 ticks per quarter note. The timebase is a global value: it cannot be changed in the song by an event.

Tempo:
Defines how many milliseconds a quarter note is made up of. Values for the tempo are 10 to 16000, depending on which MIDI-timer and timebase are selected.

Timesignature:
The timesignature is made up of the numerator (upper number) and the denominator (lower number) and describes the definition of a bar. The denominator defines which note the timebase is for the bar and can assume the values 1 (whole note), 2 (half note), 4 (quarter note), 8 (eighth note, 16 (sixteenth note) or 32 (thirty-second note). The numerator defines how many of these notes make up one bar and can assume the values 1 to 32.

NOTICE: The timesignature doesn't have any effect on the tempo, but is useful when quantizing the song.
\KINTERFACE AND TIMERSelect MIDI interface and MIDI timer. Only the MSX-MIDI (Turbo-R FS-GT) and Philips Music Module are supported.
\KEMULATE MIDI THRUAll MIDI data received from the MIDI-IN will be sent immediately to the MIDI-OUT to emulate a MIDI-THRU connection.
\KMIDI\HPrograms (PRG)@E\HGeneral controllers (GEN):J\HSend MIDI channels (SND)=P\HAdjust MIDI channels (ADJ)T\HUser controllers (1-5, 6-10)┌W\HRegistered parameter number (RPN)¡Y\KPROGRAM PRESETSOn this tab you can select the programs for each MIDI channel. MIDI channels can either be a voice channel or a drum channel. When setting a channel as a voice channel, you can select a program out of 8 programbanks each containing 128 programs, which makes a total of 1024 programs. When setting a channel as a drum channel, you can select out of 8 drumkits. Each drumkit contains 64 drums, which can be redirected in 'Midi \P Drums'.

Bank:
The current banknumber if the MIDI channel is a voice channel, otherwise the current drumkitnumber if the MIDI channel is a drum channel.

Drum:
Determine whether the MIDI channel is a drum channel or not (then it is voice channel).

Program/drumkit:
If the MIDI channel is a voice channel, you can select the program by number or by name. If the MIDI channel is a drum channel, you can select the drumkit by name.

When changing a bank, drumkit or program, then this value will be sent immediately via MIDI OUT.

NOTICE: It is possible that a MIDI device has a fixed drum channel (in most cases channel 10) and won't allow you to change a voice channel into a drum channel and viceversa (most Roland MIDI devices). In this case Meridian does send the bank/kit change messages, but the MIDI device ignores them.
\KGENERAL CONTROLLER PRESETSOn this tab you can set the value for 5 General MIDI controllers for each MIDI channel.

Vol (Volume):
Set the mastervolume for each MIDI channel. When a value of 0 is entered, there will be no sound on the MIDI channel. A value of 127 sets the maximum volume for the MIDI channel (in combination with the expression).

Pan (Panpot)
Set the stereo balance for each MIDI channel. A value of 0 means that the output of the sound will be fully on the left audio channel; a value of 64 means that the output will be in the center and a value of 127 means that the output of the sound will be fully on the right audio channel.

Pdl (Pedal switch):
Determines whether the pedal will be switched on or off. If selected, the pedal will be switched on.

Exp (Expression):
Set the expression for each MIDI channel. The expression of a MIDI channel is a volume scale within the mastervolume of the MIDI channel. This means when a value of 0 is entered, there will be no sound on the MIDI channel. When a value of 127 is entered, the volume will be set to the value of the mastervolume of the MIDI channel.

Mod (Modulation):
Set the modulation for each MIDI channel. The modulation of a MIDI channel means how much vibration effect will be added to the sound on the MIDI channel. When a value of 0 is entered, there will be no modulation. A value of 127 will result in maximum modulation.

When changing a volume, pan, pedal switch, expression or modulation value, then this value will be sent immediately via MIDI OUT.
\KSEND MIDI CHANNEL PRESETSOn this tab you can set 4 controllers to mute or change the mode of a MIDI channel.

Mute:
Mutes the MIDI channel. When selected, all notes that are currenly played will be released and no notes will played until the mute has been deselected.

Solo:
Mute all MIDI channels except the selected MIDI channel.
Omni:
Set the channelmode to OMNI ON when selected by sending controller nr 124. When deselected the channelmode will set to OMNI OFF by sending controller nr 125.

Mono:
Set the channelmode to MONO MODE when selected by sending controller nr 126. When deselected the channelmode will be set to POLY MODE by sending controller nr 127.

NOTICE: OMNI and MONO/POLY mode can be combined so 4 channelmodes are possible:
\TMODE 1: MONO MODE OMNI OFF
\TMODE 2: MONO MODE OMNI ON
\TMODE 3: POLY MODE OMNI OFF
\TMODE 4: POLY MODE OMNI ON

When changing OMNI or MONO, then the corresponding mode message will be sent immediately via MIDI OUT.
\KMIDI CHANNEL ADJUSTMENT PRESETSOn this tab you can set 4 correction controllers for each MIDI channel.

Pitch:
Set the pitch for each MIDI channel. The value for the pitch must be in the range [-8192..0..+8191]. A value of 0 means no pitchbending. A value of -8192 means a maximum pitchbend down and +8191 maximum pitchbend up. The range of the pitchbend can be set using RPN controller 0.

Note:
Set the correction for note on events in semitones for each MIDI channel. The note correction must be in the range [-60..0..+60]. This means that the note correction can be set to 5 octaves up or down.

Velo:
Set the velocity correction for note-on events. The velocity correction must be in the range [-63..0..+63].

Redir:
Set the channel redirection for each MIDI channel. If the value is the same as the corresponding MIDI channel, there will be no channel redirection for that MIDI channel.

When changing the pitch, then this value will be sent immediately via MIDI OUT.
\KUSER CONTROLLER PRESETSOn the user controller tabs '1-5' and '6-10' you can set the values for the selected MIDI controllers for each MIDI channel. If no MIDI controller is selected, the value will not be displayed and cannot be changed. The effect of the controllers on sound is unpredictable. See the user's manual of the MIDI device to find out what the effect will be.

When changing a value of a controller, this value will be sent immediately via MIDI OUT.
\KRPN PRESETSOn this tab you can set the values for 3 registered parameter number controllers

PBR (RPN 0, pitchbend range):
Set the value for the pitchbend range in semitones for each MIDI channel. The pitchbend range can be set from -12 to +12.

Fine (RPN 1, fine tuning):
Set the value for the fine tuning in percent of a semitone for each MIDI channel. The fine tuning can be set from -50 to +50.

Coarse (RPN 2, coarse tuning):
Set the value for the transpose in semitones for each MIDI channel. The coarse tuning can be set from -24 to +24.

NOTICE: The corresponding MIDI data entry bytes for each RPN controller value are defined in the MIDI driver.
\KTRACKSAssign MIDI channels to the tracks.
If a MIDI channel (01..16) is assigned to a track, the channel redirection, channel mute, program/drumkit, volume, panpot, pitch, note correction and velocity correction are shown as well (depending on the windowsize).
If no MIDI channel is assigned to a track, the events on that track won't be sent to the MIDI device.
\KDRUMSRedirection of the drumkeys for each drumkit. The drumkeys which can be redirected must be in the range [C1..D#6]. The drumkey to redirect to must be in the same range.
\KUSER CONTROLLERSSelect user MIDI controllers. These are extra controllers which are not included in the GM standard. The controllers can be selected for the specific MIDI devices to create special soundeffects. Only the controllers that are defined in the driver can be selected.
\KSYSTEM EXCLUSIVESystem Exclusive (SysEx) messages are MIDI messages for a specific MIDI device. This means SysEx messages are addressed to that specified MIDI device, while other MIDI devices ignore them. SysEx messages can perform actions which cannot be done with the common MIDI messages, for example changing modes on the MIDI device, dumping sampledata to change the soundwaves, etc.

A SysEx message is just a stream of bytes starting with 'F0' and ending with 'F7'. These two bytes are the hexadecimal representation of 240 and 247. The bytes that are between these two bytes must be in the range 00..7F which is the hexadecimal representation of the values 0..127. The user is expected to enter these values in the hexadecimal format

MsgID:
The MgsID is just a generated number, for identifying the messagenumber. It cannot be changed by the user.

Size:
The size in bytes of the current message, including the startbyte 'F0' and stopbyte 'F7'.

System:
Indicates if the SysEx message is included in the MIDI driver. Mostly these messages are short ones, containing a few bytes (approx 5-30) and describe a MIDI command, errorcode, request or other SysEx feature.

Auto:
Indicates if the message must be sent to the MIDI device before playing the song.

Descript:
A description of the message. This is very useful, because only the messagesbytes don't explain what the SysEx message is meant for.

Message \P New (Ctrl+F3)
Add a new SysEx message including the startbyte F0 and stopbyte F7. This is only a framework for a message that has to be extended by the user to become a functional SysEx message.

Message \P Delete (Ctrl+DEL)
Delete the current message. If the message is marked as a system message, a confirmation to delete will follow.

Message \P Load (F3)
Load a SysEx file. These are files with the extension .SYX that contain one or more messages. Only the messagebytes are included; the description, system and autosend attributes are NOT included and they will be set to default values.

Message \P Save (F2)
Save the current message to a file.

NOTICE: The description, system and autosend attributes are not included in the file. If you want to save the message including the description, system and autosend attributes, save them in a .DRV (MIDI driver) for system messages or in a .MER (Meridian songfile) for non-system messages.

Message \P Append (Ctrl+F2)
Save the message appending to an existing .SYX file. Doing so you can create .SYX files that contain more that one message.
See 'Message \P Save' for more.

Message \P Send (F4)
Send the current message to the MIDI device via MIDI OUT.

Message \P Receive (F5)
Receive a message from the MIDI device via MIDI IN. The received message is only valid when the first byte is 'F0', the last one is 'F7' and there is enough memory available. You have to mannually activate the MIDI device, to make it send the message.

Message \P Request (F9)
Send the current message to the MIDI device via MIDI OUT and receive the requested message via MIDI IN. The message is only valid when the first byte is 'F0', the last one is 'F7' and there is enough memory available. You don't have to take action yourself on the MIDI device, to make it send the message, because the MIDI device will send the message immediately after receiving the request.
\KLOAD DRIVERSee 'MIDI \P Edit driver'
\KEDIT DRIVEREdit a driver for a specific MIDI device. A MIDI driver contains the names of the banks, programs, drumkits, controllers and device. It also contains values to set the programbanks, drumkits and RPN entrydata. The filename of a Meridian MIDI driver should have a .DRV extension.

Driver \P New (Ctrl+F3)
Initialize all names of the banks, programs, drumkits, drums, controllers, devicename and comments. Set all numeric data to null values. All SysEx messages will also be deleted.

Driver \P Load (F3)
Load a driver for a specific device. When loading a new driver, the names of the banks, programs, drumkits, drums, controllers and devicename will change. New default values for MIDI presets will be initialized. If there is memory reserved for SysEx, all current messages will be replaced by the messages from the new driver and will all be marked as system messages.

Driver \P Save (F2)
Save the current driver if the filename is already known. See 'Driver \P Save as' for more info.

Driver \P Save as (Ctrl+F2)
Save the current driver to a file. The following will be stored in the file:
- 8 banknames + bankselect controllers
- 128 programnames for each bank
- 8 drumkitnames + bankselect controllers
- 64 drumnames for each drumkit
- 128 controllernames + abbreviation
- 25 data entry values for pitchbend range (RPN 0)
- 101 data entry values for finetuning (RPN 1)
- 49 data entry values for coarse tuning (RPN 2)
- device name
- comments for the driver
- MIDI default values
- SysEx messages (System messages only)

\HBanknames's\HProgramnames╪s\HDrumkit namesåt\HDrumnames)u\HController names╧u\HRPN data entry values!x\HDevicename▒y\KBANKNAMESOn this tab you can edit the names for the 8 available programbanks and the corresponding values for controller nr 0 (Bank select LSB) and nr 32 (Bank select MSB).
\KPROGRAMNAMESOn this tab you can edit the names of programs in the programbanks. Each bank contains 128 programs. Select the bank using the radiobuttons on the left side.
\KDRUMKIT NAMESOn this tab you can edit the names for the 8 available drumkits and the corresponding values for the programnumber and banknumber of the drumkit.
\KDRUMNAMESOn this tab you can edit the names of drums in the drumkits. Each drumkit contains 64 drums. Select the drumkit using the radiobuttons on the left side.
\KCONTROLLER NAMESOn this tab you can edit the controllers that are supported by the MIDI device. The MIDI protocol supports 128 controllers, but only a few are defined in the General MIDI (GM) standard. These controllers are marked in the GM column and cannot be edited (controllers 0,1,7,10,11,32,64,124-127). In the 'Actv' column you can select whether the controller is supported by the MIDI device or not. If selected, you have to enter an abbreviation and a description for the controller. The abbreviation is used for the column heading in the MIDI presets on the user controller tab.
\KRPN DATA ENTRY VALUESOn this tab you can edit the data entry values for RPN controllers 0, 1 and 2. For each RPN controller an LSB data entry value (controller 6) and an MSB data entry value (controller 38) can be set. For RPN 0 you can set data entry values for the range [-12..+12], for RPN 1 data entry values for the range [-50..+50] and for RPN 2 data entry values for the range [-24..+24].
\KDEVICE NAMEOn this tab you can edit:
- The name of the MIDI device
- MIDI preset default values by pressing the button 'MIDI'. The MIDI preset window will appear where you can set the the default values.
- Comments by pressing the button 'Comment'. A simple texteditor will appear where you can enter some notes for the current driver.
\KDRIVER INFORMATIONDisplay the MIDI devicename, programbanks and drumbanks in the current driver. When pressing the button 'Comment', a simple textviewer will appear where you can read some (interresting) notes about the current driver (only if the author of the driver added some notes).
\K2-FM TONE EDITORCreate FM tones that holds 2 operators. Two types to connect the operators are available: FM (serial) and AM (parallel). Up to 200 2-operator FM tones can be created, loaded or saved. The editor provides functions to undo, store and copy tones.

What is FM? FM is the abbreviation for Frequency Modulation. This type of soundsynthesis is performed by a serial connection of operators, each producing a simple waveform like a sine or square. The minimum requirements to establish FM are 2 operators: a carrier and a modulator that modulates the carrier.

When operators are connected in a parallel way, AM (Amplitude Modulation) soundsynthesis is performed.

\HFM tone parametersΣÇ\HGenerate random tones╩Æ\HTest tones┼¥\K4-FM TONE EDITORCreate FM tones that holds 4 operators. Four types to connect the operators are available: FM-FM, FM-AM, AM-FM and AM-AM. Up to 100 4-operator FM tones can be created, loaded or saved. The editor provides functions to undo, store and copy tones.

See the help about 2-operator FM tones for more info about FM and the parameters that can be set for each operator.

\HFM-2 tone editor)|\HFM tone parametersΣÇ\HGenerate random tones╩Æ\HTest tones┼¥\KFM TONE PARAMETERSFor FM tones ,the following parameters can be set for each operator:

Waveform
Sets the waveform for the operator for the generation of complex sounds. Eight different types of waveform are available.

KSL (Key Scale Level)
For natural musical instruments, the volume decreases as the interval increases. Key level scaling simulates this phenomena. The damping for each octave up is set by this value.

Attack time
Sets the rising time for the sound. The higher the value the slower the attack.

Decay time
Sets the diminishing time for the sound. The higher the value, the longer the decay.

Release time
Sets the time at which the sound disappears after key off. The higher the value, the longer the release.

Frequency factor
Sets the multiplication factor for the base frequency of the note that is being played. The higher the frequency factor, the higher the pitch.

Brightness
Sets the output level of the operator if this is a modulator. Doing so will change the frequency spectrum produced by the carrier.

Vibrato
Swiches the frequency vibrato on or off.

Tremolo
Swiches the amplitude vibrato on or off.

Key scaling
Simulates the phenomena that speeds up the rise and fall of the sound as the interval of natural musical instruments increases. So, when key scaling is selected, higher notes are shorter than lower notes.

Sustain/level
Determines if the operator produces a percussive sound or not. When the operator produces a non-percussive sound, the sustain level is used as the transition point which holds the level after the decay reaches the set level. During damping, it is the transition point from decay to release.

Feedback factor
When the feedback factor is set, operator 1 will send a portion of its output back into itself. In this way string instrument sounds can be made.
\KPCM TONE EDITORCreate PCM (Pulse Code Modulation) tones. A PCM tone uses a wavetable that contains pulsedata (samples), which make up the waveform. The Opl4 has a ROM that contains 2 MB ofwavetables and an SRAM for external wavetable data. The size of the SRAM is limited to 128 kB, 512 kB, 1 MB or 2 MB. If external wavetable data exceeds the size of the SRAM, the wavetable cannot be loaded.

Two types of PCM tones can be created: ROM tones and USR tones. ROM tones are predefined tones and they are based on the 330 ROM tones in the Opl4. Actually these tones cannot be created, but their envelope parameters can be changed. All ROM tones use only the wavetables in the ROM.
USR tones are definied by the user and in most cases they are based on the external wavetables in the SRAM. For USR tones the start, loop and end sample can be modified. Up to 128 USR tones can be created, loaded or saved. The editor provides functions to undo, store and copy tones.

\HPCM tone parameters
î\HGenerate random tones╩Æ\HTest tones┼¥\KPCM TONE PARAMETERSStart sample
Specifies the start offset relative to the first sample. The wave data is read from this sample offset. For 12 bits samples, the start sample must be an even number. The start sample must always be lesser than the loop and end sample.

Loop & end sample
Specifies the loop and end offset relative to the first sample. When the wave data read exceeds the end sample, the wave read returns to the loop sample and is counted up again from the loop sample to the end sample. The waveform is reproduced by repeating this process.

NOTICE: Start, loop and end sample can only be specified for USR tones.

LFO frequency
Specifies the LFO speed. The vibrato and tremelo frequency is determined by this LFO frequency and can be set to 8 different frequencies.

Vibrato depth
Specifies the the depth for the frequency vibrato. When vibrato is swiched on, it can be set to 7 different depths.

Tremolo depth
Specifies the the depth for the amplitude vibrato. When tremolo is swiched on, it can be set to 7 different depths.

Attack time
Sets the rising time for the sound. The higher the value the slower the attack.

First decay time
Sets the diminishing time for the sound. The higher the value, the longer the decay.

Decay level
The decay level is used as the transition point which holds the level after the first decay reaches the set level. During damping, it is the transition point from first decay to release.

Second decay time
Sets the diminishing time for the sound after the first decay during key on (in the decay level). The higher the value, the longer the decay.

Release time
Sets the time at which the sound disappears after key off. The higher the value, the longer the release.
\KTONE RANDOMIZERThis function can be used to randomize the envelope parameters of a tone. For FM and PCM tones you can select different parameters to be randomized. If an envelope parameter has not been selected, the parameter value won't be touched when randomizing.

Shortkey: Ctrl+R
\KOPL4 PROGRAMSAn Opl4 program is a combination of FM and PCM tones. Up to 128 Opl4 programs can be created in an Opl4 program bank. There are 2 programs bank available, which makes a total of 256 Opl4 programs.

You can assign 2-FM, 4-FM, PCM-ROM and PCM-USR tones to an Opl4 program. For each assigned tone you can set some parameters:

Tone number & tonename
A tone as defined in one of the tone editors.

Volume correction
Increases or decreases the level of the tone. This is usefull to balance the levels of tones when assigning more than 1 tone.

Pan
Sets the stereoplacement of the tone. For FM tones the pan is limited to left, center or right placement. For PCM tones the pan can be set from left to right within a resolution of 15 steps or it can be connected to the MIDI pan setting and pan events in the song to perform a variable pan.

Transpose
Sets the keyshift for the tone. This is very useful for tuning PCM tones, because the pitch of a PCM tone is always different from other PCM tones. When playing the song, the note that is being played will be used as the sample frequency for PCM tones, where the C4 is always the base frequency of 22050 Hz.
Example:
A PCM tone of an F#5 piano will sound as an F#5 piano when it is played on the base frequency (C4, =22050 Hz). Thus, to hear a C4 when playing a C4 or an F#5 when playing an F#5, the F#5 must be transposed to a C4, by setting the transpose to -18.

Fine tuning
Sets the fine pitch for the tone. This is very useful for PCM tones that are not exactly tuned on a semitone when they are played on the base frequency. Fine tuning can be used to perform 'fatter' sounds as well.
Example:
Assign two tones: one on the left with a fine tuning of +2 and one on the right with a fine tuning of -2.

Keywindow (bottom & top)
Defines the keyrange in which the tone is allowed to be played. Use the keywindow for PCM tones to assign the most realistic tones to the keyrange it is meant for.
\KOPL4 DRUMSAn Opl4 drum is a combination of FM and PCM tones. Up to 64 Opl4 drums can be created in an Opl4 drumkit. There are 2 Opl4 drumkits available, which makes a total of 128 Opl4 drums. The drums are mapped to the keys C1..D#6.

You can assign 2-FM, 4-FM, PCM-ROM and PCM-USR tones to an Opl4 drum. For each assigned tone you can set the same parameters as descibed in Opl4 programs, execpt the transpose and the keywindow because the drums are key mapped.

Pitch
Sets the pitch for the tone. The C4 is the base frequency of 22050 Hz.

\HOpl4 programsδô\KTEST TONEIn all opl4 editors, you can test how a tone, program or drum will sound by pressing F4. You can define 4 notes that will be played as a chord or after each other. The volume at which the note will be played can be set from 1 to 127 and is usefull to find out how tones, programs and drums sound at lower levels.
\KLOAD OPL4 SOUNDBANK\KSAVE OPL4 SOUNDBANK\KOPL4 GLOBAL SETTINGS\KCLEAR EVENTSClear events of a specified type.
The function can be scoped to the whole song, current page, selection or specified MIDI channel.
\KTRANSPOSETranspose note events. The transposerange is limited to 60 semitones up or down. The function can be scoped to the whole song, current page, selection or specified MIDI channel.
\KVELOCITYChange the velocity of notes. This can either be relative or fixed. In case of a relative velocitiy change, the entered velocity will be added to the current velocity. If the velocity change is fixed, then the current velocity will be replaced by the entered velocity.
The function can be scoped to the whole song, current page, selection or specified MIDI channel.
\KORDER TRACKSOrder the tracks, sequenced by assigned MIDI channel.
\KFILE LOCATIONSMusic files:
The default location where songs will be loaded and saved.

Library files:
The default location where drivers, tones, sysex data, wavetabels and tonebanks can be found.
\KSMF FILTERSLoad MIDI channels:
Select which MIDI channels will be loaded from an SMF.

Load MIDI events:
Select which type of events will be loaded from an SMF, the maximum number of tracks that will assigned to a MIDI channel and the actions that must be taken after loading an SMF.
Save MIDI channels:
Select which MIDI channels will be stored into an SMF.

Save MIDI events:
Select which type of events will be stored into an SMF and the format of the SMF (format #0 or #1).

The SMF filters can be set permanently in the configuration file MERIDIAN.INI.
\KPLAY FILTERSSelect which events must be sent via MIDI OUT when playing the song.
\KDISPLAY COLORSSets the display colors for:
- Screen foreground
- Screen background
- Window foreground
- Window background
- Errormessage foreground
- Errormessage background

The colorsettings can be set permanently in the configuration file MERIDIAN.INI.
\KATTACH MOUSEScan for a mouse. If you plugged a mouse in one of the 
ports while Meridian is already running, use this function to attach it to Meridian.
\KSAVE CONFIGSave the current settings of MERIDIAN to the file 'MERIDIAN.INI'. See 'Getting started \P Configuration file' for more info.

\HConfigurations fileF\KCONTACTFor more information, suggestions for improvement or any bugs to report, please contact MIDIPhonics:

\TMIDIphonics
\TDorsvloer 45
\T9205BN  Drachten
\TThe Netherlands

\TPhone: +31 512 546955
\TEmail: midiphonics@opl4.nl

And for the most recent information and free download of Meridian and Meridian MIDI drivers, visit the homepage www.opl4.nl
