next SuperCollider: Patrones
up Ejemplos en SuperCollider
previous SuperCollider: Modulación
  Índice General   Índice de Materias


SuperCollider: Síntesis granular


TUTORIAL DE SUPERCOLLIDER 3 - PARTE 9
Rodrigo F. Cadiz, basado en apuntes de Gary S. Kendall
Northwestern University

(
	Server.default = Server.internal;
	s = Server.default;
	s.boot;
)

Sintesis granular

Gendy1 	(tambien Gendy2 y Gendy3)
- Implementacion del generador dinamico estocastico concebido por Xenakis


Metodos de clase
*ar(ampdist=1, durdist=1, adparam=1.0, ddparam=1.0, minfreq=20, maxfreq=1000, ampscale= 0.5, durscale=0.5, initCPs=12, knum=12, mul=1.0, add=0.0)

Check the help page for an explanation of the parameters!
	
//defaults	

{Pan2.ar(RLPF.ar(Gendy1.ar(2,3,minfreq:20, maxfreq:MouseX.kr(100,1000), durscale:0.0, initCPs:40), 500,0.3, 0.2), 0.0)}.play

({
var mx, my;
mx= MouseX.kr(220,440);
my= MouseY.kr(0.0,1.0);
Pan2.ar(Gendy1.ar(2,3,1,1,minfreq:mx, maxfreq:8*mx, ampscale:my, durscale:my, initCPs:7, mul:0.3), 0.0)
}.play)


Sintesis granular ala Gabor

// Granular Synthesis
(SynthDef(\grainMaker, {arg dur = 1, amp = -3, freq = 440;
	var env, halfdur, car;
	halfdur = dur * 0.5;
	amp = amp.dbamp;
	env = EnvGen.ar(
		Env([0, amp, 0], [halfdur, halfdur], \lin),
		doneAction: 2);
	car = SinOsc.ar(freq, 0, 1);
	OffsetOut.ar(0, car * env);
}).load(s);)

(z = Routine({
	var freq, amp, time=0;
	freq = Env([1000, 500], [15], \exp);
	amp = Env([-12, -3, -12], [7.5, 7.5], \lin);
	1500.do{
		s.sendBundle(0.1, [\s_new, \grainMaker, -1, 0, 1, \dur, 0.009, \amp, amp[time], \freq, freq[time]]);
		0.01.wait;
		time = time + 0.01;
	}
}).play)


next SuperCollider: Patrones
up Ejemplos en SuperCollider
previous SuperCollider: Modulación
  Índice General   Índice de Materias

Copyright © 2008-06-05
Rodrigo F. Cádiz   - Centro de Investigación en Tecnologías de Audio, Instituto de Música, Pontificia Universidad Católica de Chile