<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.78 [en] (X11; U; Linux 2.4.7-10 i686) [Netscape]"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000"> <b><u><font size=+2><a href="index.html">Index page</a></font></u></b> <center><b><u><font size=+2>Basics</font></u></b> <br><font color="#66FFFF">(draft)</font></center> <p> This page describes basic principles and sugestions about how to make instruments that sounds like you belived that is possible to make them only with proffestional hardware. This applies on <b>ZynAddSubFX</b> or to any synthesizer (even if you'll write yourself with few lines of code). All the ideas from <b>ZynAddSubFX</b> comes from principles below. <br> <p><u><font size=+1>1) The Bandwidth of each harmonic</font></u> <p> I am not reffering at samplerate,, I am talking about the frequency "spread" of each harmonic. This is the most important principle of doing good sounding instruments. Unfortunately there is very little documatation about it (I have seen very briefly described in an old book, I searched on the net about this, but I didn't found anymore - maybe you'll help me). <p> Often it is belived that the pitched sounds(like piano,organ,choir,etc.) for a single note has a frequency, it's harmonics and nothing more. Many peoples tries to syntetize a sound using an exact frequency+harmonics and observe that the result sounds too "artificial". They tries to modify the harmonic content, add a vibratto, termollo, but even that doesn't sounds enough "warm". The reason is that the natural sounds doesn't produce an exact periodic; their sounds are quasi-preriodic. Please notice that not all quasi-periodic sounds are "warm" or pleasant. <p><u>The difference between a periodic wave and a quasi-periodic wave</u> <p> This is a graphical representation of a note with exact frequency (bandwidth of each harmonic is too narrow; the sound is periodic). Below this is the spectrum. <br><img SRC="images/img01a.jpg" NOSAVE height=80 width=522> <br><img SRC="images/img01b.jpg" NOSAVE height=112 width=271> <br> <br> <p>This is a graph of a quasiperiodic sound, below is the spectrum (the bandwidths are exagerated). <br><img SRC="images/img02a.jpg" NOSAVE height=117 width=507> <br><img SRC="images/img02b.jpg" NOSAVE height=141 width=264> <p>Click <a href="example01.ogg">here to listen</a> a sample of periodic wave folowed by a quasi-periodic one. <br> A very important thing about the bandwidth is that it has to be increased if you'll increase the harmonic's frequency. <br>If the fundamental frequency is 440 Hz and the bandwidth of it is 10 Hz (that means there the frequencies are spread from 435 to 445 Hz), the bandwith of second harmonics (880Hz) must be 20 Hz. A simple formula to compute the bandwidth of each harmonic by knowing the bandwidth of the fundamental frequency is <font size=+1>BWn=n*bw1 </font> ; n is the order of the harmonic, bw1 is the bandwidth of fundamental frequency and BWn is the bandwidth of the n'th harmonic. If you'll don't increase the bandwith according the frequency, the resulting instrument will sound too artificial or anyway, unpleasent. For example, the hard distorsion (as you hear in hard-rock music) has the tendency to produce overtones with same bandwiths on all frequencies or smaller bandwith on higher frequencies(perhaps this is the cause why it is so destructive). <br> There are a least two methods of making the sounds with above considerations: <br> a) by adding slightly detuned sounds (in ZynAddSubFX it is called ADsynth). The ideea is not new: it is used since thousands of years in choirs and ensembles. That's why the choirs sounds such beautiful. <br> b) by generating white noise, substrating all harmonics with band-pass filters and adding the results (in ZynAddSubFX it is called SUBsynth) <p><u><font size=+1>2) The randomness of the sound</font></u> <br> The main reason why the digital synthesis sound too "cold" is because the same recorded sample is played over and over on each keypress. There is no difference between a note played first time and second time. Exceptions may be the filtering and some effects, but theese are not enough. In natural or analogue instruments this don't happens because it is impossible to reproduce exactely the same condidtions for each note. To make a warm instrument you have to make that it sounds slightly different. In ZynAddSubFX you can do this: <br> a) In ADsynth, set the "Randomness" function from Oscillator Editor to a value different than 0 or change the LFO's start phase to the leftmost value <br> b) In SUBsynth, all notes has already randomness because the starting sound is white noise <p><u><font size=+1>3) Decrease the amplitude of higher harmonics on low velocity notes</font></u> <br> All natural notes has this proprety, because on low velocity notes there is no enough energy to spread to higher harmonics. On artificial synthesis you can do this by using a lowpass filter that lowers the cutoff frequency on notes with low velocities or, if you use FM, by lowering the modulator index. <p><u><font size=+1>4) The spectrum should be almost the same according to the frequencies and not to harmonics</font></u> <br> This means that, for example, the higher is the pitch, a smaller number of harmonics will contains. This happens on natural instrument because of the ressonance. <br>In this case there are many instruments that doesn't obeys this, but sounds quite good (example: synth organ). <br>If you'll record the C-2 note from a piano and you'll play at very higher speed (8 times), the result will not sound like C-5 key from the piano.The pitch is C-5, but the timbre is very different. This is because the harmonic content is preserved (I mean the n-th harmonic will have the same aplitude in both cases) and not the spectrum (eg. the amplitudes of the harmonics around 1000 Hz are too different from case to another). <br> In artificial synthesis you can use filters to do resonance or FM synthesis that varies the index according the frequency. <br>In ZynAddSubFX you can do the ressonance: <br> a) In ADsynth, use the Resonance, a high harmonics sounds content and filters or FM. <br> b) In SUBsynth, you can put some harmonics and use the Global Filter <br> <br> </body> </html>