CUSTOM FILES


FILE FORMATS

The sequencer uses a number of different kinds of support files to customize the way that it operates. These files are all ASCII text files that can be created using the editor in TEXT FILE VIEW, or by any ASCII text file editor. A selection of example files is included with the program.

All of the customization files used by BeatMaster conform to the same simple format. This format is consistent with that of a Windows initialization file such as WIN.INI. The files contain several lines of the form 'variable=value' which each specify the name and the value of one program variable. The lines are arranged into groups, each headed by a line specifying the title of the group enclosed in square-brackets. For example:

  [BeatMaster Options]
  MidiThru=Track
  SaveSettings=1
This is a group of settings entitled 'BeatMaster Options' which contains the settings for variables called MidiThru and SaveSettings. The end of a group is marked by a blank line. Any lines which start with a semi-colon (;) are ignored to allow the inclusion of comments. The first group in a file that has the required group name will be loaded (ie. one of each group per file).

Program Variable Groups

The table below shows the different groups of variables loaded from files.

  -------------------- -------------- ------ ------------------------------- 
   VARIABLE GROUP       DEFAULT FILE   LOAD   PURPOSE                        
  -------------------- -------------- ------ ------------------------------- 
   Playlist             None           Yes    Defines a playlist             
  -------------------- -------------- ------ ------------------------------- 
   KeyNames             DEFAULT.KEY    Yes    Assigns drum/effect names to   
                                              key-numbers in NOTE VIEW       
  -------------------- -------------- ------ ------------------------------- 
   ProgramNames         DEFAULT.PRG    Yes    Assigns names to program       
                                              numbers in PROGRAM VIEW        
  -------------------- -------------- ------ ------------------------------- 
   ControllerNames      DEFAULT.CTL    Yes    Assigns names to controller    
                                              numbers in CONTROLLER VIEW     
  -------------------- -------------- ------ ------------------------------- 
   SysexEvents          DEFAULT.SXE    Yes    Defines sysex events for use   
                                              in SYSEX EVENT VIEW            
  -------------------- -------------- ------ ------------------------------- 
   Palette              DEFAULT.PAL    Yes    Configures the colour palette  
                                              used for the display           
  -------------------- -------------- ------ ------------------------------- 
   BeatMaster General   DEFAULT.INI    No     General fixed system settings  
  -------------------- -------------- ------ ------------------------------- 
   BeatMaster Options   DEFAULT.INI    No     Settings for the OPTIONS MENU  
  -------------------- -------------- ------ ------------------------------- 
BeatMaster automatically attempts to load each group of settings (except the 'Playlist' group) when started up. Unless you have indicated otherwise (see Program Initialization Files) each group is assumed to be in the file listed as its 'DEFAULT FILE'. Groups marked 'Yes' in the 'LOAD' column can be reloaded with alternative settings using options provided by the FILE MENU. These groups all include a variable called Title which, if specified, is displayed when the group is loaded.

PLAYLISTS

The 'Playlist' group is used to specify a list of sequence files to be treated as a compilation. BeatMaster can automatically load and play up to sixteen sequences listed in a playlist. Each line in this group contains the name of a sequence file. A 'Title' line may also be included.

Playlist Example:

  [Playlist]
  Title=My Favourite Songs
  JAZZ.MID
  JAZZ
The above example defines a playlist which contains two songs; JAZZ.MID and JAZZ.BMS. Note that unless otherwise specified, the default extension (.BMS) is assumed. When this playlist is loaded, the title 'My Favourite Songs' is displayed and the sequence filenames are added to the bottom of the playlist sub-menu. You can load one of these files by selecting it from the menu.

EVENT NAMES

The event-name variable groups assign meaningful names used in the EVENT VIEW scales to note, program, and controller event-numbers. The way these events are used varies from one MIDI device to another. The name groups can be used to customize the names used in the scale in the views for these events to suit a specific device.

The default name files included with BeatMaster define the names used in the General MIDI specification.

The variable-names in each name group are the event numbers from 0 to 127. The names assigned to each number should be no longer than 14 characters to fit within the scale. The following program names group assigns the name 'Grand Piano' to program 0.

  [Program]
  0=Grand Piano
The event values need not be consecutive and the list does not have to define a name for every value. Undefined values are left blank in the scale.

You can edit the files which contain the current name groups by selecting the View/Edit Names option on the FILE MENU when in one of the relevant views. If you make any changes to the file, the names are automatically reloaded.

You can also load a specific name file for editing by using the Load Text option on the FILE MENU when in TEXT FILE VIEW. Changes made to name files using this option are not automatically reloaded; the updated file must be specifically loaded using the Load Names option on the FILE MENU.

SYSEX EVENTS

The 'Sysex' variable group is used to define system-exclusive (sysex) events for specific MIDI devices. Sysex events are defined by the manufacturer of a MIDI device and are described in the documentation for the device. A sysex event group contains a list of these sysex definitions.

The default sysex event file (DEFAULT.SXE) contains sysex events for the Yamaha DB50XG(tm).

The variable-names in a sysex event group are the names of the events to use in the scale in SYSEX EVENT VIEW. The value assigned to each name consists of a series of byte values which are used to create the actual sysex event. The byte values must be separated from each other by at least one space.

Sysex byte values are normally given in hexadecimal and BeatMaster assumes by default that this is how the values are given. To enter the byte values in decimal, add a line beginning with the word 'DECIMAL' before the start of the list. All values given in sysex definitions below are in hexadecimal.

The following line is an example of a simple fixed sysex event definition.

  [Sysex]
  GM Mode On=F0 7E 7F 09 01 F7
A single line can define up to 128 byte values. To define a very long sysex you have to break it up into lines of not more than 128 bytes. Each line should have the same variable (sysex) name. For example:

  Long SysEx=F0 7F 7F 04
  Long SysEx=01 7F 7F F7
The currently loaded sysex events file can be loaded and modified using the View/Edit Events option included on the FILE MENU when in SYSEX EVENT VIEW or SYSEX PARAMETER VIEW. Any changes made to a sysex event file loaded in this way are immediately reflected in SYSEX EVENT/PARAMETER VIEW.

You can also load a specific event file for editing by using the Load Text option on the FILE MENU when in TEXT FILE VIEW. Changes made to event files using this option are not automatically reloaded; the updated file must be specifically reloaded using the Load Events option on the FILE MENU.

SysEx Parameters

The definition for a sysex event can specify that certain bytes will be set to a different value each time the event is used in a sequence. These bytes are referred to as sysex parameters. They can be useful if a sysex contains bytes which select from a range of options or settings.

You may define a sysex event with parameter bytes and the same sysex with fixed byte values in the same file. Suppose, for example, that you wish to define a sysex which changes the main volume setting of a MIDI synthesizer. You might define a fixed sysex which contains the values for setting the main volume to maximum. You might also define another sysex using the same byte values but with parameter bytes in the positions which contain the new volume setting. You can then use this sysex to specify a different volume by changing the parameter byte values in SYSEX PARAMETER VIEW.

Note that if the parameter values of a sysex event in a track are set to the same values as fixed bytes in another version of the same sysex, the event will be moved along the scale in SYSEX EVENT VIEW and listed as the fixed version.

To specify a parameter byte in a sysex definition, place a question mark (?) in the position of the byte instead of a value. The value of this byte can then be set in SYSEX PARAMETER VIEW each time the sysex event is used.

The initial value of a parameter byte is set to zero by default. A different initial value may optionally be specified by including it immediately after the question mark. There should be no spaces between the question mark and the value. The value of a parameter can be any number from 0 to 127 (7Fh).

The next two lines demonstrate the use of parameter bytes in a definition. The parameters in the second definition have initial values specified.

  Main Vol=F0 7F 7F 04 01 ? ? F7
Main Vol=F0 7F 7F 04 01 ?7F ?7F F7

DB50XG SYSTEM EXCLUSIVES

The default sysex file (DEFAULT.SXE) contains sysex event definitions for the Yamaha DB50XG(tm) PC soundcard daughterboard. These sysexes are described below. You will not be able to use these events if your equipment is not compatible with this device. Most of them are used to select different effect types for the three built-in effects. The DB50XG can also receive many other sysexes which control effect parameters and various system settings. You can create your own files for these using the documentation included with the DB50XG.

General Events

XG On           Enables XG mode and resets all parameters
TG300B On Enables TG300B mode (compatible with GM System Level 1)
GM Mode On A Universal Non-Realtime sysex to enable General MIDI mode
Main Vol This is a Universal Realtime message which changes the master volume setting. This sysex event contains two parameters.
P01 Volume LSB (fine)
P02 Volume MSB (coarse)
XG Vol The DB50XG equivalent of the above using only one parameter.
P01 Master Volume
XG Pan This sysex has a similar effect to the standard MIDI channel pan controller (number 10). The interesting difference is that a setting of zero cause random panning (good for drums).
P01 Channel num (0=channel 1, 1=channel 2, etc.)
P02 Pan setting (0=random, 1=left, 127=right)
XG Bend Pitch Changes the XG's bend pitch (range) setting.
P01 Channel num (0=channel 1, 1=channel 2, etc.)
P02 Bend pitch settings (28=-24, 64=0, 58=+24 semitones)

Reverb Effects

These sysexes all begin with an upper-case 'R'. They are used to select one of the reverb effect types. The output level for the reverb effect can be set for each channel using controller number 91. The initial setting for this controller is set by the 'fx1' variable in CHANNEL VARIABLES VIEW.

R Hall 1        Reverb simulating the resonance of a hall
R Hall 2        Reverb simulating the resonance of a hall
R Room 1        Reverb simulating the resonance of a room
R Room 2        Reverb simulating the resonance of a room
R Room 3        Reverb simulating the resonance of a room
R Stage 1       Reverb appropriate for a solo instrument
R Stage 2       Reverb appropriate for a solo instrument
R Plate         Reverb simulating a metal plate reverb unit
R White Room    A unique short reverb with a bit of initial delay
R Tunnel        Simulation of a tunnel space expanding to left and right
R Basement      Initial delay followed by reverb with a unique resonance
R NO EFFECT     Effect turned off

Chorus Effects

These sysexes all begin with an upper-case 'C'. They are used to select one of the chorus effect types. The output level for the chorus effect can be set for each channel using controller number 93. The initial setting for this controller is set by the 'fx3' variable in CHANNEL VARIABLES VIEW.

C Chorus 1      Conventional chorus program that adds natural spaciousness
C Chorus 2      Conventional chorus program that adds natural spaciousness
C Chorus 3      Conventional chorus program that adds natural spaciousness
C Chorus 4      Chorus with stereo input using channel pan setting
C Celeste 1     A 3-phase LFO adds modulation and spaciousness
C Celeste 2     A 3-phase LFO adds modulation and spaciousness
C Celeste 3     A 3-phase LFO adds modulation and spaciousness
C Celeste 4     Celeste with stero input using channel pan setting
C Flanger 1     Adds a jet-airplane effect
C Flanger 2     Adds a jet-airplane effect
C Flanger 3     Adds a jet-airplane effect
C NO EFFECT     Effect turned off

Variation Effects

These sysexes all begin with an upper-case 'V'. They are used to control the variation effect and to select its effect types. The output level for the variation effect can be set for each channel using controller number 94. The initial setting for this controller is set by the 'fx4' variable shown in CHANNEL VARIABLES VIEW.

The four sysexes below are used to specify which channels (or 'parts') should use the variation effect. When the DB50XG is initialized the variation effect is disabled by default. Either 'V SYS (ALL)' or 'V INS (CHAN)' must be sent at the start of a sequence to enable the variation effect. A 'V INS (CHAN)' sysex must be followed by a 'V Part (CHAN)' sysex to specify the channel for the effect.

V Part OFF      Deactivate variation effect in single-channel mode
V Part (CHAN) Set a channel for the variation effect in single-channel mode. This sysex event contains one parameter which specifies the channel number for the effect (0-15).
V INS (CHAN) Set variation effect to 'INSERTION' (single-channel) mode
V SYS (ALL) Set variation effect to 'SYSTEM' (all channels) mode
The variation effect can be set to most of the reverb effects and all of the chorus effects. The sysexes for these settings have similar names to their reverb and chorus counterparts. The following describes the sysexes which are exclusive to the variation effect.

V Delay LCR     Creates three delay sounds; left, right and centre
V Delay LR      Creates two delay sounds; left and right
V Echo          Two delays (left and right) with independent feedback delays
V Cross Delay   Crosses the feedback of two delays
V Early Ref1    Produces only the early reflection component of reverb
V Early Ref2    Produces only the early reflection component of reverb
V Gate Rvrb     A simulation of a gated reverb
V Rev Gate      Simulation of a gated reverb played backwards
V Karaoke 1     Delay with feedback of the same type as karaoke reverb
V Karaoke 2     Delay with feedback of the same type as karaoke reverb
V Karaoke 3     Delay with feedback of the same type as karaoke reverb
V Symphonic     A multi-phase version of Celeste
V Rotary Spkr   Simulation of a rotary speaker
V Tremolo       Cyclically modulates the volume
V Auto Pan      Cyclically moves the sound image left, right, front and back
V Phaser 1      Cyclically changes the phase to add modulation
V Phaser 2      Phaser with stereo input
V Distortion    Adds a sharp-edged distortion
V Overdrive     Adds mild distortion
V Amp Sim       Simulation of a guitar amp
V 3Band mEQ     Mono EQ with adjustable LOW, MID and HIGH equalizing
V 2Band sEQ     Stereo EQ with adjustable LOW and HIGH (ideal for drums)
V Auto Wah      Cyclically modulates the centre frequency of a wah filter
V THRU          Bypass without applying an effect
V NO EFFECT     Effect turned off

PALETTE FILES

The 'Palette' group specifies the colour arrangement for the display palette. For example, a palette group may specify that blue is to be replaced by red. Once loaded, all blue parts of the display are instead printed in red.

The default palette file (DEFAULT.PAL) simply resets the palette to the default settings. It is included to provide a template for customized palettes.

The variables and values in the 'Palette' group are the names of colours. The variable is the colour to replace and the value is the colour to replace it with. Undefined colours are set to normal. These are the colours names:

             BLACK      RED         DARKGRAY     LIGHTRED

             BLUE       MAGENTA     LIGHTBLUE    LIGHTMAGENTA

             GREEN      BROWN       LIGHTGREEN   YELLOW

             CYAN       LIGHTGRAY   LIGHTCYAN    WHITE
The following example palette group swaps the colours red and blue.

  [Palette]
  BLUE=RED
  RED=BLUE
The current palette configuration can be loaded and modified by selecting the View/Edit Palette option on the FILE MENU.

PROGRAM INITIALIZATION FILES

Each time BeatMaster is started it looks for a program initialization file. This is an ASCII text file containing the settings for various configurable program variables. The default file used is DEFAULT.INI. You can specify a different file by using the /i command-line option. For example, to use a file called 'MYCONFIG.INI', start the program by typing;

  BEATMAST /iMYCONFIG.INI
A BeatMaster initialization file contains two different groups of settings. The settings in each of these groups are described below.

BeatMaster General

The settings in the 'BeatMaster General' group are are either default initial values used when the program is started, or fixed values used throughout an entire BeatMaster session until you exit the program. If you modify any of the settings in this group using the editor in TEXT FILE VIEW, you will need to exit and restart the program for the changes to take effect.

The chart below lists each of the settings in the BeatMaster General group.

  Variable            Default Value     Purpose
  --------------------------------------------------------------------------

  NewFile             UNTITLED.BMS      Default name for a new sequence.
HelpFile DEFAULT.HLP Help-path & name of the default file.
DefaultKey DEFAULT.KEY Initial key-names filename.
DefaultProgram DEFAULT.PRG Initial program-names filename.
DefaultControl DEFAULT.CTL Initial controller-names filename.
DefaultPalette DEFAULT.PAL Initial palette configuration file.
DefaultSysex DEFAULT.SXE Initial SysEx event file.
DefaultFM DEFAULT.FM Initial FM instrument definitions.
DefaultNote 1 127 0 12 Default note settings; MIDI channel (1..16), on-velocity (1..127), off- velocity (0..127) and length (1..?)
MetronomeNote A 1 48 60 Metronome note settings; MIDI port (A..D), MIDI channel (1..16), notes on beats (0..127) and bars (0..127)
UndoBuffer 1 Undo Buffer on (1) or off (0).
SysexPause 100 Milliseconds to pause between SysEx sub-packets.

BeatMaster Options

The 'BeatMaster Options' group contains the settings for the OPTIONS MENU. These settings can be updated automatically using the options on that menu. Selecting Save Options will update the initialization file immediately. Enabling the Save On Exit option causes the file to be updated when the program terminates. When saving, BeatMaster will create an initialization file containing all groups and settings if none already exists.

The following chart describes each of the settings in the BeatMaster Options group.

  Variable            Default Value     Purpose
  --------------------------------------------------------------------------

  PortA               FM 220            Interface port A type and address.
  PortB               FM 220            Interface port B type and address.
  PortC               FM 220            Interface port C type and address.
  PortD               FM 220            Interface port D type and address.
                                        The settings above select the type
                                        and I/O port address of each of the
                                        four available MIDI ports.  The type
                                        can be FM, SB or MPU and will depend
                                        on your hardware setup.  The address
                                        must be specified in hexadecimal.
MidiThru Track Specifies the destination for MIDI data received from MIDI-IN. The value can be Off, Track, or a letter indicating an interface port (A..D).
RealTime 0 Real-time events on/off.
SongPosition 1 Song Position Pointer events on/off.
Clock 1 Real-time clock events on/off.
ClockRate 24 Real-time clock rate (24/48/96/192).
Tempo 120 Default sequence tempo (10..500).
Metronome 0 Metronome type (0..2 = Off/PC/MIDI).
BeatsPerBar 4 Beats per bar (1..48).
BeatsPerZoom 4 Beats per zoom (1..48).
InitialControls 2 Initial controller transmission mode (0..2 = Off/Semi/Auto).
BackUp 1 Automatic file backup on/off.
FileFormat 1 File format (0/1 = Normal/Extended).
SaveSettings 1 Automatic save-settings on/off.


Go to BeatMaster : Info