13.07.2015 Views

Ervik_Brandtsegg2.pdf

Ervik_Brandtsegg2.pdf

Ervik_Brandtsegg2.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Another way to create along tail on a sound object is totime stretch it. This is easily doneusing granular synthesis. In thefirst track of figure 2, we can seea small sound object. One can“chop” the sound object intograins and stretch the duration ofthe entire sound object like anaccordion, leaving empty spacebetween each grain. This is donein the second and third track of the Fig 2: Granular synthesis time stretchfigure. In track four we can se thatby filling the empty spaces between the grains with sound from nearby regions, we get alonger sound object with the same structure as the shorter one, still retaining the originalpitch.When doing time stretch using granular synthesis, we urge to avoid artefacts tothe extent possible. The most common artefacts are smearing of transients (due tooverlapping long grains), and amplitude modulation sidebands (due to high grain rate andperiodic grains). With low grain rates (less than 30 Hz), the pitch of the sound object isperceived through transposition of the source audio, as the original source waveform isnot distorted by granular amplitude modulation. We can to some extent avoid the AMeffect at higher grain rates too, by using a small random deviation on the sample positionfor reading grains. One way to create a smooth time stretch effect is by using a grain rateof about 30 – 40 grains per second, overlapping grains (3 overlaps seems to be OK) and atiny random offset on the sample position. To achieve a broad stereo image one candouble the grain rate and mask every other grain to the left and right stereo channels.Time stretching real time audioThere are obviously some conceptual problems with the idea of time stretching in realtime. When a sound is played in its original tempo, at the same time as the same sound isplayed back in a lower tempo, the lower tempo playback will lag behind the original, andincreasingly so over time. In real time processing this is a problem because shortly afterthe effect instrument is started, the time between the playback position of the originalsignal and the playback position of the stretched signal is far to large for it to sound like areverb effect. Letting the stretching process “skip” some parts of the incoming sound cansolve this problem, as this will let us align the two playback positions on a periodic basis.This is not ideal either, because it will be unpredictable which part of the incomingsignal which will be skipped and which part will be stretched.A better approach to real time time stretch is to use several buffers and severalinstances of the time stretch instrument simultaneously (TimeStretchReverb.csd [6]).Using the “schedkwhen” Csound opcode we can trigger a Csound instrument to recordincoming sound to a buffer (a Csound table). The same opcode can also be used to start aCreating reverb effects using granular synthesis – page 3 of 6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!