Difference between revisions of "MultiGrain"

From CCRMA Wiki
Jump to: navigation, search
Line 1: Line 1:
== IDEA==
+
== IDEA ==
Implementation of real time granular synthesis in Chuck, with the ability to be used in live performance.  The synthesis parameters (grain length, position, position randomness, pitch, and pitch randomness) can be tweaked in real time.
+
Implementation of real time, time granulation synthesis in Chuck, with the ability to be used in live performance.  The synthesis parameters (grain length, position, position randomness, pitch, and pitch randomness) can be tweaked in real time.
  
[http://ccrma.stanford.edu/~baeksan/220a/final_project/chiko.wav Original sound file]
+
== DESIGN ==
 +
SndBuf stores a sound file into a buffer, which is then chucked to a linear envelope for the grains. The envelope used in the sound files below has a rise time that is randomly chosen from 0.45 to 0.5 ms.  This can be altered to change achieve a more varying asynchronous envelope for each grain.  For granular synthesis, grain length is usually from 1 - 100 ms.  The grain length, position in the sound file, the randomness of the position, pitch transposition, and randomness of pitch are the parameters that can be controlled in this patch.  All the parameters were mapped to a midi controller, allowing for real time control of each parameter simultaneously.
  
[http://ccrma.stanford.edu/~baeksan/220a/final_project/grain_size.wav Varying grain length]
 
  
[http://ccrma.stanford.edu/~baeksan/220a/final_project/rand_position.wav Varying randomness of position]
 
  
[http://ccrma.stanford.edu/~baeksan/220a/final_project/pitch_shifting.wav Transposing pitch]
+
== EXAMPLE SOUND CLIPS ==
 +
[http://ccrma.stanford.edu/~baeksan/220a/final_project/chiko.wav Original sound file]
 +
 
 +
[http://ccrma.stanford.edu/~baeksan/220a/final_project/rand_position.wav Varying randomness of position] - Changing the parameter which controls how far from the starting position the patch should play grains.
 +
 
 +
[http://ccrma.stanford.edu/~baeksan/220a/final_project/pitch_shifting.wav Transposing pitch] - Pitch transposition of the grains
  
 
[http://ccrma.stanford.edu/~baeksan/220a/final_project/time_stretching.wav Time stretching]
 
[http://ccrma.stanford.edu/~baeksan/220a/final_project/time_stretching.wav Time stretching]

Revision as of 17:49, 10 December 2007

IDEA

Implementation of real time, time granulation synthesis in Chuck, with the ability to be used in live performance. The synthesis parameters (grain length, position, position randomness, pitch, and pitch randomness) can be tweaked in real time.

DESIGN

SndBuf stores a sound file into a buffer, which is then chucked to a linear envelope for the grains. The envelope used in the sound files below has a rise time that is randomly chosen from 0.45 to 0.5 ms. This can be altered to change achieve a more varying asynchronous envelope for each grain. For granular synthesis, grain length is usually from 1 - 100 ms. The grain length, position in the sound file, the randomness of the position, pitch transposition, and randomness of pitch are the parameters that can be controlled in this patch. All the parameters were mapped to a midi controller, allowing for real time control of each parameter simultaneously.


EXAMPLE SOUND CLIPS

Original sound file

Varying randomness of position - Changing the parameter which controls how far from the starting position the patch should play grains.

Transposing pitch - Pitch transposition of the grains

Time stretching

Time stretching with transposition Time stretching another example

Everything all together with reverb control on top

Granular Chuck code

Multiple Grain Instances