home *** CD-ROM | disk | FTP | other *** search
-
- ¢1m FMsynth v3.2 ¢m
- ¢1m User Manual ¢m
-
-
-
- ¢1m1 Introduction¢m
-
- FMsynth is a program for generating sounds by FM Synthesis. The
- sounds can be played on your Amiga keyboard and saved in IFF-8SVX
- or raw format.
-
-
- ¢1m2 Copyright¢m
-
- ⌐ Copyright 1993 by Christian Stiens
- Heustiege 2
- D-59348 Lⁿdinghausen
- Germany
-
- The distribution of the complete and unchanged paket is allowed
- to uncommercial mailboxes/FTP-servers and to the following public
- domain series:
-
- - Fred Fish
- - AMOK
- - Time
- - Saar
- - AM/FM
-
- You use this program on your own risk. There is no liability or
- responsibility for any damages caused by the use of this program.
-
- All Rights reserved.
-
- The MIDI Library and related files are Copyright (C) 1987, 1988,
- Pregnant Badger Music. All rights reserved.
-
-
- ¢1m3 Registration¢m
-
- FMsynth is Shareware and protected by a key file. Without the key file
- you can't save your sounds and voices. If you want to register,
- then please send 30 DM or 20 US$ or the equivalent amount in your local
- currency to me. You can send cash or an eurocheck. Please add your
- full address to the registration request. If you want to receive the
- key via email then tell me your internet email address.
-
-
- ¢1m4 Installation¢m
-
- Copy the arp.library to LIBS: if you don't have AmigaOS 2.04 or greater.
-
- Copy the midi.library to LIBS: if you want to play your FM sounds on
- a midi keyboard which is connected to the amiga.
-
- The best place for the rexx programs is the REXX: directory because
- otherwise they can't be found, if they are not in the current directory.
-
- Copy the key file (if you are happy to own one) to the directory
- in which FMsynth is contained, because the key is searched first in
- the current dir and second in "PROGDIR:".
-
-
- ¢1m5 Manual¢m
-
- ¢1m5.1 The FM Synthesis¢m
-
- First a little introduction to the FM Sythesis. The FM Synthesis
- was developed by John Chowning and used in the DX7 (one of the best
- sold synthesisers ever) and his successors.
-
- The priciple of the FM Synthesis is that one sinus wave modulates
- another sinus wave. Written as a formula it looks like:
-
- A(t) = Ac * sin(Fc * t + Am * sin(Fm * t))
-
- Ac: The amplitude of the carrier wave
- Am: The amplitude of the modulator wave
- Fc: The frequency of the carrier
- Fm: The frequency of the modulator
-
- As you see, the modulator wave modulates the phase of the carrier
- wave. This leads to the addition of harmonics to the carrier wave.
-
- The ratio Fc to Fm determines, whether the sound is harmonic (periodic)
- or non harmonic (not periodic). If the ratio is not rational
- (e.g. 1 to 3.1415), then the sound is not harmonic, if it is rational
- (e.g. 2 to 3), then the sound is harmonic. The frequency of the sound is
- equal to the greatest divisor of Fc and Fm.
-
- The modulated wave has harmonics at Fc + n * Fm, where n ranges
- through the integers. Negative frequencies must be interpreted
- as positive frequencies with sign changed. The number of harmonics
- is determined by Am.
-
- There are six operators (sinus generators) which can be combined in
- different ways (the so called algorithms).
-
- An example of an algorithm is given in the following figure (DX7
- notation):
-
- +---+
- | 3 |
- +---+
- |
- +---+ +---+ +---+
- | 2 | | 5 | | 6 |
- +---+ +---+ +---+
- | | /
- +---+ +---+
- | 1 | | 4 |
- +---+ +---+
- |_________|
-
- The operators #1 and #4 are the carriers in this example, the other
- operators work as modulators. This algorithm is consisting of two
- parts by three operators. In the first part operator #3 modulates
- operator #2, this modulates operator #1. In the second part
- operators #5 and #6 are modulating the operator #4.
-
- FMsynth's operators can also generate a triangle-, sawtooth- and
- square wave.
-
-
- ¢1m5.2 General operating hints¢m
-
- Requesters: You can hit the RETURN key instead of clicking in the
- right gadget and hit the ESC key instead of clicking in the left
- gadget.
-
- Windows: Nearly all windows (the "Any Chord" window and requester windows
- excepted) are asynch, that means, you don't have to close these windows,
- to go on with the program. You can hit the ESC key instead of clicking in the
- close gadget of the windows to get rid of the windows.
-
-
- ¢1m5.3 The Start¢m
-
- FMsynth can be started as usual via CLI or Workbench.
-
-
- ¢1m5.4 Arguments¢m
-
- You can put the following arguments in FMsynth's icon:
-
- PALETTE=###,###,###,### determines the screen colors
-
- VOICEDIR=... determines the default directory for the
- .voice files. Don't forget to append a slash
- or a colon.
-
- INSTDIR=... determines the default directory for the
- instrument files. Don't forget to append
- a slash or a colon.
-
- LACE=TRUE|FALSE if TRUE then the screen is interlaced
-
- The icon is parsed also, if you start FMsynth in the CLI. Exceptions:
- The program is found not direct, but over the search path (Kick 1.3).
- The program is resident (Kick 2.04+).
-
-
- ¢1m5.5 The Screen¢m
-
- The screen title displays the actual voice number and name.
- An "A" is displayed, if the AutoCalc mode is activated. The last
- thing, which is shown in the title bar is the actual chord setting.
-
-
- ¢1m5.5.1 Operator¢m
-
- Here you can edit the parameters of the 6 operators.
-
- KSc/R: Fmsynth uses 5 sound buffers (one for each octave).
- With this key rate scaling parameter you can determine
- how much the speed of the envelope increases for
- higher octaves. The default value of 64 leads to doubling
- of the rate per octave.
-
- KSc/L: With the default value 64 of the key level scaling parameter
- the level of all 5 sound buffers is the same. If you
- increase (decrease) this value you can achieve, that
- the output level of the operator is higher (lower) in high
- octaves than in low octaves.
-
- Attention: If one or more KSc values of some operator is
- not equal to 64, then the time for calculating the sound
- is doubled, because in this case each of the 5 sound buffers
- must be calculated individual.
-
- Rate/1-4: The rates of the four envelope segments. They determine,
- how fast the corresponding level is reached.
-
- Level/1-4: The levels of the four envelope segments
-
- OL: This parameter determines the output level of the operator.
- If the operator work as carrier, then this parameter
- influences the loudness. If it works as modulator, then
- it influences the timbre.
-
- Ph: With this gadget you can determine the initial phase
- of the operator. The value 63 means +180 degrees, the
- value -64 stands for -180 degrees.
-
- Freq: In this string gadget you can enter the frequency of the
- operators.
-
- Detune: The operators can be detuned in the range -15 upto 15.
- One unit is 1.13 cents (100 cents is one half tone step).
- Click on the arrow gadgets to increase or decrease the
- detuning. If you hold the shift key then the detune
- is changed by 5 on every click.
-
- Mode: Determines whether the operator's frequency is fixed or
- relative. In mode "RATIO" the frequency of the operator
- is relative to the note played on the keyboard. The
- value "1.0" leads to the usual tuning (A = 440 Hz).
-
- If the mode is "FIXED" the frequency of the operator is
- constant 1000 Hz, if you enter "1000.0" to the string
- gadget. But this is not quite true, because not every
- note has an own buffer but every octave. So the actual
- frequency can be 41% more or less.
-
- Attention: If the mode of one or more operators is "FIXED",
- then the time for calculating the sound is doubled, because
- in this case each of the 5 sound buffers must be calculated
- individual.
-
- PEG: See 4.5.3 (Pitch-EG)
-
- Wave: Click in the gadget in the top right corner of the field
- to change the operator's waveform.
-
-
- ¢1m5.5.2 LFO¢m
-
- In this field you can edit the parameters of the low frequency oscillator
- in realtime. The purpose of the LFO is to enrich the sound with a vibrato
- (either of the pitch or the amplitude).
-
- Spd: The speed of the LFO
-
- Del: The delay after a key press until the vibrato begins.
-
- AMD: The amount of the amplitude modulation
-
- PMD: The amount of the pitch modulation
-
- You can choose among 5 different waves of the LFO.
-
-
- ¢1m5.5.3 Algorithm¢m
-
- Here you can edit the algorithm. Click on a modulator and the carrier
- which should be modulated. If the connection already exists, it is
- deleted. If not, the connection is added. If the number of the modulator
- is less or equal to the number of the carrier then the connection is
- a feedback loop and is drawn in another color.
-
- The feedback is used for sawtooth like waves and for generating
- white noise.
-
- The algorithmus of section 4.1 looks here as follow:
-
- +---+ +---+ +---+ +---+ +---+ +---+
- | 1 | | 2 | | 3 | | 4 | | 5 | | 6 |
- +---+ +---+ +---+ +---+ +---+ +---+
- / / / ____/
- / / /____/
- / / //
- +---+ +---+ +---+ +---+ +---+ +---+
- | 1 | | 2 | | 3 | | 4 | | 5 | | 6 |
- +---+ +---+ +---+ +---+ +---+ +---+
- | |
-
- The little marks below the carrier gadgets indicate, which operators
- work as carriers.
-
-
- ¢1m5.5.4 Sound¢m
-
- Calc: The sound is calculated.
-
- Size: The size of all 5 sound buffers all together.
-
- Transp: The frequency of each operator that is in mode "ratio"
- is multiplied with this transpose value. If you want
- to create a bass sound then you could put the value
- 0.25 in the gadget for tuning the sound two octaves
- lower.
-
- Feedback: The amount of the feedback.
-
- Mode: Determines, whether the sound is playable polyphone or
- monophone.
-
- Filter: Here you can turn the low pass filter of the Amiga on or
- off.
-
- Volume: The amplitude of the sound. If the slider is right of the
- middle position then distortion can occur.
-
- RlRate: The release rate at releasing a key. This parameter can be
- changed in realtime.
-
-
- ¢1m5.6 The Menus¢m
-
- ¢1m5.6.1 Project¢m
-
- ¢4mOpen Voice¢m
-
- Lets you load the parameters of a saved sound.
-
- ¢4mSave Voice¢m
-
- Lets you save the parameters of the actual sound in a file.
-
- ¢4mSave 8SVX-5¢m
-
- The actual sound is saved in IFF-8SVX (5 octave) format.
-
- ¢4mSave 8SVX-1¢m
-
- The actual sound is saved in IFF-8SVX (1 octave) format.
-
- ¢4mSave Raw¢m
-
- One octave of the sound is saved in raw format.
-
- ¢4mChoose Octave¢m
-
- Here you can select the octave, which is used for saving in 8SVX-1 or
- raw format.
-
- ¢4mRelease Channels¢m
-
- Frees the audio channels and the CIAA timer A. If you want to
- go on with the program click on the "Ok" Gadget.
-
- ¢4mNew¢m
-
- Resets the program to the initial settings.
-
- ¢4mAbout¢m
-
- Displays some information of the program
-
- ¢4mQuit¢m
-
- You can leave the program with this menu item.
-
-
- ¢1m5.6.2 Voice¢m
-
- ¢4mInit¢m
-
- Resets the actual voice to the default settings.
-
- ¢4mCopy¢m
-
- Here you can copy the actual voice to another voice.
-
-
- ¢1m5.6.3 Operator¢m
-
- ¢4mInit¢m
-
- Resets the actual operator to the default settings.
-
- ¢4mCopy¢m
-
- Here you can copy the settings of the actual operator to one or more
- other operators.
-
- ¢4mEG Copy¢m
-
- Here you can copy the envelope settings of the actual operator to
- one or more other operators.
-
- ¢4mFrequency¢m
-
- Here you can double or halve the frequency of the actual operator.
- With the "Set" item you can clear and activate the "Freq" gadget
- of the operator field.
-
-
- ¢1m5.6.4 Special¢m
-
- ¢4mAlgorithm¢m
-
- Here are presets of 10 often used algorithms.
-
- ¢4mChord¢m
-
- FMsynth can calculate chords directly. This is usefull, because
- the Amiga has only four audio channels and a chord would
- eat at least 3 of them. You can choose among 7 different chords:
-
- - Major (major)
- - Minor (minor)
- - Dimished (dim)
- - Suspended 4 (sus 4)
- - Dominant Sept (7th)
- - Major Sept (maj 7)
- - Minor Sept (min 7)
-
- Please note that the calculation of a chord takes three till
- four times as long as the calculation of the normal sound.
-
- You can also build any other chord. If you choose this menu
- item, a dialog window appears. Enter the halftone numbers of the
- chord and the number of partials in the gadgets. For example
- the major chord has halftones 0, 4, 7 and the number of
- partials is 3.
-
- A simplier way to specify the chord is to play it on the keyboard,
- the notes are then put in the gadgets automatically. Hit the space key,
- if you have misplayed the chord and play it again. The base
- key for the chord is C2 (key 'Q') on the keyboard.
-
- You can put fractional values in the partial gadgets, so you
- can generate detuned sounds. The values are then between
- -0.2 and 0.2 typically.
-
- ¢4mCalc Sound¢m
-
- This item is equivalent to the "Calc" gadget and leads to the calculation
- of the sound.
-
- ¢4mAutoCalc¢m
-
- If this item is selected, then after each parameter change the sound
- is calculated new automatically.
-
- ¢4mLoop¢m
-
- Opens the loop window, in which you can set or clear the loop of your
- sound. For this purpose click at the start of the loop with the left
- mouse button and the right mouse button at the end of the loop. To
- clear the loop hit the "Off" gadget. To reset the loop to the initial
- setting press the "Undo" gadget.
-
- Only one loop can be set for all five octaves.
-
- ¢4mFourier¢m
-
- Opens the "Fourier-Analysis" window, which performs a fourier analysis
- over the loop of your sound. This is for looking into the harmonics of
- the sound.
-
- ¢4mPitch-EG¢m
-
- This opens the "Pitch-EG" window. Here you can set the pitch envelope
- of your sound. The level 63 means increasing of the pitch by one
- octave. Level -32 stands for decreasing the pitch by one octave and
- level -64 means frequency null.
-
- To enable the Pitch-EG for an operator, you must set the PEG gadget
- to "ON".
-
- ¢4mGraph. EG¢m
-
- Opens the "Graphic EG" Window. Here you can edit the envelope of the
- actual Operator with the mouse. Click on one of the four knobs and
- move it.
-
- The scale is adjusted to the lenght of the actual sound, so that
- the left edge of the edit field corresponds to the begin of the
- sound and the right edge of the field corresponds to the end of
- the sound. If the rate scaling parameter is not on the default
- value of 64 then this correspondance is not given anymore.
-
-
- ¢1m5.6.5 MIDI¢m
-
- ¢4mReceive¢m
-
- Here you can set the Midi channel for receiving midi commands.
-
- ¢4mVel sens¢m
-
- Determines the velocity curve.
-
- ¢4mTranspose¢m
-
- With this menu item a transpose of midi notes in the range +/- 2 octaves
- is possible.
-
-
- ¢1m5.7 Keys¢m
-
- ¢1m5.7.1 The Keyboard¢m
-
- Octave 2 2 3 5 6 7 9 0 '
- Q W E R T Z U I O P ▄ +
-
- Octave 1 S D G H J L ╓ #
- Y X C V B N M , . - SHIFT
-
- The keyboard at the lower part of the screens shows, which keys
- are pressed actual (only for PAL able Amigas).
-
-
- ¢1m5.7.2 Functionkeys¢m
-
- Hit F1 - F5 to switch between the five voices. For voice #2 upto #5
- you must first set up the buffer by activating the "Size" Gadget and
- specifying the desired length of the sound buffer.
-
- With F6 - F10 you determine, which octaves can be reached with the
- keyboard. The offset is displayed as a little mark below the keyboard
- picture.
-
-
- ¢1m5.7.3 Space key¢m
-
- At each time you can stop the sound output with the space key.
-
-
- ¢1m5.8 ARexx¢m
-
- FMsynth has an ARexx-Port called "FMSYNTH". It understands the
- following commands:
-
- openvoice <name> Opens voice <name>. Returns 5 on error.
-
- calcsound The sound is calculated.
-
- save8svx5 <name> Saves the actual sound to file <name> in
- 8SVX 5-Oktav format. RC=5 on error.
-
- save8svx1 <name> [<#(1-5)>] Save the specified octave of the actual voice
- to file <name> as 8SVX 1 octave file.
- Return 5 on error.
-
- saveraw <name> [<#(1-5)>] Saves the sound in raw format.
-
- voice [<#(1-5)>] Sets the specified voice and returns the
- old voice number.
-
- operator [<#(1-6)>] Sets the specified operator und returns
- the old operator number.
-
- openwindow <name> [<#> <#>] Opens the window <name> on the specified
- position. <name> can be one of:
- f(ourier), l(oop), p(itcheg), g(raphiceg)
-
- noteon {<#(0-60)>} Presses the specified notes.
-
- noteoff {<#(0-60)>} Releases the specified notes.
-
- pause <#.#> Performs a pause with the specified length
- in seconds.
-
- quit Quits FMsynth.
-
- If you start FMsynth the rexx program 'startup.fmsy' is called.
- The keys Shift-F1 till Shift-F10 call the rexx programs sf1.fmsy till
- sf10.fmsy. The cursor keys call the rexx programs up.fmsy, down.fmsy,
- left.fmsy and right.fmsy.
-
-
- ¢1m5.9 Midi¢m
-
- FMsynth supports the following Midi commands:
-
- - Noteon (with velocity)
- - Noteoff
- - Pitchbend (+/- 2 half tones)
- - Program change (0..4 for voice #1..#5)
-
-
- ¢1m5 Some tips for sound programming¢m
-
- Good sounds have a dynamic spectrum, that means its harmonics change
- continuous. There are two ways for achieving this. First with the
- envelope on the modulators and second with detuning.
-
- You can simulate an analog filter by modulating a sinus wave with
- a sawtooth wave. The output of the modulator then determines the
- cutoff frequency.
-
-
- ¢1m6 Compatibility¢m
-
- If you want to use your sounds in other programs like Sonix or
- MED (⌐ Teijo Kinnunnen) you should consider that the realtime
- parameters (release rate and LFO) have only affect if you play
- the sounds in FMsynth. They have no effect to the 8svx file.
-
- If you play a 8SVX 5-octave sound in MED, you will notice, that
- the sound quality is not as good, as if you play the sound
- directly in FMsynth. This reason for this is, that FMsynth
- uses a higher sampling rate for playing the sound on average.
-
-
- ¢1m8 Support¢m
-
- Thanx for support to following persons:
-
- - Stephan `PowerPlayer' Fuhrmann
- - Ewan MacPherson
- - Jeff `Idealord' Harrington,
- - Bill Schottstaedt
- - Jⁿrgen `DX-Editor' Zimmermann
-
- And last but not least Fridtjof `Oberon' Siebert for the great
- Amiga Oberon Compiler.
-
-
- ¢1m9 The end¢m
-
- If you have programmed good sounds, then please send them to me
- (in voice format not 8svx format!). The best sounds are included
- to the next release of FMsynth.
-
-
- ¢3mMuch fun!¢m
-
-