home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / SND_TOOL / WM10.ZIP / DOC.DAT / prged.txt < prev    next >
Encoding:
Text File  |  1995-08-30  |  23.3 KB  |  513 lines

  1.  WM PRGed                     Never worry about theory as long as the machinery 
  2.  ────────                     does what it's supposed to.     - Robert Heinlein
  3.  
  4.  
  5. ─── Introduction ───────────────────────────────────────────────────────────────
  6.  
  7.  WM PRGed is a full screen editor for PRG files. While these can be edited 
  8.  with any text editor, they are NOT free format, so you should use WM PRGed 
  9.  with them unless you have a very good reason not to!
  10.  
  11.  PRG files describe the "instruments" used by WM MIDtoLST {MIDtoLST}. They 
  12.  assign samples to note ranges (each one of the 128 MIDI notes may be assigned 
  13.  a different sample) and set performance parameters (envelope and loop points, 
  14.  bend range and so on).
  15.  
  16.  In order to leave WM PRGed, hit Esc or click the Right mouse button (you'll 
  17.  have to do this more than once if there are open windows/menus). If you are 
  18.  in the File menu {PRGed 120}, you can also press Alt-Q or execute the 
  19.  File/Quit command {PRGed 149}.
  20.  
  21.  This Help file can be called up from within WM PRGed by pressing Alt-H while
  22.  no pull-down menu is open, or by executing the Help command from the top bar
  23.  {PRGed 93}.
  24.  
  25.  
  26.  Contents:    ■ Startup                             {PRGed  48}
  27.  ─────────    ■ Issuing commands                    {PRGed  93}
  28.               ■ Entering data                       {PRGed 110}
  29.               ■ The File menu                       {PRGed 120}
  30.               ■ File display                        {PRGed 157}
  31.                 ■ Scrolling                         {PRGed 179}
  32.                 ■ Notation                          {PRGed 192}
  33.                 ■ Display modes                     {PRGed 206}
  34.                 ■ Sample display mode               {PRGed 218}
  35.                 ■ Controller display mode           {PRGed 249}
  36.                 ■ Envelope display mode             {PRGed 304}
  37.               ■ Adding entries                      {PRGed 381}
  38.               ■ Deleting entries                    {PRGed 399}
  39.               ■ The Play menu                       {PRGed 411}
  40.               ■ Function key operations             {PRGed 432}
  41.                 ■ Viewing assignments               {PRGed 458}
  42.                 ■ Assigning values                  {PRGed 470}
  43.                 ■ Using values                      {PRGed 480}
  44.                 ■ Assignment export                 {PRGed 492}
  45.               ■ Viewing sample files (WM WAView)    {PRGed 499}
  46.  
  47.  
  48. ─── Startup ────────────────────────────────────────────────────────────────────
  49.  
  50.  WM PRGed can be called with a filename argument. If no extension is specified,
  51.  the default PRG is used. A file load failure at this time will cause WM PRGed 
  52.  to be aborted. PRG files are read to memory in their entirety, and all changes
  53.  are kept in memory until a File/Save command is issued {PRGed 132}.
  54.  
  55.  The directory where WM PRGed reads and writes PRG files is normally specified 
  56.  in the file PRGed.INI, which is kept in WAVmaker's Temp\ directory. This file 
  57.  also specifies the WAV-file directory where all samples are assumed to reside, 
  58.  as well as the names of the external WAV player to be used and of the 
  59.  temporary file with which the latter is to be called {PRGed 426}.
  60.  
  61.  PRGed.INI is also read (but not written to) by WM WAView {WAView 90}.
  62.  
  63.  If PRGed.INI is not found, the following defaults are used:
  64.  
  65.                          ■ PRG directory:   PRG\
  66.                          ■ WAV directory:   WAV\
  67.                          ■ External player: EXE\WAVplay.BAT
  68.                          ■ Temporary file:  Temp\Temp.WAV
  69.  
  70.  It is possible to override the choice of directories from the command line,
  71.  using the options
  72.  
  73.                          ■ /PRG <directory>
  74.                          ■ /WAV <directory>
  75.  
  76.  All the above choices (directories, external player and temporary file) can 
  77.  also be modified from within WM PRGed and saved to PRGed.INI using the 
  78.  File/Keep options command {PRGed 144}.
  79.  
  80.  Note: All references to WAVs appearing in a PRG file are checked at load
  81.  ───── time. All WAV files MUST be found, or a load error will result. 
  82.  
  83.  If there is a discrepancy between the sample format information (word size, 
  84.  number of sound channels, sampling rate) kept in a PRG file and the actual 
  85.  WAV data format, you will be warned, and the name of the offending sample file
  86.  will be displayed in red, but no error condition will be generated. The last 
  87.  arbiter as far as sample information is concerned is the WAV header; when 
  88.  there is a discrepancy, the PRG data will be updated and marked as modified 
  89.  (so you will be reminded to save the file when issuing a File/New command 
  90.  {PRGed 124} or terminating WM PRGed, even if you have done no editing). 
  91.  
  92.  
  93. ─── Issuing commands ───────────────────────────────────────────────────────────
  94.  
  95.  All WM PRGed commands are displayed in red ("hot" keys) and white. They can be 
  96.  issued by either
  97.  
  98.                  (1) pressing Alt and the relative hot key, or
  99.  
  100.                  (2) placing the mouse cursor on them and 
  101.                      ■ clicking the Left mouse button, or 
  102.                      ■ hitting Enter.
  103.  
  104.  Note that you can also use the arrow keys to control the mouse cursor. The 
  105.  Left/Right arrow keys move the cursor between logical rather than physical
  106.  columns, wrapping around to the opposite side of the screen when crossing its 
  107.  borders. The Home and End keys take you to the start/end of the current line.
  108.  
  109.  
  110. ─── Entering data ──────────────────────────────────────────────────────────────
  111.  
  112.  Whenever you're asked to enter data, you have the usual line edit commands at
  113.  your disposal (Left/Right arrow, Ins toggle, Del/Backspace keys). Hitting Esc
  114.  or clicking the Right mouse button aborts data entry; hitting Enter or the 
  115.  Left mouse button causes data entry to be terminated regularly. Hitting a 
  116.  Function key will cause its current value to be written to the edit line 
  117.  {PRGed 432}.
  118.  
  119.  
  120. ─── The File menu ──────────────────────────────────────────────────────────────
  121.  
  122.  All commands in this menu are fairly intuitive.
  123.  
  124.     ■ New PRG discards the current memory record, leaving the file unchanged, 
  125.       and returns you to a "clean slate". If the memory record has been 
  126.       modified, either manually or automatically {PRGed 83}, you will be asked 
  127.       if you really want to discard it.
  128.  
  129.     ■ Load PRG is like New PRG, except that an existing PRG file is loaded 
  130.       over the old (discarded) memory record.
  131.    
  132.     ■ Save PRG writes the memory record to a PRG file (by default, the same
  133.       from which it was loaded). If the file already exists, you will
  134.       be asked for permission to overwrite it.
  135.  
  136.  The next four commands let you modify the choices of PRG and WAV directories,
  137.  external WAV player and temporary file:
  138.    
  139.                                  ■ PRG directory
  140.                                  ■ WAV directory
  141.                                  ■ Ext. player
  142.                                  ■ Temp. file
  143.  
  144.  If you want to make these changes permanent, i.e. to update the file 
  145.  PRGed.INI {PRGed 55} accordingly, use the command
  146.  
  147.                                  ■ Keep
  148.  
  149.  Finally, there is a rather redundant command
  150.  
  151.                                  ■ Quit
  152.  
  153.  which will terminate WM PRGed and return you to the calling program (if there
  154.  are unsaved changes, you will be asked for permission to discard them).
  155.  
  156.  
  157. ─── File display ───────────────────────────────────────────────────────────────
  158.  
  159.  The main portion of the WM PRGed screen (lines 4 through 24) is used to 
  160.  display the contents of the current memory record.
  161.  
  162.   ■ Comments are displayed in dark gray. The first character in a comment line
  163.     is always "#".
  164.    
  165.   ■ Data entries are displayed in black.
  166.    
  167.  In order to select a comment or a data entry, position the mouse cursor on
  168.  it {PRGed 104} and click the Left mouse button, or hit Enter. The line will
  169.  be highlighted (white on lightgray).
  170.  
  171.  Clicking the Left mouse button, or hitting Enter, on the selected entry will
  172.  let you enter edit mode.
  173.  
  174.  Comment lines may extend beyond the screen width of 80 characters; while in
  175.  edit mode, they will be scrolled as needed, but in view mode you will only be
  176.  able to see the first 80 characters (including the leading "#"), so this
  177.  feature is of limited use!
  178.  
  179.  Scrolling
  180.  ─────────
  181.  
  182.  The display can be scrolled with the keypad:
  183.  
  184.                             ■ PgUp (scroll up one screen)
  185.                             ■ PgDn (scroll down one screen)
  186.  
  187.  You can also use the mouse. Positioning the mouse cursor on the top bar
  188.  (between command words!) and clicking the Left mouse button (or hitting Enter) 
  189.  scrolls up one line; clicking the Left mouse button (or hitting Enter) on the 
  190.  bottom bar scrolls down one line.
  191.  
  192.  Notation
  193.  ────────
  194.  
  195.  Standard music notation is employed: the notes in an octave are 
  196.  
  197.                               ┌────────────────────┐
  198.                               │  c# d#   f# g# a#  │
  199.                               │ c  d  e f  g  a  b │
  200.                               └────────────────────┘
  201.  
  202.  postfixed with the octave number (so note f in octave number 3 is f3). The
  203.  lowest allowed note is c0 (MIDI note number 0), the highest one is g10 (MIDI
  204.  note number 127). 
  205.  
  206.  Display modes
  207.  ─────────────
  208.  
  209.  There are three display modes, all selectable from the top bar:
  210.  
  211.                              (1) Sample display mode
  212.                              (2) Controller display mode
  213.                              (3) Envelope display mode
  214.     
  215.  One parameter is common to all three display modes: the key (note) range is 
  216.  always shown in the first (leftmost) data column, under the heading "Key(s)".
  217.  
  218.  Sample display mode 
  219.  ───────────────────
  220.  
  221.  This is the default startup mode. Apart from the key range, this mode lets you
  222.  view/edit 
  223.  
  224.   ■ the sample filename (no extension; WAV is always implied), 
  225.     
  226.   ■ the "base key" (the note at which the sample was recorded, at least as 
  227.     far as WM PRGed and WM MIDtoLST is concerned);
  228.     
  229.   ■ the "base volume" (ditto for recording volume, with a lowest allowed
  230.     value 1 and a highest allowed value 1023): this parameter is used to 
  231.     normalize output volume, so a higher base volume results in lower output;
  232.     
  233.   ■ the "base pan" (ditto for recording position in the stereo field, with
  234.     0 denoting "all Left" and 127 denoting "all Right"): this parameter is 
  235.     used to normalize output stereo panning, so declaring a left-offset 
  236.     recording position will result in a compensating right-offset upon output.
  237.     
  238.  You can also view (but not modify)
  239.  
  240.   ■ the word size (bits per sample),
  241.     
  242.   ■ the number of sound channels (1 or 2 - mono or stereo),
  243.     
  244.   ■ the sampling rate (11025, 22050 or 44100 Hz).
  245.   
  246.  The last three entries will be automatically updated using the WAV header 
  247.  information whenever the sample filename is modified.
  248.     
  249.  Controller display mode
  250.  ───────────────────────
  251.  
  252.  In this mode, you determine how the selected key range will react to various
  253.  MIDI controller events.
  254.  
  255.   ■ Velocity sensitivity (0-100%) is the percentage of the attack velocity
  256.     (1-127; zero velocity is always interpreted as Note Off) divided by 64
  257.     (the default MIDI Note On velocity) used to multiply output levels. 
  258.     
  259.     Attack velocity has nothing to do with the envelope attack parameter; it 
  260.     is a measure of the actual velocity at which the key is struck. It will
  261.     affect the output levels for ALL envelope sections, not only for the
  262.     attack section. 
  263.     
  264.   ■ Pressure sensitivity (0-100%) is the percentage of a value, obtained
  265.     by subtractig pressure (0-127) from the maximal pressure value (127) and
  266.     dividing the result by 64 (the default pressure value, set at Note On and 
  267.     Note Off in WM MIDtoLST), used to multiply output levels.
  268.     
  269.     "Pressure" is a measure of the force witch which the key is being held 
  270.     down. Strictly speaking, it makes sense in the sustain section only, but
  271.     WM MIDtoLST does allow pressure variations (both Channel and Polyphonic) 
  272.     anywhere in the envelope, offering you some additional performance control
  273.     (if you have the MIDI software to enter such "unnatural" data!). 
  274.     
  275.   ■ Expression sensitivity (0-100%) is the percentage of the expression value 
  276.     (0-127) to be added to the current MIDI volume (0-127). 
  277.     
  278.     "Expression" is just another way to affect the volume, subject to rather 
  279.     liberal interpretations by MIDI equipment manufacturers.
  280.     
  281.   ■ Release sensitivity (0-100%) is the percentage of release velocity (0-127)
  282.     actually used to determine the fade-out rate in the envelope's release
  283.     section.
  284.     
  285.     Release velocity is a measure of the actual velocity at which the key is 
  286.     let back up at Note Off.
  287.     
  288.   ■ Bend range (0-127 semitones) is the deviation in pitch caused by pulling/
  289.     sliding the pitch bender all the way to either side.
  290.     
  291.   ■ Modulation wheel sensitivity (0-100%) is the "bend range" used with 
  292.     Modulation events; at 100%, the maximal pitch deviation will be 2 
  293.     semitones.
  294.     
  295.   ■ Modulation rate (0-100 Hz) is the frequency of the vibrato effect 
  296.     controlled by Modulation events.
  297.     
  298.  Whether any of these settings will affect your music depends on the
  299.  controllers used to produce your MIDI files. Many music keyboards do not sense
  300.  (and/or send) attack velocity information, even fewer can handle pressure, 
  301.  release velocity and expression. Pitch benders and modulation wheels on the 
  302.  other hand tend to be available on all but the cheapest keyboards.
  303.  
  304.  Envelope display mode
  305.  ─────────────────────
  306.  
  307.  In this mode, you can view/edit the envelope and the sustain loop points 
  308.  for the current key range. Note that this information is kept in the PRG 
  309.  file, separate from the actual sample data, which is left unmodified. This 
  310.  way, you can change all settings at any time, quickly and without any 
  311.  quality losses.
  312.  
  313.  IMPORTANT: Entering a non-numeric value such as "none" for any of the four
  314.  ────────── envelope points {PRGed 348} will reset them all and cause all 
  315.             envelope information for that particular entry to be ignored.
  316.  
  317.  Click here for a picture illustrating the meaning of the envelope display 
  318.  mode entries described below (you'll need a SVGA card for this):
  319.  
  320.                           {DOS EXE\imgView Doc\Envelope}
  321.  
  322.   ■ Attack is the amplification factor to be used with the first sample in the
  323.     WAV file. The amplification factor for the subsequent samples is linearly 
  324.     interpolated to the Decay factor (see next entry) at the Attack end sample 
  325.     (+1) {PRGed 348}, so as to ensure a smooth passage to the envelope's Decay 
  326.     section.
  327.     
  328.   ■ The Decay parameter is to the envelope's decay section what the Attack 
  329.     parameter is to the envelope's attack section. The actual amplification 
  330.     factor is linearly interpolated from the Decay parameter at the Attack end 
  331.     sample (+1) {PRGed 348} to the Sustain parameter (see next entry) at the 
  332.     Decay end sample (+1) {PRGed 351}.
  333.      
  334.   ■ The Sustain parameter is a constant amplification factor used with samples 
  335.     ranging from the Decay end sample (+1) {PRGed 351} to the Sustain end 
  336.     sample {PRGed 354}, i.e. there is no linear interpolation in this envelope 
  337.     section (the envelope is flat here).
  338.     
  339.   ■ The Release parameter is the amplification factor used with the LAST sample
  340.     in the envelope's release section (the Release end sample {PRGed 357}). The
  341.     actual amplification factor used from the Sustain end sample {PRGed 354} to
  342.     the Release end sample {PRGed 357} is obtained by linear interpolation, 
  343.     with the Sustain parameter serving as the starting value.
  344.     
  345.  None of the four parameters above will have any effect unless the envelope
  346.  points have been set:
  347.  
  348.   ■ The Attack end sample is the last sample in the envelope's Attack 
  349.     section.
  350.     
  351.   ■ The Decay end sample is the last sample in the envelope's Decay 
  352.     section.
  353.     
  354.   ■ The Sustain end sample is the last sample in the envelope's Sustain 
  355.     section.
  356.     
  357.   ■ The Release end sample is the last sample in the envelope's Release 
  358.     section. Samples trailing this position do not contribute to the output.
  359.  
  360.  In order to produce a sustained sound of arbitrary duration from a sample file 
  361.  of limited length, you must define a loop, i.e. a file section to be repeated
  362.  until Note Off. The loop must be placed in the envelope's Sustain section:
  363.  it can not start before the Decay end sample and it can not extend beyond the
  364.  Sustain end sample.
  365.  
  366.   ■ The Loop start sample is the first sample in the loop.
  367.     
  368.   ■ The Loop end sample is the last sample in the loop. 
  369.     
  370.     When setting this position, WM PRGed will ask for your permission to fine-
  371.     tune it for best fit with the Loop start sample. Allowing WM PRGed to do so 
  372.     will cause the best sample within ±10 milliseconds (at the low end of the 
  373.     current key range) from your original choice to be selected, minimizing
  374.     the resulting discontinuities. Keep in mind that it is much harder to
  375.     obtain good results when looping (true) stereo recordings, since a good fit
  376.     on one channel may coincide with a large discontinuity (causing an audible
  377.     click) on the other. WM PRGed can only choose the smallest overall 
  378.     discontinuity, not make it disappear!
  379.  
  380.  
  381. ─── Adding Entries ─────────────────────────────────────────────────────────────
  382.  
  383.  Adding a new comment or data entry line to the existing one is quite easy:
  384.  either use the mouse to select it from the top bar or press Alt-A. A pull-down 
  385.  menu will appear, containing only two commands (Above and Below). Executing 
  386.  the first command will insert the new entry above the currently selected line;
  387.  executing the second one will insert below the selected line. In either case 
  388.  you will have to make one more choice, between Comment and Data. Choosing 
  389.  Comment will create an empty comment line, ready to be edited; choosing Data 
  390.  will either
  391.  
  392.  ■ create a default data entry (this happens only if there are no previous
  393.    data entries in the file), marked as modified (the WAV filename, "EMPTY",
  394.    will be displayed in red) {PRGed 83}, or
  395.  
  396.  ■ create a copy of the data entry closest to the currently selected one.
  397.    
  398.  
  399. ─── Deleting Entries ───────────────────────────────────────────────────────────
  400.  
  401.  This is even easier than adding new entries. Just go to the top bar and click 
  402.  the Left mouse button on Delete, or press Alt-D. The currently selected line
  403.  will be deleted, and the line (formerly) below it will become the new 
  404.  currently selected one (unless you delete the last line, in which case the 
  405.  one formerly above it will become the currently selected one).
  406.  
  407.  Deleting all entries is a laborious equivalent to the File/New command 
  408.  {PRGed 124}.
  409.  
  410.  
  411. ─── The Play menu ──────────────────────────────────────────────────────────────
  412.  
  413.  The commands in this menu are used to produce and play back test output for 
  414.  the currently selected key range (the lowest note in the range is used).
  415.  
  416.  ■ Duration sets the play time in milliseconds.
  417.    
  418.  ■ Velocity lets you set the Attack velocity for the note {PRGed 259}.
  419.    
  420.  ■ Pressure lets you set the Pressure for the note.
  421.    
  422.  ■ Release (vel.) lets you set the Release velocity for the note.
  423.    
  424.  ■ Modulation lets you set the Modulation depth for the note.
  425.    
  426.  ■ Write (to disk) creates a LST file with the specified parameters and 
  427.    then executes WM LSTtoWAV to create the temporary playfile.
  428.    
  429.  ■ Call (player) launches the external WAV player with the temporary playfile.
  430.  
  431.  
  432. ─── Function key operations ────────────────────────────────────────────────────
  433.  
  434.  While in WM PRGed, you have ten programmable Function keys (F1 to F10) at your
  435.  disposal. Each one is assigned a title and a value. Titles and values can be 
  436.  up to 15 characters long (reflecting the size of the default DOS keyboard 
  437.  buffer).
  438.  
  439.  At startup, WM PRGed does NOT inherit any Function key values from the public 
  440.  Function key file {FnKeys}. Instead, the internal Function key table is set up
  441.  as follows:
  442.  
  443.                             ┌─────┬─────────────┬───────┐ 
  444.                             │ Key │ Title       │ Value │
  445.                             ├─────┼─────────────┼───────┤
  446.                             │ F 1 │ Attack end  │       │
  447.                             │ F 2 │ Decay end   │       │
  448.                             │ F 3 │ Sustain end │       │
  449.                             │ F 4 │ Release end │       │
  450.                             │ F 5 │ Loop start  │       │
  451.                             │ F 6 │ Loop end    │       │
  452.                             │ F 7 │ Att         │ 1     │
  453.                             │ F 8 │ Dec         │ 1     │
  454.                             │ F 9 │ Sus         │ 1     │
  455.                             │ F10 │ Rel         │ 1     │
  456.                             └─────┴─────────────┴───────┘ 
  457.  
  458.  Viewing assignments
  459.  ───────────────────
  460.  
  461.  To bring up the Function key window showing all current assignments, close all
  462.  menus/entry boxes, then press Alt and a Function key between F1 and F10. 
  463.  
  464.  To make the Function key window go away, either
  465.  
  466.                         ■ Press Alt and F1-F10 again, or
  467.                         ■ Hit the Esc key, or
  468.                         ■ Click the Right mouse button
  469.   
  470.  Assigning values
  471.  ────────────────
  472.  
  473.  Unlike other WM applications, WM PRGed implements COLLECTIVE assignment of
  474.  Function key values. Hitting a Function key (F1-F10) while a data entry line 
  475.  is selected {PRGed 167} (and no menus/boxes are open) will cause all envelope 
  476.  parameters on that line to be copied to the corresponding Function keys 
  477.  {PRGed 439} (hitting a Function key F1-F10 while a comment line is selected 
  478.  will result in an error message).
  479.  
  480.  Using values
  481.  ────────────
  482.  
  483.  Hitting a Function key (F1-F10) while entering data will cause its current
  484.  value to be written to the edit line {PRGed 110}.
  485.  
  486.  Note: The main purpose of Function keys in WM PRGed is to allow you to 
  487.  ───── exchange position values with WM WAView {PRGed 499}. When doing so, 
  488.        keep in mind that the Function keys entitled "Auxiliary" in WM WAView 
  489.        are unmatched in WM PRGed. Also, remember to store positions as sample 
  490.        numbers!
  491.  
  492.  Assignment export
  493.  ─────────────────
  494.  
  495.  The input filename is written to WAVmaker's public Function key file with the
  496.  title "File #1" upon successful termination.
  497.  
  498.  
  499. ─── Viewing sample files (WM WAView) ───────────────────────────────────────────
  500.  
  501.  Executing View from the top bar {PRGed 93} or pressing Alt-V (while no menus/
  502.  data entry boxes are open) will launch WM WAView with the sample file for the 
  503.  currently selected data entry line {WAView} (trying to launch WM WAView while 
  504.  a comment is selected will cause an error message to be displayed). Envelope 
  505.  and loop points are passed to WM WAView as Function key values (associated 
  506.  with titles "Sample #1" through "Sample #6") {FnKeys}. The view window end 
  507.  sample is set equal to the Release end sample {PRGed 357}.
  508.  
  509.  Upon return from WM WAView, Function key values associated with titles
  510.  "Sample #1" through "Sample #6" are read in from the public Function key 
  511.  file {FnKeys} and assigned to Function keys F1-F6 {PRGed 439}. This allows 
  512.  position values determined in WM WAView to be sent back to WM PRGed.
  513.