Kyma Forum
  Tips & Techniques
  Granular Sounds

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Granular Sounds
David McClain
Member
posted 12 October 2000 00:36         Edit/Delete Message   Reply w/Quote
Anyone know why the Granular synth produces sounds that sound like they were recorded in a barrel? I'm curious if all granular synthesis sounds this way, or if it is just the Kyma.

- DM

IP: Logged

David McClain
Member
posted 12 October 2000 05:27         Edit/Delete Message   Reply w/Quote
Okay, so I'll answer my own question... I just did a quick analysis and here is what I found...

1. The envelope used for forming the grains, typically a Gaussian envelope of about 20 ms between the 3 sigma levels, causes the spectrum of the original signal to smear out by a width of around 150 Hz at the -40 dB level relative to the normalized carrier level.

2. The repitition of grains implies a sort of comb filter with frequency spacings inversely proportional to the grain spacings. For example, if we form grains as above in point 1, and then repeat them at intervals of about 20 ms, then the comb will have teeth at frequency spacings of about 50 Hz.

3. Sending a pure sinewave, at say, 1 KHz through this grain formation/repitition process produces a spectrum that has sidebands located at intervals of 50 Hz on either side of the fundamental, and these sidebands diminish in amplitude to an extent dictated by the shape of the grain envelope. So for our example grains, its spectrum has a principal component at 1 KHz, first sidebands at +/- 50 Hz from the fundamental at levels around -4 dB, second sidebands at +/- 100 Hz with levels around -18 dB, and third sidebands at +/- 150 Hz with levels around -44 dB.

3. This kind of spectrum, although reminiscent of ring modulation, is actually a bit richer due to the additional sidebands.

However, the "reason that grains sound like they were recorded in a barrel" is due principally to the inharmonic spacing of these sidebands. More crowded streams of grains will have sidebands at closer spacings, be brighter overall, and have more of them. Sparse streams will have few sidebands, be more depressed, and simply smear the original spectrum by the envelope spectrum.

Hence, when performing granular synthesis, there is simply no way to avoid the ring-modulation artifacts. The narrower the grain in time, the broader the number of these sideband frequency components.

...such is the nature of granular synthesis.

(Simple modeling code, in NML, available from me at dmcclain@azstarnet.com)

- DM

IP: Logged

David McClain
Member
posted 12 October 2000 05:34         Edit/Delete Message   Reply w/Quote
I worded that poorly (incorrectly, actually!). Dense grains will have widely spaced sidebands, and have fewer of them in the resulting spectrum, and each will be weaker, due to the envelope of each grain. Hence a dense cloud should (and does) sound more like the original signal.

Sparse clouds will have more sidebands, be more densely packed in frequency, and be brighter in strength, effectively widening the spectrum of the fundamental - it will sound more like a pulse.

The clouds in between these two extremes are the ones that will suffer ring-mod-like artifacts, and these are the ones that will stand out like they were recorded in a barrel.

- DM

IP: Logged

David McClain
Member
posted 12 October 2000 05:42         Edit/Delete Message   Reply w/Quote
PS: Pictures/Graphs are available (dmcclain@azstarnet.com) illustrating all of this. It might be easier to understand what I said above if you can look at some graphs of the time-domain signals, and their corresponding spectra.

- DM

IP: Logged

Bill Meadows
Member
posted 12 October 2000 14:27         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by David McClain:
PS: Pictures/Graphs are available (dmcclain@azstarnet.com) illustrating all of this.
- DM

Interesting analysis. I couldn't find your website, however.

I have a different question regarding granular, perhaps you or SSC can explain. When I use long grain durations (e.g.- > 500ms) the amplitude of the resulting sound is obviously following the grain envelope - it "waves" up and down.

This happens even with high density settings, which seems to imply that all of the grains are being triggered at the same time. This doesn't seems correct to me. Why would I want 15-20 simultaneous, identical grains?

What am I missing here?


IP: Logged

oivindi
Member
posted 12 October 2000 16:44         Edit/Delete Message   Reply w/Quote
Isnīt the fact that all 15-20 grains being triggered at the same time a result of setting DurationJitter to "0"? As long as all grains have the same duration, they will trigger at the same time...at least as long as a jitter isnīt inserted to cause some deviation from the length of the grains...?

Or am I way off?

/Ø/

IP: Logged

David McClain
Member
posted 12 October 2000 17:20         Edit/Delete Message   Reply w/Quote
Original Posting....
>> Interesting analysis. I couldn't find your website, however.


Sorry, that isn't a website - it's my E-mail address. If you want to get it from my website you'll have to wait till I put them together into a nice document. For now, if you want to see them drop me a note, and that will spur me to produce a document that is nice and readable... maybe then I'll put it on my website...

- DM


IP: Logged

SSC
Administrator
posted 12 October 2000 18:40         Edit/Delete Message   Reply w/Quote
RE: grains bunching up

This is caused by not having enough simultaneous grains.

The density parameter can be thought of as the probability of triggering a new grain on each sample. This means that if you ask for long grain durations, you need to have a small density in order to avoid running out of grains.

For example, say the Density was set so that the probability was 0.01. If the grain duration is 100 samples, you can expect (on average) one grain to be triggered during the duration of another grain playing. This would mean that you would have 2 simultaneous grains (on average).

If the grain duration is 1000 samples, then you can expect 10 grains to be started during the duration of another grain playing. This would mean that you would have 11 simultaneous grains.

You can see that no matter how many simultaneous grains you specify in the GrainCloud parameters, there will be a grain duration that will cause you to request more grains than you have specified. (In the above example, choose a grain duration of 10000 samples or ~250 ms, and you see that you are asking for 101 grains.)

So why does this matter? Because when Kyma starts up a grain, that grain is in use until it finishes its playback. This means that if you are requesting 101 grains, but the GrainCloud is set for 20 grains, you will get "clumps" of 20 grains at the correct spacing for the density, and then a gap until the first of the grains has finished playing.

IP: Logged

SSC
Administrator
posted 12 October 2000 18:43         Edit/Delete Message   Reply w/Quote
David --

Are you referring to the SampleCloud or GrainCloud?

IP: Logged

David McClain
Member
posted 12 October 2000 19:59         Edit/Delete Message   Reply w/Quote
For those wishing to indulge the mathematics and the graphics, you can now find a quick writeup at http://www.azstarnet.com/~dmcclain/GranularSpectrum.html

If the question about SampleClouds or GrainClouds was directed at me, I don't quite understand your question. A grain is an element of a sample which has been enveloped typically with a Gaussian waveform and placed arbitrarily in time for playback. I would think, but I am not using your vocabulary, that a samplecloud is simply a cluster of sample cuttings without any envelope applied to smooth the front and back transitions. If you don't smooth these transitions, then the spectrum gets even uglier because you have used a default window that is simply a top-hat and its spectrum has many many sidebands and ripples. It is a sin(f)/f spectrum. At least a Gaussian envelope produces another Gaussian shaped spectrum.

- DM

IP: Logged

Bill Meadows
Member
posted 13 October 2000 14:06         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by SSC:
RE: grains bunching up

This is caused by not having enough simultaneous grains.

The density parameter can be thought of as the probability of triggering a new grain on each sample. This means that if you ask for long grain durations, you need to have a small density in order to avoid running out of grains.


Ah ha! Thanks for the explanation. (Too bad it wasn't in the manual, but I know how hard it is to write those things.)

I will try this right away.

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c