home *** CD-ROM | disk | FTP | other *** search
- WM PRGed Never worry about theory as long as the machinery
- ──────── does what it's supposed to. - Robert Heinlein
-
-
- ─── Introduction ───────────────────────────────────────────────────────────────
-
- WM PRGed is a full screen editor for PRG files. While these can be edited
- with any text editor, they are NOT free format, so you should use WM PRGed
- with them unless you have a very good reason not to!
-
- PRG files describe the "instruments" used by WM MIDtoLST {MIDtoLST}. They
- assign samples to note ranges (each one of the 128 MIDI notes may be assigned
- a different sample) and set performance parameters (envelope and loop points,
- bend range and so on).
-
- In order to leave WM PRGed, hit Esc or click the Right mouse button (you'll
- have to do this more than once if there are open windows/menus). If you are
- in the File menu {PRGed 120}, you can also press Alt-Q or execute the
- File/Quit command {PRGed 149}.
-
- This Help file can be called up from within WM PRGed by pressing Alt-H while
- no pull-down menu is open, or by executing the Help command from the top bar
- {PRGed 93}.
-
-
- Contents: ■ Startup {PRGed 48}
- ───────── ■ Issuing commands {PRGed 93}
- ■ Entering data {PRGed 110}
- ■ The File menu {PRGed 120}
- ■ File display {PRGed 157}
- ■ Scrolling {PRGed 179}
- ■ Notation {PRGed 192}
- ■ Display modes {PRGed 206}
- ■ Sample display mode {PRGed 218}
- ■ Controller display mode {PRGed 249}
- ■ Envelope display mode {PRGed 304}
- ■ Adding entries {PRGed 381}
- ■ Deleting entries {PRGed 399}
- ■ The Play menu {PRGed 411}
- ■ Function key operations {PRGed 432}
- ■ Viewing assignments {PRGed 458}
- ■ Assigning values {PRGed 470}
- ■ Using values {PRGed 480}
- ■ Assignment export {PRGed 492}
- ■ Viewing sample files (WM WAView) {PRGed 499}
-
-
- ─── Startup ────────────────────────────────────────────────────────────────────
-
- WM PRGed can be called with a filename argument. If no extension is specified,
- the default PRG is used. A file load failure at this time will cause WM PRGed
- to be aborted. PRG files are read to memory in their entirety, and all changes
- are kept in memory until a File/Save command is issued {PRGed 132}.
-
- The directory where WM PRGed reads and writes PRG files is normally specified
- in the file PRGed.INI, which is kept in WAVmaker's Temp\ directory. This file
- also specifies the WAV-file directory where all samples are assumed to reside,
- as well as the names of the external WAV player to be used and of the
- temporary file with which the latter is to be called {PRGed 426}.
-
- PRGed.INI is also read (but not written to) by WM WAView {WAView 90}.
-
- If PRGed.INI is not found, the following defaults are used:
-
- ■ PRG directory: PRG\
- ■ WAV directory: WAV\
- ■ External player: EXE\WAVplay.BAT
- ■ Temporary file: Temp\Temp.WAV
-
- It is possible to override the choice of directories from the command line,
- using the options
-
- ■ /PRG <directory>
- ■ /WAV <directory>
-
- All the above choices (directories, external player and temporary file) can
- also be modified from within WM PRGed and saved to PRGed.INI using the
- File/Keep options command {PRGed 144}.
-
- Note: All references to WAVs appearing in a PRG file are checked at load
- ───── time. All WAV files MUST be found, or a load error will result.
-
- If there is a discrepancy between the sample format information (word size,
- number of sound channels, sampling rate) kept in a PRG file and the actual
- WAV data format, you will be warned, and the name of the offending sample file
- will be displayed in red, but no error condition will be generated. The last
- arbiter as far as sample information is concerned is the WAV header; when
- there is a discrepancy, the PRG data will be updated and marked as modified
- (so you will be reminded to save the file when issuing a File/New command
- {PRGed 124} or terminating WM PRGed, even if you have done no editing).
-
-
- ─── Issuing commands ───────────────────────────────────────────────────────────
-
- All WM PRGed commands are displayed in red ("hot" keys) and white. They can be
- issued by either
-
- (1) pressing Alt and the relative hot key, or
-
- (2) placing the mouse cursor on them and
- ■ clicking the Left mouse button, or
- ■ hitting Enter.
-
- Note that you can also use the arrow keys to control the mouse cursor. The
- Left/Right arrow keys move the cursor between logical rather than physical
- columns, wrapping around to the opposite side of the screen when crossing its
- borders. The Home and End keys take you to the start/end of the current line.
-
-
- ─── Entering data ──────────────────────────────────────────────────────────────
-
- Whenever you're asked to enter data, you have the usual line edit commands at
- your disposal (Left/Right arrow, Ins toggle, Del/Backspace keys). Hitting Esc
- or clicking the Right mouse button aborts data entry; hitting Enter or the
- Left mouse button causes data entry to be terminated regularly. Hitting a
- Function key will cause its current value to be written to the edit line
- {PRGed 432}.
-
-
- ─── The File menu ──────────────────────────────────────────────────────────────
-
- All commands in this menu are fairly intuitive.
-
- ■ New PRG discards the current memory record, leaving the file unchanged,
- and returns you to a "clean slate". If the memory record has been
- modified, either manually or automatically {PRGed 83}, you will be asked
- if you really want to discard it.
-
- ■ Load PRG is like New PRG, except that an existing PRG file is loaded
- over the old (discarded) memory record.
-
- ■ Save PRG writes the memory record to a PRG file (by default, the same
- from which it was loaded). If the file already exists, you will
- be asked for permission to overwrite it.
-
- The next four commands let you modify the choices of PRG and WAV directories,
- external WAV player and temporary file:
-
- ■ PRG directory
- ■ WAV directory
- ■ Ext. player
- ■ Temp. file
-
- If you want to make these changes permanent, i.e. to update the file
- PRGed.INI {PRGed 55} accordingly, use the command
-
- ■ Keep
-
- Finally, there is a rather redundant command
-
- ■ Quit
-
- which will terminate WM PRGed and return you to the calling program (if there
- are unsaved changes, you will be asked for permission to discard them).
-
-
- ─── File display ───────────────────────────────────────────────────────────────
-
- The main portion of the WM PRGed screen (lines 4 through 24) is used to
- display the contents of the current memory record.
-
- ■ Comments are displayed in dark gray. The first character in a comment line
- is always "#".
-
- ■ Data entries are displayed in black.
-
- In order to select a comment or a data entry, position the mouse cursor on
- it {PRGed 104} and click the Left mouse button, or hit Enter. The line will
- be highlighted (white on lightgray).
-
- Clicking the Left mouse button, or hitting Enter, on the selected entry will
- let you enter edit mode.
-
- Comment lines may extend beyond the screen width of 80 characters; while in
- edit mode, they will be scrolled as needed, but in view mode you will only be
- able to see the first 80 characters (including the leading "#"), so this
- feature is of limited use!
-
- Scrolling
- ─────────
-
- The display can be scrolled with the keypad:
-
- ■ PgUp (scroll up one screen)
- ■ PgDn (scroll down one screen)
-
- You can also use the mouse. Positioning the mouse cursor on the top bar
- (between command words!) and clicking the Left mouse button (or hitting Enter)
- scrolls up one line; clicking the Left mouse button (or hitting Enter) on the
- bottom bar scrolls down one line.
-
- Notation
- ────────
-
- Standard music notation is employed: the notes in an octave are
-
- ┌────────────────────┐
- │ c# d# f# g# a# │
- │ c d e f g a b │
- └────────────────────┘
-
- postfixed with the octave number (so note f in octave number 3 is f3). The
- lowest allowed note is c0 (MIDI note number 0), the highest one is g10 (MIDI
- note number 127).
-
- Display modes
- ─────────────
-
- There are three display modes, all selectable from the top bar:
-
- (1) Sample display mode
- (2) Controller display mode
- (3) Envelope display mode
-
- One parameter is common to all three display modes: the key (note) range is
- always shown in the first (leftmost) data column, under the heading "Key(s)".
-
- Sample display mode
- ───────────────────
-
- This is the default startup mode. Apart from the key range, this mode lets you
- view/edit
-
- ■ the sample filename (no extension; WAV is always implied),
-
- ■ the "base key" (the note at which the sample was recorded, at least as
- far as WM PRGed and WM MIDtoLST is concerned);
-
- ■ the "base volume" (ditto for recording volume, with a lowest allowed
- value 1 and a highest allowed value 1023): this parameter is used to
- normalize output volume, so a higher base volume results in lower output;
-
- ■ the "base pan" (ditto for recording position in the stereo field, with
- 0 denoting "all Left" and 127 denoting "all Right"): this parameter is
- used to normalize output stereo panning, so declaring a left-offset
- recording position will result in a compensating right-offset upon output.
-
- You can also view (but not modify)
-
- ■ the word size (bits per sample),
-
- ■ the number of sound channels (1 or 2 - mono or stereo),
-
- ■ the sampling rate (11025, 22050 or 44100 Hz).
-
- The last three entries will be automatically updated using the WAV header
- information whenever the sample filename is modified.
-
- Controller display mode
- ───────────────────────
-
- In this mode, you determine how the selected key range will react to various
- MIDI controller events.
-
- ■ Velocity sensitivity (0-100%) is the percentage of the attack velocity
- (1-127; zero velocity is always interpreted as Note Off) divided by 64
- (the default MIDI Note On velocity) used to multiply output levels.
-
- Attack velocity has nothing to do with the envelope attack parameter; it
- is a measure of the actual velocity at which the key is struck. It will
- affect the output levels for ALL envelope sections, not only for the
- attack section.
-
- ■ Pressure sensitivity (0-100%) is the percentage of a value, obtained
- by subtractig pressure (0-127) from the maximal pressure value (127) and
- dividing the result by 64 (the default pressure value, set at Note On and
- Note Off in WM MIDtoLST), used to multiply output levels.
-
- "Pressure" is a measure of the force witch which the key is being held
- down. Strictly speaking, it makes sense in the sustain section only, but
- WM MIDtoLST does allow pressure variations (both Channel and Polyphonic)
- anywhere in the envelope, offering you some additional performance control
- (if you have the MIDI software to enter such "unnatural" data!).
-
- ■ Expression sensitivity (0-100%) is the percentage of the expression value
- (0-127) to be added to the current MIDI volume (0-127).
-
- "Expression" is just another way to affect the volume, subject to rather
- liberal interpretations by MIDI equipment manufacturers.
-
- ■ Release sensitivity (0-100%) is the percentage of release velocity (0-127)
- actually used to determine the fade-out rate in the envelope's release
- section.
-
- Release velocity is a measure of the actual velocity at which the key is
- let back up at Note Off.
-
- ■ Bend range (0-127 semitones) is the deviation in pitch caused by pulling/
- sliding the pitch bender all the way to either side.
-
- ■ Modulation wheel sensitivity (0-100%) is the "bend range" used with
- Modulation events; at 100%, the maximal pitch deviation will be 2
- semitones.
-
- ■ Modulation rate (0-100 Hz) is the frequency of the vibrato effect
- controlled by Modulation events.
-
- Whether any of these settings will affect your music depends on the
- controllers used to produce your MIDI files. Many music keyboards do not sense
- (and/or send) attack velocity information, even fewer can handle pressure,
- release velocity and expression. Pitch benders and modulation wheels on the
- other hand tend to be available on all but the cheapest keyboards.
-
- Envelope display mode
- ─────────────────────
-
- In this mode, you can view/edit the envelope and the sustain loop points
- for the current key range. Note that this information is kept in the PRG
- file, separate from the actual sample data, which is left unmodified. This
- way, you can change all settings at any time, quickly and without any
- quality losses.
-
- IMPORTANT: Entering a non-numeric value such as "none" for any of the four
- ────────── envelope points {PRGed 348} will reset them all and cause all
- envelope information for that particular entry to be ignored.
-
- Click here for a picture illustrating the meaning of the envelope display
- mode entries described below (you'll need a SVGA card for this):
-
- {DOS EXE\imgView Doc\Envelope}
-
- ■ Attack is the amplification factor to be used with the first sample in the
- WAV file. The amplification factor for the subsequent samples is linearly
- interpolated to the Decay factor (see next entry) at the Attack end sample
- (+1) {PRGed 348}, so as to ensure a smooth passage to the envelope's Decay
- section.
-
- ■ The Decay parameter is to the envelope's decay section what the Attack
- parameter is to the envelope's attack section. The actual amplification
- factor is linearly interpolated from the Decay parameter at the Attack end
- sample (+1) {PRGed 348} to the Sustain parameter (see next entry) at the
- Decay end sample (+1) {PRGed 351}.
-
- ■ The Sustain parameter is a constant amplification factor used with samples
- ranging from the Decay end sample (+1) {PRGed 351} to the Sustain end
- sample {PRGed 354}, i.e. there is no linear interpolation in this envelope
- section (the envelope is flat here).
-
- ■ The Release parameter is the amplification factor used with the LAST sample
- in the envelope's release section (the Release end sample {PRGed 357}). The
- actual amplification factor used from the Sustain end sample {PRGed 354} to
- the Release end sample {PRGed 357} is obtained by linear interpolation,
- with the Sustain parameter serving as the starting value.
-
- None of the four parameters above will have any effect unless the envelope
- points have been set:
-
- ■ The Attack end sample is the last sample in the envelope's Attack
- section.
-
- ■ The Decay end sample is the last sample in the envelope's Decay
- section.
-
- ■ The Sustain end sample is the last sample in the envelope's Sustain
- section.
-
- ■ The Release end sample is the last sample in the envelope's Release
- section. Samples trailing this position do not contribute to the output.
-
- In order to produce a sustained sound of arbitrary duration from a sample file
- of limited length, you must define a loop, i.e. a file section to be repeated
- until Note Off. The loop must be placed in the envelope's Sustain section:
- it can not start before the Decay end sample and it can not extend beyond the
- Sustain end sample.
-
- ■ The Loop start sample is the first sample in the loop.
-
- ■ The Loop end sample is the last sample in the loop.
-
- When setting this position, WM PRGed will ask for your permission to fine-
- tune it for best fit with the Loop start sample. Allowing WM PRGed to do so
- will cause the best sample within ±10 milliseconds (at the low end of the
- current key range) from your original choice to be selected, minimizing
- the resulting discontinuities. Keep in mind that it is much harder to
- obtain good results when looping (true) stereo recordings, since a good fit
- on one channel may coincide with a large discontinuity (causing an audible
- click) on the other. WM PRGed can only choose the smallest overall
- discontinuity, not make it disappear!
-
-
- ─── Adding Entries ─────────────────────────────────────────────────────────────
-
- Adding a new comment or data entry line to the existing one is quite easy:
- either use the mouse to select it from the top bar or press Alt-A. A pull-down
- menu will appear, containing only two commands (Above and Below). Executing
- the first command will insert the new entry above the currently selected line;
- executing the second one will insert below the selected line. In either case
- you will have to make one more choice, between Comment and Data. Choosing
- Comment will create an empty comment line, ready to be edited; choosing Data
- will either
-
- ■ create a default data entry (this happens only if there are no previous
- data entries in the file), marked as modified (the WAV filename, "EMPTY",
- will be displayed in red) {PRGed 83}, or
-
- ■ create a copy of the data entry closest to the currently selected one.
-
-
- ─── Deleting Entries ───────────────────────────────────────────────────────────
-
- This is even easier than adding new entries. Just go to the top bar and click
- the Left mouse button on Delete, or press Alt-D. The currently selected line
- will be deleted, and the line (formerly) below it will become the new
- currently selected one (unless you delete the last line, in which case the
- one formerly above it will become the currently selected one).
-
- Deleting all entries is a laborious equivalent to the File/New command
- {PRGed 124}.
-
-
- ─── The Play menu ──────────────────────────────────────────────────────────────
-
- The commands in this menu are used to produce and play back test output for
- the currently selected key range (the lowest note in the range is used).
-
- ■ Duration sets the play time in milliseconds.
-
- ■ Velocity lets you set the Attack velocity for the note {PRGed 259}.
-
- ■ Pressure lets you set the Pressure for the note.
-
- ■ Release (vel.) lets you set the Release velocity for the note.
-
- ■ Modulation lets you set the Modulation depth for the note.
-
- ■ Write (to disk) creates a LST file with the specified parameters and
- then executes WM LSTtoWAV to create the temporary playfile.
-
- ■ Call (player) launches the external WAV player with the temporary playfile.
-
-
- ─── Function key operations ────────────────────────────────────────────────────
-
- While in WM PRGed, you have ten programmable Function keys (F1 to F10) at your
- disposal. Each one is assigned a title and a value. Titles and values can be
- up to 15 characters long (reflecting the size of the default DOS keyboard
- buffer).
-
- At startup, WM PRGed does NOT inherit any Function key values from the public
- Function key file {FnKeys}. Instead, the internal Function key table is set up
- as follows:
-
- ┌─────┬─────────────┬───────┐
- │ Key │ Title │ Value │
- ├─────┼─────────────┼───────┤
- │ F 1 │ Attack end │ │
- │ F 2 │ Decay end │ │
- │ F 3 │ Sustain end │ │
- │ F 4 │ Release end │ │
- │ F 5 │ Loop start │ │
- │ F 6 │ Loop end │ │
- │ F 7 │ Att │ 1 │
- │ F 8 │ Dec │ 1 │
- │ F 9 │ Sus │ 1 │
- │ F10 │ Rel │ 1 │
- └─────┴─────────────┴───────┘
-
- Viewing assignments
- ───────────────────
-
- To bring up the Function key window showing all current assignments, close all
- menus/entry boxes, then press Alt and a Function key between F1 and F10.
-
- To make the Function key window go away, either
-
- ■ Press Alt and F1-F10 again, or
- ■ Hit the Esc key, or
- ■ Click the Right mouse button
-
- Assigning values
- ────────────────
-
- Unlike other WM applications, WM PRGed implements COLLECTIVE assignment of
- Function key values. Hitting a Function key (F1-F10) while a data entry line
- is selected {PRGed 167} (and no menus/boxes are open) will cause all envelope
- parameters on that line to be copied to the corresponding Function keys
- {PRGed 439} (hitting a Function key F1-F10 while a comment line is selected
- will result in an error message).
-
- Using values
- ────────────
-
- Hitting a Function key (F1-F10) while entering data will cause its current
- value to be written to the edit line {PRGed 110}.
-
- Note: The main purpose of Function keys in WM PRGed is to allow you to
- ───── exchange position values with WM WAView {PRGed 499}. When doing so,
- keep in mind that the Function keys entitled "Auxiliary" in WM WAView
- are unmatched in WM PRGed. Also, remember to store positions as sample
- numbers!
-
- Assignment export
- ─────────────────
-
- The input filename is written to WAVmaker's public Function key file with the
- title "File #1" upon successful termination.
-
-
- ─── Viewing sample files (WM WAView) ───────────────────────────────────────────
-
- Executing View from the top bar {PRGed 93} or pressing Alt-V (while no menus/
- data entry boxes are open) will launch WM WAView with the sample file for the
- currently selected data entry line {WAView} (trying to launch WM WAView while
- a comment is selected will cause an error message to be displayed). Envelope
- and loop points are passed to WM WAView as Function key values (associated
- with titles "Sample #1" through "Sample #6") {FnKeys}. The view window end
- sample is set equal to the Release end sample {PRGed 357}.
-
- Upon return from WM WAView, Function key values associated with titles
- "Sample #1" through "Sample #6" are read in from the public Function key
- file {FnKeys} and assigned to Function keys F1-F6 {PRGed 439}. This allows
- position values determined in WM WAView to be sent back to WM PRGed.