Generated: Monday, November 14, 2011, 09:15:15 Copyright © 2011 , Kurt NÝrmark The local LAML software home page

MIDI LAML - Midi Sequencing in Scheme

Kurt NÝrmark Department of Computer Science, Aalborg University, Denmark.

This page documents the Standard MIDI File DTD as provided for Scheme via LAML. The starting point of this DTD was the already existing MIDI XML DTD from the MIDI Manufacturers Association. I have extended the DTD in various ways, and for various purposes.

The Standard MIDI File language is made available as a Scheme library of functions that mirror the DTD. (In this context, Scheme is the name of a programming language). This is the same approach as used for many other DTDs supported by LAML. The advantage of providing the language as Scheme functions is that the Scheme programming language can be used to modify the MIDI contents via programmed solutions. Thus, the main idea with this facility is to convert MIDI files to Scheme programs, in which the musical contents can manipulated by Scheme functions. The MIDI LAML facilities can be regarded as support of Midi Sequencing in Scheme on the basis of XML. When the Scheme program is executed the corresponding standard MIDI file is generated. As for many other parts of LAML, the Scheme Midi sequencer is - operationally - supported by an environment in Emacs.

In this document we do not describe any MIDI details. Please consult other resources, for instance the excellent descriptions of MIDI topics at http://home.roadrunner.com/~jgglatt/. For each MIDI element documented below, we refer to a particular page of this very useful MIDI documentation.

The Midi Function Library provides useful functionality for various transformation of midi files.

Table of Contents:
1. Practical Introduction 4. MIDI channel messages: Control change 7. Other functions
2. Standard MIDI File structure 5. System messages 8. Internal Matters
3. MIDI Channel Messages 6. CASM Section.
A. Mirror Information Appendix

Alphabetic index:
ActiveSensing
AllNotesOff All notes currently played are muted.
AllSoundOff All sounds currently played are muted.
CasmSection The root construct of the CASM section
ChannelKeyPressure
chord-mute Mute the accompaniment if one of the listed chors are played.
cntt
Continue
ControlChange Sets the value of a particular controller, such as modulation wheel, bank selection, or pan.
cseg The CASM section of a style consists of up to 16 CSEG structures.
ctab A CTAB structure maps one source channel to one destination channel, and it sets a number of parameter of this mapping.
EndingA Ending A
EndingB Ending B
EndingC Ending C
FillInAA Fill In AA
FillInAB Fill In AB - Not used on Tyros 1
FillInBA Finn In BA - Break
FillInBB Fill In BB
FillInCC Fill In CC
FillInDD Fill In DD
IntroA Introduktion A
IntroB Introduction B
IntroC Introduction C
LocalControl A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
MainA Main A
MainB Main B
MainC Main C
MainD Main C
Meta
midi-file-to-laml Convert a binary MIDI file, located at midi-file-path, to a LAML file with a single Scheme expression which represents the MIDI file.
midi-files-to-laml-files Do bulk conversion of a list of midi files to LAML source files.
MidiHeader The header construct of a standard MIDI file.
MidiSection The midi section of a style.
MidiTrack There must be as many MidiTrack constituents as prescribed by the numberOfTracks attribute in the MidiHeader element.
MonoMode A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
MTCQuarterFrame
NonMidiSuffix Trailing non-midi data which happens to be at the end of the standard midi file.
note-mute Mute the accompaniment if one of the listed notes are played.
note-name-to-note-number Convert at note name to a note number.
note-number-to-note-name Convert at note number to a note name.
NoteOff A Note Off MIDI message.
NoteOn A Note On MIDI message.
OmniOff A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
OmniOn A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
PitchBendChange
PolyKeyPressure
PolyMode A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
ProgramChange Change of instrument (also known as Patch) of a particular channel.
ResetAllControllers A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
sdec The SDEC structure defines the style parts, for which the sibling CTAB and CNTT, applies.
SongPositionPointer
SongSelect
StandardMidiFile This is the general purpose top-level construct for description of a Standard MIDI File.
Start
Stop
StyleId The part of the style after the SFF1 marker (but before the SInt marker)
StyleInit The part of the style before the SFF1 marker
StyleSetup The part of the style after the SInt marker.
SysEx
TimingClock
TuneRequest
TyrosMultiPad This is a special purpose top-level construct for description of a Yamaha Tyros Multipad that consists of four tracks
TyrosStyle This is a special purpose top-level construct for description of a Yamaha Styles - which a Midi Format 0 files in front of a non-midi suffix.


1 Practical Introduction

It is possible to convert at standard (binary) MIDI file to a Scheme expression, which uses the functions documented below on this page. The most flexible way to produce the Scheme XML-in-LAML form is to activate M-x midi-to-laml on an entry in an Emacs dired buffer. There is also a dired operate menu entry for this purpose. The midi-to-laml command produces a Scheme source file (with extension midl - abbreviating for midi laml) which you can edit. Please notice that the LAML Scheme source files with MIDI contents becomes very large, often more than one mega byte for a single song. Therefore it can take relatively long time to generate the LAML Scheme files.

If you do not use Emacs with LAML you should start your Scheme system, load laml.scm and midi.scm, and call the function midi-file-to-laml. This approach is a little more complicated. The function midi-file-to-laml is documented below.

When you the process the LAML file produced the way described above a (binary) standard MIDI file is created. The processing can be initiated as any other LAML processing (via Emacs, in an interactive Scheme shell, or from the command prompt of the operating system).

Thus, in summary, we provide for parsing of binary MIDI files to a Scheme expression. If you are a Scheme programmer it will be easy for you to modify the MIDI contents via this expression. When you are done, you can evaluate the Scheme expression. In this way you produce a variant of the original MIDI file.



2 Standard MIDI File structure

As described in the attributes of MidiHeader we can use several modes when we generate the XML-in-LAML source file. The raw mode is not very interesting, because it is too low-level. Raw mode Scheme expressions reflect the underlying MIDI file directly, with both NoteOn and NoteOff messages.

The deltaTime or absTime modes are recommended. In these modes NoteOff messages do not exists. Instead, each NoteOn messages has a duration. In absTime mode you can include messages with deltaTime attributes as well. Such messages becomes relative the either the previous message (which again can be a message with a deltaTime attribute, or it can be a message with an absTime attribute).

In deltaMode you cannot include messages with absTime attributes.


StandardMidiFile
Description This is the general purpose top-level construct for description of a Standard MIDI File.
XML content model ( ( MidiHeader , MidiTrack + ) , NonMidiSuffix ? )

TyrosMultiPad
Description This is a special purpose top-level construct for description of a Yamaha Tyros Multipad that consists of four tracks
XML content model ( MidiTrack + )
XML attributes
Required: *
Default values: red
mode * ( deltaTime | absTime ) Either absolute or relative timing
image CDATA An icon name
extension CDATA -
name-1 * CDATA -
repeat-1 ( true | false ) -
chord-match-1 ( true | false ) -
image-1 CDATA -
name-2 * CDATA -
repeat-2 ( true | false ) -
chord-match-2 ( true | false ) -
image-2 CDATA -
name-3 * CDATA -
repeat-3 ( true | false ) -
chord-match-3 ( true | false ) -
image-3 CDATA -
name-4 * CDATA -
repeat-4 ( true | false ) -
chord-match-4 ( true | false ) -
image-4 CDATA -
play-only NMTOKEN A track/multipad number (either 1, 2, 3, or 4). If provided, play only this track. Alternatively, a boolean play-only attribute can be put on one of the MidiTrack elements. The TyrosMultiPad play-only dominates a MidiTrack play-only attribute. If no TyrosMultiPad play-only or no MidiTrack play-only attribute is given, play all tracks.

TyrosStyle
Description This is a special purpose top-level construct for description of a Yamaha Styles - which a Midi Format 0 files in front of a non-midi suffix. The Yamaha style format control the automatic accompaniment of an instrument.
XML content model ( MidiSection , CasmSection , NonMidiSuffix ? )
XML attributes
Required: *
Default values: red
mode * ( deltaTime | absTime )
image CDATA An encoding of an icon name
extension ( sty | pst | psc | sst | prs | bcs )
pulsesPerQuarterNote * NMTOKEN
See also Example Deleting from existing style
Example Adding pieces to an empty style - See MainA.
Useful function The function icon which returns possible values for the image attribute.

MidiHeader
Description The header construct of a standard MIDI file. Holds some front matters information which apply to the entire MIDI file.
XML content model EMPTY
XML attributes
Required: *
Default values: red
format * ( 0 | 1 | 2 ) Represent the format of the midi LAML document. Per default, this corresponds to the format of the parsed midi file. In case of track separation, the value of this attribute will be 1. This corresponds directly to the three different formats of MIDI files. Either 0 or 1. Midi format 2 is not supported at all in this sofware.
target-format ( 0 | 1 ) The format of the midi file, which can be generated by this tool. Either 0 or 1. Defaults to the value of the format attribute. It is not (yet) possible to generate a format 1 file from a format 0 midi laml document.
numberOfTracks * NMTOKEN Represents the number of tracks. A MIDI format 0 file always has one track.
pulsesPerQuarterNote * NMTOKEN The resolution of a quarter note. Value as it appears in a read midi file.
target-pulsesPerQuarterNote NMTOKEN The resolution of a quarter note. Value to be used when generating a midi file.
mode * ( raw | deltaTime | absTime ) The mode of the generated LAML file. The value raw means that the LAML MIDI file is a direct reflection of the underlying MIDI file, with both NoteOn and NoteOff messages. The value deltaTime means that the time of an event is relative to the previous event, and that the NoteOff messages therefore have been elimiated. The duration attribute is used. The value absTime means that the time of each event is absolute, and in addition that the NoteOff messages have been eliminated. The duration attribute is used.
counterTransposition NMTOKEN An amount of transposition introduced to show note info that corresponds to actual playing at the keyboard. If you transpose n at the keyboard, give -n as counter transposition for this attribute.
See also enclosing element StandardMidiFile

MidiTrack
Description There must be as many MidiTrack constituents as prescribed by the numberOfTracks attribute in the MidiHeader element. The subelements of MidiTrack are elements that represent the individual MIDI messages.
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
play-only ( true | false ) If true, play only this track. If no play-only attribute is given, play all tracks. The TyrosMultiPad play-only dominates a MidiTrack play-only attribute.
fixed-part CDATA -
See also enclosing elements StandardMidiFile TyrosMultiPad

NonMidiSuffix
Description Trailing non-midi data which happens to be at the end of the standard midi file. CASM data in Yamaha styles files is example of such data. Represented in hexadecimal notation.
XML content model (#PCDATA)
See also enclosing elements StandardMidiFile TyrosStyle


3 MIDI Channel Messages
In this section we describe the XML elements which corresponds to standard MIDI messages. Notice that the documentation of many attributes are repetitive (the same information is given for each element). In general, a channel is in between 1 and 16 at the LAML source level (0 and 15 at the binary MIDI level). You can use channels below 1 and above 16 for intermediate results, but only channels between 1 and 16 are taken into account when binary midi content is generated.

NoteOn
Description A Note On MIDI message. Exactly one of attributes absTime and deltaTime must be present.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
note * NMTOKEN The note number, between 0 and 127. Typically shown as a note name in the info attribute. This attribute represents information from the MIDI specification.
velocity * NMTOKEN The velocity, between 0 and 127. This attribute represents information from the MIDI specification.
duration NMTOKEN Only used in deltaTime and absTime mode. The duration of raw mode is represented by pairs of NoteOn and NoteOff elements. This attribute represents information from the MIDI specification.
chord CDATA A chord formed as an immediate concatenation of a root node and a chord type. This is not an essential attribute, and it does not itself affect the binary midi generated from this element. Root note is one of "C" "C#" "D" "D#" "E" "F" "F#" "G" "G#" "A" "A#" "B" (a string). Chord type is one of "1+8" "1+5" "M" "6" "M7" "M7b5" "M7(#11)" "9" "M7_9" "6_9" "b5" "aug" "7aug" "M7aug" "m" "m6" "m7" "m7b5" "m(9)" "m7(9)" "m7(11)" "mM7b5" "mM7" "mM7(9)" "dim" "dim7" "7" "7sus4" "7(9)" "7(#11)" "7(13)" "7b5" "7(b9)" "7(b13)" "7(#9)" "sus4" "sus2" (a string).
strum-length NMTOKEN A special purpose attribute used for strumming. An integer.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details NoteOn

NoteOff
Description A Note Off MIDI message. NoteOff elements cannot be used in detaTime and in absTime mode. Only use NoteOff elements in raw mode.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
note * NMTOKEN The note number, between 0 and 127. Typically shown as a note name in the info attribute. This attribute represents information from the MIDI specification.
velocity * NMTOKEN The velocity, between 0 and 127. This attribute represents information from the MIDI specification.
duration NMTOKEN -
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details NoteOff

PolyKeyPressure
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
note * NMTOKEN The note number, between 0 and 127. Typically shown as a note name in the info attribute. This attribute represents information from the MIDI specification.
pressure * NMTOKEN The amount of pressure, between 0 and 127. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details PolyKeyPressure

ProgramChange
Description Change of instrument (also known as Patch) of a particular channel.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA -
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
number * NMTOKEN A program change number. A GM instrument number. Between 0 and 127. This attribute represents information from the MIDI specification.
See also MIDI specification details ProgramChange
Instrument numbers Table
enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB

ChannelKeyPressure
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
pressure * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details ChannelKeyPressure

PitchBendChange
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
value * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details PitchBendChange


4 MIDI channel messages: Control change

ControlChange
Description Sets the value of a particular controller, such as modulation wheel, bank selection, or pan.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
control * NMTOKEN
value * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details ControlChange

AllSoundOff
Description All sounds currently played are muted.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details AllSoundOff

ResetAllControllers
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details ResetAllControllers

LocalControl
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
value * ( off | on )
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details LocalControl

AllNotesOff
Description All notes currently played are muted. If, however, sustain or sostenuto is on, notes will continue sounding until these are turned off.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details AllNotesOff

OmniOff
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association). A channel mode message, which is a subcategory of the control change messages. The control number is 124.
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details OmniOff

OmniOn
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details OmniOn

MonoMode
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
value * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details MonoMode

PolyMode
Description A specialized ControlChange event, which happens to have its own name (because of the XML starting point from MIDI Manufacturers Association).
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The channel number between 1 and 16. Internally we subtract one channel when binary MIDI files are created. This attribute represents information from the MIDI specification.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details PolyMode


5 System messages
System messages are not particular to any midi channel.

SysEx
Description
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN -
absTime NMTOKEN -
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details SysEx

MTCQuarterFrame
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
value * NMTOKEN -
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details MTCQuarterFrame

SongPositionPointer
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
position * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details SongPositionPointer

SongSelect
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
number * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details SongSelect

TuneRequest
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details TuneRequest

TimingClock
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details TimingClock

Start
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details Start

Continue
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB

Stop
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details Stop

ActiveSensing
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details ActiveSensing

Meta
Description
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
deltaTime NMTOKEN The delta time of this MIDI message. Relative to the previous MIDI message. If a deltaTime attribute appears a absTime attribute is not allowed.
absTime NMTOKEN The time absolute. If an absTime attribute appears a deltaTime attribute is not allowed.
info CDATA Helpful information derived from other attributes. You should never modify this attribute, because it is not processed in any way. Always change the attributes which have direct MIDI counterparts.
type * NMTOKEN
See also enclosing elements MidiTrack StyleInit StyleId StyleSetup IntroA IntroB IntroC MainA MainB MainC MainD EndingA EndingB EndingC FillInAA FillInBB FillInCC FillInDD FillInBA FillInAB
See also MIDI specification details Meta

MidiSection
Description The midi section of a style. Intended to be side by side with other sections, such as the CASM section (to come). The attributes of this section are inherited to the individual sections, but is probably not very useful for the current set of attributes.
XML content model ( StyleInit , StyleId , StyleSetup , ( IntroA | IntroB | IntroC | MainA | MainB | MainC | MainD | EndingA | EndingB | EndingC | FillInAA | FillInBB | FillInCC | FillInDD | FillInBA | FillInAB ) + )
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element TyrosStyle

StyleInit
Description The part of the style before the SFF1 marker
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
See also enclosing element MidiSection

StyleId
Description The part of the style after the SFF1 marker (but before the SInt marker)
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
See also enclosing element MidiSection

StyleSetup
Description The part of the style after the SInt marker. Intended for Controller and Program Change events (instrument setup).
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
See also enclosing element MidiSection

IntroA
Description Introduktion A
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

IntroB
Description Introduction B
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

IntroC
Description Introduction C
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

MainA
Description Main A
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA A comma separated list of channel numbers between 1 and 16. Avoid space between numbers.
limitQN * CDATA A cut-off length, measured in quarter notes. If a piece (after ppqn adaption and repetition) is longer than limitQN, it is cut off. FillIn sections are automatically cut off to one bar (which can be 4 QN = 4 quarter notes if the signature is 4:d).
addMidiPart1 CDATA An absolute file path a midi part piece (an ordinary midi file).
addMidiPart2 CDATA
addMidiPart3 CDATA
addMidiPart4 CDATA
addMidiPart5 CDATA
addMidiPart6 CDATA
addMidiPart7 CDATA
addMidiPart8 CDATA
addMidiPart9 CDATA
addMidiPart10 CDATA
addMidiPart11 CDATA
addMidiPart12 CDATA
addMidiPart12 CDATA
addMidiPart14 CDATA
addMidiPart15 CDATA
addMidiPart16 CDATA
addAsChannel1 CDATA The channel assigned to the added midi part.
addAsChannel2 CDATA
addAsChannel3 CDATA
addAsChannel4 CDATA
addAsChannel5 CDATA
addAsChannel6 CDATA
addAsChannel7 CDATA
addAsChannel8 CDATA
addAsChannel9 CDATA
addAsChannel10 CDATA
addAsChannel11 CDATA
addAsChannel12 CDATA
addAsChannel13 CDATA
addAsChannel14 CDATA
addAsChannel15 CDATA
addAsChannel16 CDATA
repetitions1 CDATA The number of repetions of the added part. Each repetition is forced to have a length of partLengthQN (measured in quarter notes). If the pieces length is less than partLengthQN, a pause is added before the next repetition.
repetitions2 CDATA
repetitions3 CDATA
repetitions4 CDATA
repetitions5 CDATA
repetitions6 CDATA
repetitions7 CDATA
repetitions8 CDATA
repetitions9 CDATA
repetitions10 CDATA
repetitions11 CDATA
repetitions12 CDATA
repetitions13 CDATA
repetitions14 CDATA
repetitions15 CDATA
repetitions16 CDATA
partLengthQN1 CDATA The required minimum length of the added part Measured in quarter notes. Only used together with the attribute repetitions Mandatory if the attribute repetitions is used.
partLengthQN2 CDATA
partLengthQN3 CDATA
partLengthQN4 CDATA
partLengthQN5 CDATA
partLengthQN6 CDATA
partLengthQN7 CDATA
partLengthQN8 CDATA
partLengthQN9 CDATA
partLengthQN10 CDATA
partLengthQN11 CDATA
partLengthQN12 CDATA
partLengthQN13 CDATA
partLengthQN14 CDATA
partLengthQN15 CDATA
partLengthQN16 CDATA
See also enclosing element MidiSection

MainB
Description Main B
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

MainC
Description Main C
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

MainD
Description Main C
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

EndingA
Description Ending A
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

EndingB
Description Ending B
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

EndingC
Description Ending C
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInAA
Description Fill In AA
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInBB
Description Fill In BB
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInCC
Description Fill In CC
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInDD
Description Fill In DD
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInBA
Description Finn In BA - Break
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.

FillInAB
Description Fill In AB - Not used on Tyros 1
XML content model ( NoteOn | NoteOff | PolyKeyPressure | ControlChange | ProgramChange | ChannelKeyPressure | PitchBendChange | AllSoundOff | ResetAllControllers | LocalControl | AllNotesOff | OmniOff | OmniOn | MonoMode | PolyMode | SysEx | MTCQuarterFrame | SongPositionPointer | SongSelect | TuneRequest | TimingClock | Start | Continue | Stop | ActiveSensing | Meta ) *
XML attributes
Required: *
Default values: red
deleteChannels CDATA -
limitQN * CDATA -
addMidiPart1 CDATA -
addMidiPart2 CDATA -
addMidiPart3 CDATA -
addMidiPart4 CDATA -
addMidiPart5 CDATA -
addMidiPart6 CDATA -
addMidiPart7 CDATA -
addMidiPart8 CDATA -
addMidiPart9 CDATA -
addMidiPart10 CDATA -
addMidiPart11 CDATA -
addMidiPart12 CDATA -
addMidiPart12 CDATA -
addMidiPart14 CDATA -
addMidiPart15 CDATA -
addMidiPart16 CDATA -
addAsChannel1 CDATA -
addAsChannel2 CDATA -
addAsChannel3 CDATA -
addAsChannel4 CDATA -
addAsChannel5 CDATA -
addAsChannel6 CDATA -
addAsChannel7 CDATA -
addAsChannel8 CDATA -
addAsChannel9 CDATA -
addAsChannel10 CDATA -
addAsChannel11 CDATA -
addAsChannel12 CDATA -
addAsChannel13 CDATA -
addAsChannel14 CDATA -
addAsChannel15 CDATA -
addAsChannel16 CDATA -
repetitions1 CDATA -
repetitions2 CDATA -
repetitions3 CDATA -
repetitions4 CDATA -
repetitions5 CDATA -
repetitions6 CDATA -
repetitions7 CDATA -
repetitions8 CDATA -
repetitions9 CDATA -
repetitions10 CDATA -
repetitions11 CDATA -
repetitions12 CDATA -
repetitions13 CDATA -
repetitions14 CDATA -
repetitions15 CDATA -
repetitions16 CDATA -
partLengthQN1 CDATA -
partLengthQN2 CDATA -
partLengthQN3 CDATA -
partLengthQN4 CDATA -
partLengthQN5 CDATA -
partLengthQN6 CDATA -
partLengthQN7 CDATA -
partLengthQN8 CDATA -
partLengthQN9 CDATA -
partLengthQN10 CDATA -
partLengthQN11 CDATA -
partLengthQN12 CDATA -
partLengthQN13 CDATA -
partLengthQN14 CDATA -
partLengthQN15 CDATA -
partLengthQN16 CDATA -
See also enclosing element MidiSection
Note Same attributes as Main A etc.


6 CASM Section.
The CASM section is specific to Yamaha styles (automatic accompaniments). The CASM section maps (up to) 16 source channels to 8 destination channels, and it controls a variety of parameters of the automatic accompaniment. The best available documentation of the CASM section is found in Style Files - Introduction and Details by Peter Wierzba and Michael P. Bedesem. Some formulations below are taken directly from this document.

CasmSection
Description The root construct of the CASM section
XML content model ( cseg ) *
See also enclosing element TyrosStyle

cseg
Description The CASM section of a style consists of up to 16 CSEG structures. A CSEG structure defines common style parameters for a number of style parts (such as Main A, Main B, Intro A, etc).
XML content model ( sdec , ctab * , cntt * )
See also enclosing element CasmSection

sdec
Description The SDEC structure defines the style parts, for which the sibling CTAB and CNTT, applies. The contents of a SDEC is a comma separated list of style parts. The possible style parts are Intro A, Intro B, Intro C, Intro D, Main A, Main B, Main C, Main D, Fill In AA, Fill In BB, Fill In CC, Fill In DD, Fill In BA, Ending A, Ending B, Ending C, Ending D.
XML content model (#PCDATA)
See also enclosing element cseg

ctab
Description A CTAB structure maps one source channel to one destination channel, and it sets a number of parameter of this mapping. There is one CTAB structure for each source channel. The CTAB structures apply for the style parts of the enclosing CSEG structure.
XML content model ( note-mute , chord-mute )
XML attributes
Required: *
Default values: red
source-channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The source channel.
name * CDATA A name of this CTAB structure. Max 8 characters.
destination-channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The destination channel. A integer between 9 and 16.
editable ( true | false ) Is the data in this source channel editable on the instrument.
source-chord-key * ( C | CS | D | Eb | E | F | FS | G | GS | A | Bb | B ) Controls the original key of the source channel, together with the attribute source-chord-type.
autostart-enable * ( true | false ) If enabeled, the channel will play before a chord is pressed.
source-chord-type * ( maj | maj6 | maj7 | maj7s11 | maj9 | maj7-9 | maj6-9 | aug | min | min6 | min7 | min7b5 | min-9 | min7-9 | min7-11 | min-maj7 | min-maj7-9 | dim | dim7 | 7th | 7sus4 | 7b5 | 7-9 | 7s11 | 7-13 | 7-b9 | 7-b13 | 7-s9 | maj7aug | 7aug | 1-plus-8 | 1-plus-5 | sus4 | 1-plus-2-plus-5 | cancel ) Controls the original key of the source channel, together with the attribute source-chord-key.
note-transposition-rule * ( root-transposition | root-fixed ) root-transposition: When transposed the pitch relationship between notes is maintained, i.e. the same inversion of the chord is used. For example, the notes C3, E3, and G3 in the key of C will become F3, A3, and C4 when transposed to F. Use this setting for parts that contain melodic lines.
root-fixed: The note is kept as close as possible to the previous note range, i.e. a different inversion of the chord may be used. For example, the notes C3, E3, and G3 in the key of C will become C3, F3, and A3 when transposed to F. Use this setting for chordal parts, e.g. for rhythm guitar parts. Formulations taken from Wierzba and Bedesem
note-transposition-table * ( bypass | melody | chord | bass | melodic-minor | harmonic-minor ) Specifies the method for source pattern transposition.
bypass: Playback is independent on the chord used during playback. Used for drum channels.
melody: Used for melodic channels, which typically are assigned to target channel 15 or 16 (Phrase 1 or Phrase 2).
chord: Typically used for chord-oriented channels that are assinged to target channel 12 or 13 (Chord 1 or Chord 2).
bass: Typically used for bass channels assigned to target channel 11 (Bass).
melodic-minor: Typically used for melodic channels assigned to target channel 15 or 16 (Phrase 1 or phrase 2) where only major/minor chars are played. For intros and endings.
harmonic-minor: Typically used for melodic channels assigned to target channel 15 or 16 (Phrase 1 or phrase 2) where only major/minor chars are played. For intros and endings. Formulations taken from Wierzba and Bedesem
high-key * ( C | CS | D | Eb | E | F | FS | G | GS | A | Bb | B ) Specifies the upper root limit. The letter case of the attribute value is not important. Chords whith a root higher than the specified limit will be played in the octave immediately below the high-key limit. This setting does only apply when the note-transposition-rule is set to root-transposition. Formulations taken from Wierzba and Bedesem
note-low-limit * CDATA 'Note Low Limit' and 'Note High Limit' specify the low and high note limits for all notes played in the specified part. A note name, such as C-2 (= C in octave -2) or G8. If a transposed note is outside this range, then the note is transposed to the nearest octave within the range. The range must be at least one octave. This can be used to ensure that only notes are played that are in the range of the respective instrument. Formulations taken from Wierzba and Bedesem
note-high-limit * CDATA 'Note Low Limit' and 'Note High Limit' specify the low and high note limits for all notes played in the specified part. A note name, such as C-2 (= C in octave -2) or G8. If a transposed note is outside this range, then the note is transposed to the nearest octave within the range. The range must be at least one octave. This can be used to ensure that only notes are played that are in the range of the respective instrument. Formulations taken from Wierzba and Bedesem
retrigger-rule * ( stop | pitch-shift | pitch-shift-to-root | retrigger | retrigger-to-root | note-generator ) stop: The note is stopped.
pitch-shift: The pitch of the note will bend without attack to match the type of the new chord.
pitch-shift-to-root: The pitch of the note will bend without attack to match the root of the new chord.
retrigger: The note is retriggered with attack at a new pitch matching the new chord type.
retrigger-to-root: The note is retriggered with attack at a new pitch matching the new chord root.
note-generator: This setting will only be available if programmed in the original style. A designated note is produced with designated pitch, length, and velocity matching the new chord. Formulations taken from Wierzba and Bedesem
special-feature-bytes * CDATA -
See also enclosing element cseg

note-mute
Description Mute the accompaniment if one of the listed notes are played. The muting is done after transposition at the instrument. A comma-separated list of C, CS, D, Eb, E, F, FS, G, GS, A, Bb, B. The letter case is not important. The order of the notes is arbitrary. Spaces are allowed before or after the commas.
XML content model (#PCDATA)
See also enclosing element ctab
Note note-complement is a useful helping function which accepts and returns a comma separated list of note names

chord-mute
Description Mute the accompaniment if one of the listed chors are played. A comma-separated list of maj, maj6, maj7, maj7s11, maj9, maj7-9, maj6-9, aug, min, min6, min7, min7b5, min-9, min7-9, min7-11, min-maj7, min-maj7-9, dim, dim7, 7th, 7sus4, 7b5, 7-9, 7s11, 7-13, 7-b9, 7-b13, 7-s9, maj7aug, 7aug, 1-plus-8, 1-plus-5, sus4, 1-plus-2-plus-5. The letter case is not important. The order of the chords are arbitrary. Spaces are allowed before or after the commas.
XML content model (#PCDATA)
See also enclosing element ctab
Note chord-complement is a useful helping function which accepts and returns a comma separated list of chord names

cntt
Description
XML content model EMPTY
XML attributes
Required: *
Default values: red
source-channel * ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 ) The source channel.
bass-on-off * ( on | off ) If on, recognize on-bass chords allowed in fingered-on-bass fingering regardless of NTT setting.
note-transposition-table * ( bypass | melody | chord | bass | melodic-minor | harmonic-minor | harmonic-minor-5 | natural-minor | natural-minor-5 | dorian-minor | dorian-minor-5 ) Overrides similar attribtue in the ctab section. Specifies the method for source pattern transposition.
bypass: Playback is independent on the chord used during playback. Used for drum channels.
melody: Used for melodic channels, which typically are assigned to target channel 15 or 16 (Phrase 1 or Phrase 2).
chord: Typically used for chord-oriented channels that are assinged to target channel 12 or 13 (Chord 1 or Chord 2).
bass: Typically used for bass channels assigned to target channel 11 (Bass).
melodic-minor: Typically used for melodic channels assigned to target channel 15 or 16 (Phrase 1 or phrase 2) where only major/minor chars are played. For intros and endings.
harmonic-minor: Typically used for melodic channels assigned to target channel 15 or 16 (Phrase 1 or phrase 2) where only major/minor chars are played. For intros and endings. In addition harmonic-minor-5, natural-minor, natural-minor-5, dorian-minor, and dorian-minor-5 Formulations taken from Wierzba and Bedesem
See also enclosing element cseg


7 Other functions

midi-file-to-laml
Form (midi-file-to-laml midi-file-path laml-file-path mode)
Description Convert a binary MIDI file, located at midi-file-path, to a LAML file with a single Scheme expression which represents the MIDI file. Write the Scheme expression to a text file located at laml-file-path. mode is either raw, absTime or deltaTime. raw: delta times with NoteOn and NoteOff. absTime: absolute times with durations. deltaTime: delta times with duration.

midi-files-to-laml-files
Form (midi-files-to-laml-files input-dir midi-file-list output-dir mode)
Description Do bulk conversion of a list of midi files to LAML source files.

note-number-to-note-name
Form (note-number-to-note-name n)
Description Convert at note number to a note name. The inverse function is note-name-to-note-number.

note-name-to-note-number
Form (note-name-to-note-number name)
Description Convert at note name to a note number. The inverse function is note-number-to-note-name. The note names in, for instance octave number 3, are C3, C#3, D3, D#3, E3, F3, F#3, G3, G#3, A3, A#3, and B3. Both upper and lower case note names are OK.


8 Internal Matters

Internally the MIDI LAML program relies on a number of AST transformations, which converts a midi AST from one form to another. Overview of transformations.

The transformations are numbered as #n in the Scheme source code for easy source code nativation. n refers to the numbers given in the graphical overview, and the numbers 1-6 given below.

Notice that that the transformations 1-3 are important at the end of the parsing process.

The transformations 4-6 are part of the unparsing process, and have largely been replaced by a single, efficient transformation, see the function generalized-transform-track-to-raw-mode.

  1. track-delta-to-abs-time:
    Straightforward traversal of the raw midi delta time AST, as generated from the parse midi file. deltaTime attributes are converted to absTime attributes. Both NoteOn and NoteOff messages appear in the result. Adds info attribute about beats (measures). Currently implemented without tail recursion.
  2. track-abs-time-on-off-to-abs-time-with-duration:
    As the name indicates, this transformation gives absTime with duration. Thus, NoteOff messages are eliminated. Basically a linear traversal of the list of AST. In a quite expensive way, however, we search for the NoteOff messages corresponding to a given NoteOn message. This is done by looking forward in the list. As for transformation 1, we do not use tail recursion.
  3. track-abs-time-with-duration-to-delta-time-with-duration:
    Again a straightforward traversal (with an initial, unnecessary(?) filtering. Calculates deltaTime attributes, and keeps the duration attributes. Not tail recursive.
  4. track-delta-with-duration-to-abs-time-with-duration:
    The reverse transformation of 3. A single pass, not tail recursive. Currently only used in track separation and joining.
  5. track-abs-time-with-duration-to-abs-time-on-off:
    Not used any more. Calls stable-sort-list.
  6. track-abs-to-delta-time:
    Is in reality not used any more. Straightforward traversal. Not tail recursive.

As part of the MIDI parsing process, it is possible to do track separation, hereby making a MIDI format 1 file from a MIDI format 0 file. The function track-separated-standard-midi-file-ast does this:

  • absTime mode: Track separation involves a simple filtering.
  • deltaTime mode: Is done via internal conversion to absTime mode. Therefore the transformations 3 and 4 are involved.

The other way around, the the MIDI unparsing proces, the function track-joined-standard-midi-file-ast is able to join channels:

  • absTime mode: Amounts to a flatting of channels followed by a stable sorting.
  • deltaTime mode: As for track separtion, the joining is internally done in absTime mode. This therefore involves transformation 3 and 4. Involves sorting.


Mirror Information Appendix.
Mirror name: midi
Automatic loading of common XML-in-LAML library? No
List of action elements (StandardMidiFile TyrosMultiPad TyrosStyle)
Generation of named mirror functions: Yes
Mirror name prefix: None
Transliteration of CDATA? Yes
List of elements for which transliteration does not apply: '()
List of elements for which all white spacing is preserved: '()
Name of HTML character transformation table: html-char-transformation-table
Are default DTD attributes passed explicitly? No
Are attributes only allowed to be text strings? Yes
Is extended textual contents allowed? No
Is white space represented by this mirror? No
How are duplicated XML attributes handled: 'keep-all


Generated: Monday, November 14, 2011, 09:15:17
Generated by LAML SchemeDoc using LAML Version 38.0 (November 14, 2011, full)