home *** CD-ROM | disk | FTP | other *** search
- mtor RAVEL mtor
-
- NNAAMMEE
-
- mtor - Ravel midi file format to Ravel translator
-
- SSYYNNOOPPSSIISS
-
- mmttoorr [-b][-t][-s scale] [-p poff] <filename>
-
- DDEESSCCRRIIPPTTIIOONN
-
- mmttoorr is a program that translates from Midi Files Format to a
- subset of the Ravel music programming language.
-
- mmttoorr is a new Ravel utility and may be said to be in
- beta-test at this point in time. There should be a matching rrttoomm
- utility to translate the other way, but there currently is not.
- There may be bugs large and small. Please report any
- difficulties.
-
- Mtor is based on a midi file format package supplied by Tim
- Thompson and may be considered public domain in entirety. Mtor
- is supplied as a free part of the Ravel package. (This won't do
- anybody much good, but so it goes). Credit is due to Tim
- Thompson for making his midi file library available. Any defects
- found herein are not Tim Thompson's responsiblity.
-
- mmttoorr takes an input file that is a midi files format and
- reads the binary file translating into some number of "vco"
- structures, one per track. The output is ASCII and is written to
- stdout. It may be redirected to a file using a shell redirect
- '>'; e.g.,
-
- dos> mtor input.mid > output.ma
-
- The resulting ".ma" file may be translated by "mc" and played
- with "mos". Since it is an ASCII file, it can be edited with an
- normal editor.
-
- mmttoorr only handles the following Ravel actions at this
- point: sig, rest, note (duration), key, tie, patch, ccont, kat,
- cat, metro, bend, vco...end. This is to say that anything else
- found in a midi file format that does not fit into the above
- Ravel pigeonholes will not be translated. In many cases Ravel
- comments about untranslatable entities are produced. In general,
- multiple midi tracks are translated into multiple vco streams.
- This is done so that the file can be translated immediately and
- played under mos. However such vco streams can always be
- slightly recoded into suitable action data structures if
- desired.
-
- Note that switches are optional. This is denoted by placing
- [] characters around the switch. The switch notation is "-",
-
-
-
- January 28, 1990 page 1
-
- which is the Unix convention. Msdos switches will not work. The
- program is looking for "-".
-
- The [[--ss ssccaallee]] scale switch is used for scaling down event
- times; i.e., events per quarter note. The default scale is 1. If
- a larger value is set, that value is used to divide all internal
- beats per quarter note values. If the scale switch is not set,
- and the midi header division value is evenly divisible by 24,
- the internal scale will be overridden by the division; i.e.,
- things will adjust correctly by themselves. This is what
- normally should happen. Conversely if the scale switch is set,
- any internal midi division value will be overridden. Note that
- Ravel treats a quarter note as 24 events. When translating from
- Cakewalk, which has 120 events per quarter note, one might
- choose to set -s to 5 to scale 120 events to 24 events. This
- would have some unwanted quantization, although an attempt is
- made to issue rests occasionally when an internal slop counter
- overflows. The scale switch may always be used to specify a
- different non-zero scaling factor. A scaling factor of 1 would
- preserve the Cakewalk units, but of course the piece would run
- slower at the same meter. If scaling is set, all event times
- (elapsed events and durations) are scaled.
-
- The [[--pp ppooffff]] switch is optional and will set the pitch
- bend offset to whatever non-zero value is given. The pitch bend
- offset defaults to 64 if not set. The pitch bend range in MIDI
- is a 14 bit unsigned number; in decimal this is 0 to 16383. A
- centered wheel has the value 8192. Ravel uses a "pseudo-op"
- called the "poff" or pitch bend offset that is multiplied
- internally against the value used with the pitch bend action;
- e.g.,
-
- bend q 128
-
- is the value for a centered wheel, since 128 * 64 = 8192. Note
- that a pitch offset of 1 will leave the units unscaled. This may
- be a useful thing to do when translating from CAKEWALK to Ravel,
- since loss of precision may result from division.
-
- Time constants are not translated unless the [[--tt]] switch is
- given. Time constants are translated if and only if there is a
- suitable Ravel constant; otherwise they are left in decimal.
-
- If the [[--bb]] switch is given, pitch bend information is
- removed from the streams. If a pitch bend has a non-zero event
- time, this is translated into a tie. This is useful for removing
- extraneous pitch bends that might be produced by a guitar
- controller.
-
-
-
-
-
-
-
-
-
- January 28, 1990 page 2
-
- SSEEEE AALLSSOO
-
- rtoc, mc, mos.
-
- BBUUGGSS
-
- mtor is a new utility and has not been tested much at this
- point. There are undoubtedly some flaws.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- January 28, 1990 page 3
-
-