home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / amfm / amfm15 / utilities / fmsynth.doc.pp / fmsynth.doc
Text File  |  1994-06-20  |  12KB  |  375 lines

  1.  
  2.                   ›1m         FMsynth  V1.1         ›m
  3.                   ›1m          User Manual          ›m
  4.  
  5.  
  6.            © Copyright 1993 by   Christian Stiens
  7.                                  Heustiege 2
  8.                                  D-59348 Lüdinghausen
  9.                                  Germany
  10.  
  11.            EMail: Christian_Stiens@ouzonix.bo.open.de (UUCP)
  12.                   2:243/4802.25 (Fido)
  13.  
  14.        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  15.        + NOTE  FROM  AM/FM:   This  program and all it's accompanying +
  16.        + files   are  stored  in  a  self-extracting,  LHA-compressed +
  17.        + package  in  the  "Utilities"  directory  of  this disk.  To +
  18.        + extract  all the individual files and make the program ready +
  19.        + for  use,  make  sure you are positioned on a disk where you +
  20.        + have  enough free space, and just type the path and filename +
  21.        + to the LHA-package; which is called "prog-name.RUN".  If you +
  22.        + are having problems, there is a more detailed description of +
  23.        + how to handle this extraction in the USING AM/FM article.    +
  24.        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  25.  
  26.  
  27. ›1m1 Introduction›m
  28.  
  29. FMsynth is a program for generating sounds by FM Synthesis. The
  30. sounds can be played on your Amiga keyboard and saved in IFF-8SVX
  31. format.
  32.  
  33.  
  34. ›1m2 Copyright›m
  35.  
  36. This Program is ›3mGiftware›m. If you like it, then please send me a little
  37. present.
  38.  
  39. The distribution of the ›4mcomplete›m and ›4munchanged›m paket is
  40. allowed only to non-commercial BBS's and to the following Public
  41. Domain Series:
  42.                   - AMOK  (Amiga Modula & Oberon Klub)
  43.                   - Fred Fisk Amiga Lib Disks
  44.                   - AM/FM
  45.  
  46. You use this program on your own risk. There is no liabitity or
  47. responsibility for possible damages caused by the use of this program.
  48.  
  49. All Rights reserved.
  50.  
  51.  
  52. ›1m3 Requirements›m
  53.  
  54. The program needs the arp.library for the file requester, if you
  55. don't have the ASL library of Workbench 2.0+ installed.
  56.  
  57.  
  58. ›1m4 Manual›m
  59.  
  60. ›1m4.1 The FM Synthesis›m
  61.  
  62. First a little introduction to the FM Sythesis. The FM Synthesis
  63. was invented by John Chowning and used in the DX7 (one of the best
  64. sold synthesisers ever) and his sucessors.
  65.  
  66. The priciple of the FM Synthesis is that one sinus wave modulates
  67. another sinus wave. Written as a formula it looks like:
  68.  
  69.             A(t) = Ac * sin(Fc * t + Am * sin(Fm * t))
  70.  
  71. Ac: The amplitude of the carrier wave
  72. Am: The amplitude of the modulator wave
  73. Fc: The frequency of the carrier
  74. Fm: The frequency of the modulator
  75.  
  76. As you see, the modulator wave modulates the phase of the carrier
  77. wave. This leads to the addition of harmonics to the carrier wave.
  78.  
  79. The  ratio Fc to Fm determines, whether the sound is harmonic (periodic)
  80. or non harmonic (not periodic). If the ratio is not rational
  81. (e.g. 1 to 3.1415), then the sound is not harmonic, if it is rational
  82. (e.g. 2 to 3), then the sound is harmonic. The frequency of the sound is
  83. equal to the greatest divisor of Fc and Fm.
  84.  
  85. There are six operators (sinus generators) which can be combined in
  86. different ways (the so called algorithms).
  87.  
  88. An example of an algorithm is given in the following figure (DX7
  89. notation):
  90.  
  91.           +---+
  92.           | 3 |
  93.           +---+
  94.             |
  95.           +---+     +---+   +---+
  96.           | 2 |     | 5 |   | 6 |
  97.           +---+     +---+   +---+
  98.             |         |   /
  99.           +---+     +---+
  100.           | 1 |     | 4 |
  101.           +---+     +---+
  102.             |_________|
  103.  
  104. The operators #1 and #4 are the carriers in this example, the other
  105. operators work as modulators. This algorithm is consisting of two
  106. parts by three operators. In the first part operator #3 modulates
  107. operator #2, this modulates operator #1. In the second part
  108. operators #5 and #6 are modulating the operator #4.
  109.  
  110.  
  111. ›1m4.2 The Start›m
  112.  
  113. FMsynth can be started as usual via CLI or Workbench.
  114.  
  115.  
  116. ›1m4.3 The Screen›m
  117.  
  118. ›1m4.3.1 Operator›m
  119.  
  120. Here you can edit the parameters of the 6 operators.
  121.  
  122. KSc/R:     Fmsynth uses 5 sound buffers (one for each octave).
  123.            With this key rate scaling parameter you can determine
  124.            how much the speed of the envelope increases for
  125.            higher octaves. The default value of 64 leads to doubling
  126.            of the rate per octave.
  127.  
  128. KSc/L:     With the default value 64 of the key level scaling parameter
  129.            the level of all 5 sound buffers is the same. If you
  130.            increase (decrease) this value you can achieve, that
  131.            the output level of the operator is higher (lower) in high
  132.            octaves than in low octaves.
  133.  
  134.            Attention: If one or more KSc values of some operator is
  135.            not equal to 64, then the time for calculating the sound
  136.            is doubled, because in this case each of the 5 sound buffers
  137.            must be calculated individual.
  138.  
  139. Rate/1-4:  The rates of the four envelope segments. They determine,
  140.            how fast the corresponding level is reached.
  141.  
  142. Level/1-4: The levels of the four envelope segments
  143.  
  144. Outp Lvl:  This parameter determines the output level of the operator.
  145.            If the operator work as carrier, then this parameter
  146.            influences the loudness. If it works as modulator, then
  147.            it influences the timbre.
  148.  
  149. Freq:      In this string gadget you can enter the frequency of the
  150.            operators.
  151.  
  152. Mode:      Determines whether the operator's frequency is fixed or
  153.            relative. In mode "RATIO" the frequency of the operator
  154.            is relative to the note played on the keyboard. The
  155.            value "1.0" leads to the usual tuning (A = 440 Hz).
  156.  
  157.            If the mode is "FIXED" the frequency of the operator is
  158.            constant 1000 Hz, if you enter "1000.0" to the string
  159.            gadget. But this is not quite true, because not every
  160.            note has an own buffer but every octave. So the actual
  161.            frequency can be 41% more or less.
  162.  
  163.            Attention: If the mode of one or more operators is "FIXED",
  164.            then the time for calculating the sound is doubled, because
  165.            in this case each of the 5 sound buffers must be calculated
  166.            individual.
  167.  
  168.  
  169. ›1m4.3.2 LFO›m
  170.  
  171. In this field you can edit the parameters of the low frequency oscillator
  172. in realtime. The purpose of the LFO is to enrich the sound with a vibrato
  173. (either of the pitch or the amplitude).
  174.  
  175. Spd: The speed of the LFO
  176.  
  177. Del: The delay after a key press until the vibrato begins.
  178.  
  179. AMD: The amount of the amplitude modulation
  180.  
  181. PMD: The amount of the pitch modulation
  182.  
  183. You can choose among 5 different waves of the LFO.
  184.  
  185.  
  186. ›1m4.3.3 Algorithm›m
  187.  
  188. Here you can edit the algorithm. Click on a modulator and the carrier
  189. which should be modulated. If the connection already exists, it is
  190. deleted. If not, the connection is added. The number of the modulator
  191. must be greater than the number of the carrier.
  192.  
  193. The algorithmus of section 4.1 looks here as follow:
  194.  
  195.           +---+   +---+   +---+   +---+   +---+   +---+
  196.           | 1 |   | 2 |   | 3 |   | 4 |   | 5 |   | 6 |
  197.           +---+   +---+   +---+   +---+   +---+   +---+
  198.                  /       /               /    ____/
  199.                 /       /               /____/
  200.                /       /               //
  201.           +---+   +---+   +---+   +---+   +---+   +---+
  202.           | 1 |   | 2 |   | 3 |   | 4 |   | 5 |   | 6 |
  203.           +---+   +---+   +---+   +---+   +---+   +---+
  204.             |                       |
  205.  
  206. The little marks below the carrier gadgets indicate, which operators
  207. work as carriers.
  208.  
  209.  
  210. ›1m4.3.4 Sound›m
  211.  
  212. Calc:     The sound is calculated.
  213.  
  214. Size:     The size of all 5 sound buffers together.
  215.  
  216. Transp:   The frequency of each operator that is in mode "ratio"
  217.           is multiplied with this transpose value.
  218.  
  219. Feedback: Determines, how often operator #6 modulates itself.
  220.           The feedback can be used to simulate a noise generator.
  221.           For example see the sound "panflute.voice".
  222.  
  223. Period:   Determines the sampling frequency at playing of note "B".
  224.  
  225. Mode:     Determines, whether the sound is playable polyphone or
  226.           monophone.
  227.  
  228. Filter:   Here you can turn the low pass filter of the Amiga on or
  229.           off.
  230.  
  231. RlRate:   The release rate at releasing a key. This parameter can be
  232.           changed in realtime.
  233.  
  234.  
  235. ›1m4.4 The Menus›m
  236.  
  237. ›1m4.4.1 Project›m
  238.  
  239. ›4mLoad Voice›m
  240.  
  241. Lets you load the parameters of a saved Sound.
  242.  
  243. ›4mSave Voice›m
  244.  
  245. Lets you save the parameters of the actual sound in a file.
  246.  
  247. ›4mSave 8SVX›m
  248.  
  249. The actual sound is saved in IFF-8SVX (5 octave) format.
  250.  
  251. ›4mNew›m
  252.  
  253. Resets the program to the initial settings.
  254.  
  255. ›4mAbout›m
  256.  
  257. Displays some information of the program
  258.  
  259. ›4mQuit›m
  260.  
  261. You can leave the program with this menu item.
  262.  
  263.  
  264. ›1m4.4.2 Operator›m
  265.  
  266. ›4mInit›m
  267.  
  268. Resets the actual operator to the default settings.
  269.  
  270. ›4mStore›m
  271.  
  272. Here you can copy the settings of the actual operator to one or more
  273. other operators.
  274.  
  275. ›4mFrequency›m
  276.  
  277. Here you can double or halve the frequency of the actual operator.
  278.  
  279.  
  280. ›1m4.4.3 Special›m
  281.  
  282. ›4mAlgorithm›m
  283.  
  284. Here are presets of 10 often used algorithms.
  285.  
  286. ›4mChord›m
  287.  
  288. FMsynth can calculate chords direct. This is usefull, because
  289. the Amiga has only four audio channels and a chord would
  290. eat at least 3 of them. You can choose among 7 different chords:
  291.  
  292.         - Major         (maj)
  293.         - Minor         (min)
  294.         - Dimished      (dim)
  295.         - Suspended 4   (sus4)
  296.         - Dominant Sept (7)
  297.         - Major Sept    (7maj)
  298.         - Minor Sept    (7min)
  299.  
  300. Please note that the calculation of a chord takes three times
  301. as long as the calculation of the normal sound.
  302.  
  303. ›4mSet Loop›m
  304.  
  305. Here you can set or clear the loop of your sound. For this purpose
  306. click at the start of the loop with the left mouse button and the
  307. right mouse button at the end of the loop.
  308.  
  309. Only one loop can be set for all five octaves.
  310.  
  311. ›4mFourier›m
  312.  
  313. Performs a fourier analysis over the loop. This is for looking into
  314. the harmonics of the sound.
  315.  
  316. ›4mAutoCalc›m
  317.  
  318. If this item is selected, then after each parameter change the sound
  319. is calculated new automatically.
  320.  
  321.  
  322. ›1m4.5 Keys›m
  323.  
  324. ›1m4.5.1 The Keyboard›m
  325.  
  326.   Octave 2         2   3       5   6   7       9   0       '
  327.                  Q   W   E   R   T   Z   U   I   O   P   Ü   +
  328.  
  329.   Octave 1          S   D   G   H   J       L   Ö      #
  330.                   Y   X   C   V   B   N   M   ,   .   -   SHIFT
  331.  
  332. The keyboard at the lower part of the screens shows, which keys
  333. are pressed actual (only for PAL able Amigas).
  334.  
  335.  
  336. ›1m4.5.2 Functionkeys›m
  337.  
  338. Press F1 - F5 for the octave offset.
  339.  
  340.  
  341. ›1m4.5.3 Space key›m
  342.  
  343. At each time you can stop the playing sound with help of the space key.
  344.  
  345.  
  346. ›1m5 Some tips for sound programming›m
  347.  
  348. Good sounds have a dynamic spectrum, that means it harmonics change
  349. continuous. There are two ways for achieving this. First with the
  350. envelope on the modulators and second with detuning. The sounds
  351. strings.voice and lucky.voice in the voice directory are examples
  352. for detuned sounds.
  353.  
  354.  
  355. ›1m6 Compatibility›m
  356.  
  357. If you want to use your sounds in other programs like Sonix or MED
  358. you should consider that the realtime parameters (release rate and LFO)
  359. have only affect if you play the sounds in this program. They have
  360. no effect to the 8svx file.
  361.  
  362.  
  363. ›1m7 The end›m
  364.  
  365. If you have programmed good sounds, then please send them to me
  366. (in voice format not 8svx format!). The best sounds are included
  367. to the next release of FMsynth.
  368.  
  369. I thank Stephan Fuhrmann who programmed some of the sounds in
  370. the voice directory.
  371.  
  372.  
  373. ›3mMuch fun!›m
  374.  
  375.