...a simple, but powerfull paradigm that helps to make simple algorithms that produces very beautiful sounds. Hi. I want to open a topic about what I call "bandwidth of each harmonic", to say some ideas that helped me to make beautifull sounds. I am Paul, the author of ZynAddSubFX software synthsizer ( http://zynaddsubfx.sourceforge.net ) and I wish to share some ideas ;) Referring to musical sounds,usually the harmonics are considered simple sine function. Of course, the reality shows different thing, and so, the harmonics was started to be considered as sine functions modulated by a lower frequencies (I saw some time ago a link that describes that the choir sound is beautifull because of the "micromodulations",etc...). A very good thing is to "have a look" in a frequency domains. Let's take for example a choir that sing same note (like A=440Hz). Because all are human, even they are very well trained singer, they will not sing exactely the same note; for example one will sing at 435 Hz or other, at 443 Hz, and so on. Now, the first harmonic (the fundamental note) is not longer a sine of 440 Hz, but a narrow band signal that has a certain bandwith. For example, let's take a very simple case: if all sing at same loudness, and they sing from 435 Hz and the 445 Hz. In this case, the bandwidth will be 10 Hz. Of course, in real choir the frequency distribution of the harmonic will be not flat, but usually will be a curve that looks like a normal (gaussian) curve(found this after I did some research= very fine frequency analysis with very long FFTs). Now, let's go to the second harmonic: if you multiply 435 and 445 with 2, the difference will be 20 Hz. So, the bandwidth of the second harmonic is 20 Hz. So here a important rule of real instruments (esp. ensembles): the bandwith of each harmonic is proportional to the it's frequency; so in this example the first harmonic has bandwidth 10Hz, the second 20Hz, the third 30Hz, and so on. Here I made a very fine frequency analisys of a synthsized sound(a real orchestra sound will give similar results): [img]http://zynaddsubfx.sourceforge.net/doc/paul1.png[/img] You see, that the harmonic's bandwith increase according to their frequency. If you don't increase the bandwidth of higher harmonics, the resulting sound will be unpleasant especially on higher bandwiths of the first harmonic. So, not all quasi-periodic sounds are good, usually only if you increase the bandwidth of the harmonics. Now, what's happens if there are a lot of harmonics or the pitch of the sound is enough low? Let's see: [img]http://zynaddsubfx.sourceforge.net/doc/paul2.png[/img] The upper harmonics will merge to a single frequency band that will sound like a hiss, that is pleasent to the ear(eg. choir). I found that bandwidth of each harmonics can go even greater than 50 cents (quater of a tone) and still sound musical - I can give you some example wavs. Please note that this a different situation than 2 notes detuned by 50 cents (that sound very dissonand). Also, the best is that the phases are random. In real life this is ensured by the reverberation of the hall, for example if a instrument plays with a vibratto (a flute). Perhaps you noticed that always if more instruments plays the same note(as a enseble), the sound is very pleasant. I consider that this is the cause: the bandwidth of each harmonic. Unfortunately, there is very little on the internet about this stuff, because, I think, that are used more complicated paradigms (like some statistics on how sine harmonics modulates, or so). Now I want to give examples on how you can synthesize sounds, using this ideea. You can use zynaddsubfx or another synthesizer in most cases. Of course: I don't claim that I invented the bandwidth of each harmonic (or frequency distribution of each harmonic), because the ensembles, the choirs, the reverberations, exists since thousands of years (or more :) ). I just consider this a very important fact on how sounds are beautifull and it helped me to synthsize good sounds even since I was on highschool :D. You can make bandwidth of each harmonics by: 1) make more oscillators and detune them a bit (and a slight vibratto helps alot). Most synth use this and allows this, and perhaps it is known by you. This is one of the simplest method. This is implemented in ZynAddSubFX as "ADDsynth" module 2) generate white noise and filter each harmonics with a bandpass filter and mix the results. Be carefull to make higher harmonics to have higher bandwidth. This is implememnted in zynaddsubfx as "SUBsynth" module. 3) You see that above graphs. You can represent them as numbers in the frequency domain that represent the amplitudes of the frequencies, add random phases and do a SINGLE IFFT and voila! A very beautifull sound will "born". This new ideea is implemented in ZynAddSubFX as "PADsynth" 4) you can do other things, like a vibratto on a periodic oscillator and do a FFT to all sound, put random phases, and do a IFFT. For more information, I made few years ago a page that describes above things at: http://zynaddsubfx.sourceforge.net/doc_0.html Good luck. Paul __________________________________ Do you Yahoo!? The all-new My Yahoo! - What will yours do? http://my.yahoo.com