                       ┌┬───────────────────────────┬┐                        
                       ││ FM-Edit: Voice parameters ││                        
                       └┴───────────────────────────┴┘                        
  Function key usage                                        Mouse             
                                                                              
    F1     - Display this help information.                [Help]             
    F2     - Go to Setup screen.                           [Setup]            
    F3     - Exit program.                                 [Exit]             
    F4     - Zero all voice parameters.                    [Zero]             
    F6     - Return to Voice bank screen.                  [Bank]             
    F7     - Play a note (or song).  See general help.     [Play]             
    F8     - Turn off any notes sounding.                  [Quiet]            
    F9     - Decrease value of current field.              <left button>      
    F10    - Increase value of current field.              <right button>     
    PgUp   - Select previous voice.                        [Prev]             
    PgDn   - Select next voice.                            [Next]             
    Home   - Move to first screen cell (Voice #).                             
    Alt-F2 - Toggle MIDI thru mode (IN sent to OUT),       [Thru]             
              default is on.                                        (more)    
    Alt-F3 - Push to DOS.                                  [Push]             
    Alt-F7 - Load standard MIDI file.                      [MFF]              
    Alt-F8 - Set song position.                            [Pos]              
    Alt-R  - Set other cells in row the same as                               
             current cell.                                                    
                                                                              
 This screen allows the viewing or modification of the makeup of individual   
 voices.  The relationships among the various parameters are very complex,    
 and a good deal of experimentation is required to learn how they work.  The  
 best approach is to take specific voices and slightly modify parameters to   
 observe the effects.  Another approach is to begin with the simplest output, 
 a continuous sine wave, and start changing and adding.                       
                                                                              
 The left side of the screen contains basic parameters which affect the       
 overall sound, such as LFO usage.  The right side controls the basic sound   
 generation components, called "operators", of which there are 4.  Each       
 operator can be thought of as an oscillator, some used as "carriers" (or     
 tone generators), and some used as "modulators" (which vary the frequency of 
 a carrier or another modulator).  There are 8 predefined "algorithms", or    
 ways of combining the 4 operators as carriers and modulators.  Select any    
 voice and change "Algorithm #"; the possible layouts will be displayed at    
 the bottom right of the screen.  The output of operator 1 may also be fed    
 back into its input to generate a richer output sound.                       
                                                                              
 ┌─────────────────────────┐                                                  
 │ Common voice parameters │                                                  
 └─────────────────────────┘                                                  
                                                                              
 - Voice Number:  Indicates the current voice number within the previously    
   selected bank of 48 voices.  Changing the voice number will select a new   
   voice and display its parameters for viewing or editing.                   
                                                                              
 - Voice Name:  A 7-character descriptive name for the voice.                 
                                                                              
 - LFO Speed:  The speed of the Low Frequency Oscillator.  Note that here,    
   the LFO speed is specified from 0 to 255, corresponding to the 0 to 127    
   range on the configuration screen (i.e., it is multiplied by 2).           
                                                                              
 - LFO Load mode:  Determines whether LFO parameters defined here will        
   replace those set in the configuration when selecting this voice.  Beware  
   of this side-effect when load mode is on.                                  
                                                                              
 - LFO Sync mode:  If "on", causes the LFO waveform to start its cycle at the 
   time a note begins.  This produces a more predictable sound when the LFO   
   is operating at very low frequencies.                                      
                                                                              
 - LFO Waveform:  Specifies the waveform type to be used by the LFO:          
   Triangle, Ramp, Square, or Sample & Hold.  Triangle: rises and falls at a  
   uniform (linear) rate.  Ramp: rises at a uniform rate to a peak and then   
   drops immediately.  Square:  alternates between steady max and min levels. 
   Sample & Hold: random levels.                                              
                                                                              
 - AM Depth:  Specifies the maximum depth of amplitude modulation (tremolo)   
   applied to all voice outputs (min: 0, max: 127).                           
                                                                              
 - AM Sensitivity:  Limits the effect of LFO amplitude modulation on this     
   voice (min: 0, max: 3).  If either AM Depth or Sensitivity is 0, no        
   amplitude modulation is applied.                                           
                                                                              
 - PM Depth:  Specifies the maximum depth of pitch modulation (vibrato)       
   applied to all voice outputs (min: 0, max: 127).                           
                                                                              
 - PM Sensitivity:  Limits the effect of LFO pitch modulation on this voice   
   (min: 0, max: 7).                                                          
                                                                              
 - Transpose:  Permits pitch transposition of the voice from -128 to +127     
   half steps.                                                                
                                                                              
 - Feedback level:  Specifies the amount of feedback from the output of       
   operator 1 to its input (min: 0, max: 7).                                  
                                                                              
 - Algorithm #:  Selects one of the 8 operator combinations (numbered 0 to 7) 
   to use in sound generation for this voice.                                 
                                                                              
 - Pitchbender range, Portamento time, Mono/Poly mode, PMD controller:  See   
   Configurations help for descriptions of these voice function parameters.   
                                                                              
 - Copy from voice, bank:  Allows copying another set of voice parameters     
   into the current voice.  When a value is entered into either cell, the     
   indicated voice is immediately copied.  If either cell is blank, the       
   current voice or bank number is assumed for the missing value.             
                                                                              
 ┌─────────────────────┐                                                      
 │ Operator parameters │                                                      
 └─────────────────────┘                                                      
                                                                              
 - Status:  May be "on" or "off", specifying whether the operator is active.  
   An operator may also be deactivated by setting Total level to 0.           
                                                                              
 - Multiple:  Specifies the operator frequency relative to keyboard pitch.    
   For a value of n, where n is 1 to 15, the keyboard pitch is multiplied by  
   n.  If n is 0, the keyboard pitch is divided by 2.                         
                                                                              
 - Inharmonic:  Used in conjunction with Multiple to specify a non-integral   
   multiplier to compute the operator frequency.  Multiply the resultant      
   frequency from above by 1.00, 1.41, 1.57, or 1.73, for Inharmonic values   
   of 0, 1, 2, or 3, respectively.                                            
                                                                              
 - Detune:  Permits slight detuning of the operator frequency in increments   
   of 1/64th of a half step (min: -3, max: +3).                               
                                                                              
 - Attack rate:  Determines the rate of speed at which the output will reach  
   its maximum level after a key is pressed.  For a range of 0 to 31, 31 is   
   the fastest attack (instantaneous).                                        
                                                                              
 - Decay rate 1:  Specifies the rate of decay in output level from the time   
   that it reaches the maximum level until it drops to the Sustain level      
   (slowest: 0, fastest: 31).                                                 
                                                                              
 - Sustain level:  Specifies an intermediate output level between the first   
   and second decays (min: 0, max: 15).                                       
                                                                              
 - Decay rate 2:  Specifies the rate of decay from the point the output level 
   drops to the Sustain level following the first decay (slowest: 0, fastest: 
   31).  If 0, the output remains at the Sustain level until the key is       
   released.                                                                  
                                                                              
 - Release rate:  Specifies the decay rate to 0 output level from the point   
   that the key is released (slowest: 0, fastest: 15).  While in this         
   program, use F8 to stop a note from sounding if it has no release decay    
   rate; otherwise, it will sound indefinitely.                               
                                                                              
 - Total level:  The maximum output level of this operator (min: 0, max:      
   127).                                                                      
                                                                              
 - Kbd rate scaling depth:  Determines the extent to which increasing         
   keyboard pitch affects attack/decay characteristics (min: 0, max: 3).      
   Greater depth causes a more pronounced increased in attack/decay rates as  
   pitch increases.                                                           
                                                                              
 - Kbd lvl scale type:  Keyboard level scaling type (0-3).  Determines the    
   relationship between keyboard pitch and operator output level.  Type 0:    
   linear decrease in output with an increase in pitch.  Type 1: like type 0  
   but non-linear.  Type 2: minimum output at lower pitches, increasing       
   through middle, and leveling at high end.  Type 3: like type 2 but with    
   sharper output increase in middle register.                                
                                                                              
 - Kbd lvl scale depth:  Keyboard level scaling depth.  Amount of output      
   scaling applied for given scaling type (min: 0, max: 15).                  
                                                                              
 - Vel sens - total level:  Specifies the relationship between key velocity   
   and output level (min sensitivity: 0, max: 7).                             
                                                                              
 - Vel sens - attack rate:  Specifies the relationship between key velocity   
   and attack rate (min sensitivity: 0, max: 3).                              
                                                                              
                                                                              
 Note: When a voice is zeroed (via F4), not all numeric parameters will       
   actually appear as zero.  In some cases the maximum and minimum range      
   values are reversed in the internal representation, so zeroing will select 
   the maximum "effect" of a parameter.                                       
                                                                              
 ┌───────────────┐                                                            
 │ FM Background │                                                            
 └───────────────┘                                                            
                                                                              
 The effect of Frequency Modulation is to make a sound richer in "partial"    
 components.  Partials are sometimes called overtones or harmonics, depending 
 on the context.  Natural sounds produced by conventional musical instruments 
 consist of combinations of many of these partial frequencies, in addition to 
 the stated pitch that an instrument is playing.  Often, these partials       
 change in relative intensity over the time that a note is sounding.  The     
 partial makeup and the way the partials change give each instrument its      
 characteristic sound.  By using frequency modulated signals, and varying the 
 modulation over time, the frequency makeup of many natural sounds can be     
 simulated.  Of course, the technique may also be used to create entirely new 
 sounds.                                                                      
                                                                              
 There are specific mathematical relationships which describe exactly what    
 happens in FM, but as an example, assume a simple sine wave carrier of       
 frequency c.  A sine wave modulator of frequency m will cause the carrier to 
 fluctuate around the original frequency, c.  The resultant sound can be      
 described in terms of at least 3 partial frequencies: c, c+m, and c-m.       
 Depending on the amplitude of the modulator, additional significant "side    
 frequencies" are generated at c, plus and minus multiples of m.  If the      
 carrier or modulator have multiple frequency components to begin with, each  
 modulator frequency interacts with each carrier frequency in the same        
 manner, causing an "explosion" of new frequencies.                           
                                                                              
 For detailed information on FM synthesis, refer to "Yamaha FM Theory and     
 Applications" by Chowning & Bristow.  This is one of the most in-depth       
 studies of FM synthesis techniques available for musicians.  Although        
 written primarily in terms of the Yamaha DX7, the same principles apply to   
 the design of voices for the FB-01.                                          
                                                                              
                                                                              
                                                                              
               --- Press F1 for general usage information ---                 
                                                                              
                                                                              
