home *** CD-ROM | disk | FTP | other *** search
- ctor RAVEL ctor
-
- NNAAMMEE
-
- ctor - CAKEWALK ASCII to Ravel translator
-
- SSYYNNOOPPSSIISS
-
- ccttoorr [-b][-n][-t][-s scale] [-p poff] <filename>
-
- DDEESSCCRRIIPPTTIIOONN
-
- ccttoorr is a program that translates from the CAKEWALK ASCII file
- format to a subset of the Ravel music programming language.
- CAKEWALK is a popular and affordable sequencer program available
- from
-
- Twelve Tone Systems
- P.O. Box 226
- Watertown, MA 02272
-
- Like Ravel, it runs on ibm-pc's and compatibles and uses the
- mpu-401. Rtoc and ctor are Ravel utilities that allow
- translation between a subset of Ravel (actions) and "events" in
- the CAKEWALK system. CAKEWALK provides translation utilities
- called asc2cake and cake2asc that translate between CAKEWALK's
- internal binary format and an external CAKEWALK ASCII event file
- format. The CAKEWALK system also provides utilities for
- translation from CAKEWALK format to other formats. As a result
- Ravel + CAKEWALK can work together as a tool system, each taking
- advantage of it's own strengths.
-
- One might typically use ccttoorr to do the following: record a
- track in cakewalk from a MIDI instrument. Save the ".wrk" file.
- Translate the ".wrk" file with the cakewalk utility called
- "cake2asc"; producing a ".asc" cakewalk ASCII file. Then use the
- ccttoorr utility with appropriate switches to produce a Ravel
- notelist. This can be edited with Ravel and put in a Ravel
- piece.
-
- Ctor takes an input file that is a ".asc" ASCII file format
- as produced by the version 2 CAKEWALK utility called "cake2asc".
-
- The input file is read and is sent to the console; i.e.,
- standard output. It may be redirected to a file using a shell
- redirect '>'; e.g.,
-
- dos> ctor input.asc > 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.
-
- Ctor handles only note, patch (program change), continuous
-
-
-
- January 7, 1989 page 1
-
- controller, and pitch bend events at the present time. It
- currently only looks at [STREAM] records and translates the
- events found there. Each [STREAM] is made into a voicelist. More
- than one can be handled. It will also look at the EndAllTime
- variable set in the [VARS] section to determine how many events
- maximum are to be found in the file. The last event in all
- streams is set accordingly.
-
-
- Note that switches are optional. This is denoted by placing
- [] characters around the switch. The switch notation is "-",
- which recognizes Unix conventions. Msdos switches will not work.
- The program is looking for "-".
-
- The [[--ss ssccaallee]] scale switch is used for scaling down event
- times. CAKEWALK treats a quarter note as 120 events. Ravel
- treats it as 24 events. As a result the translator will scale
- down (divide) all events by a factor of 5. The scale switch may
- be used to specify a different scaling factor (non-zero). A
- scaling factor of 1 would preserve the CAKEWALK units, but of
- course the piece would run slower at the same meter. Division
- may cause loss of precision. 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.
-
- The [[--nn]] switch will cause note constants to be translated
- to the appropriate Ravel constant form; E.g., 60 = C. The key of
- C is used.
-
- 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
-
-
-
-
-
- January 7, 1989 page 2
-
- controller.
-
- The translation program tracks Cakewalk events and spits
- out measure information in a Ravel comment, whenever a 4/4
- measure boundary is crossed. This information will appear as
- follows:
-
- # measure 1 (96,480,96,0,0)
-
- The number in parenthesis refer to the following: 1. the elapsed
- number of Ravel events so far., 2. the elapsed number of
- Cakewalk events so far., 3. the number of Cakewalk events
- divided by the scale factor; i.e., the TRUE number of Ravel
- events which may not match the number of elapsed Ravel events
- since it is subject to round-off error, and 4. the number of
- Ravel events elapsed since we entered the measure; i.e.,
- (Cakewalk events % 480) / scale. 5. the ravel slop factor.
-
- In order to minimize roundoff error, excess cakewalk events
- that would be lost to roundoff are retained and added to the
- next event whenever their sum is greater than "scale" (5). This
- seems to permit a reasonable translation of a cakewalk sequence
- to a Ravel series of actions, since error is in effect averaged
- out. The "ravel slop factor" represents the number of cakewalk
- events that have not yet been added to a ravel event.
-
- SSEEEE AALLSSOO
-
- rtoc, mc, mos.
-
- BBUUGGSS
-
- Ctor is a new utility and has not been tested much at this
- point. There are undoubtedly some flaws.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- January 7, 1989 page 3
-
-