SuperCollider Workshop (Online)

– SUPERCOLLIDER WORKSHOP --.

-Levels: Elementary++Intermediate.

-José Ignacio Quevedo Gómez. (Teacher).

-Price: Information to: jquevedo5@estudiantes.areandina.edu.co

*Week 1: Modulation; Additive Synthesis; Subs-tractive Synthesis.
*Week 2: SynthDefs.
*Week 3: Pbinds; Patterns.
*Week 4: GUI.
*Week 5: FM Synthesis.
*Week 6: Buffers, Audio Files Manipulation.
*Week 7: MIDI.
*Week 8: Routines.
*Week 9: Applied Algorithmic Composition in SuperCollider.

Duration: 2 Months.
Date of beginning: August 29/2021.
Via: Zoom “Online”.

1 Like

Hi, everyone interested!
The Workshop will have mainly the topics from Michel Sotos’s Workshop I did in the lasts months, but as well the experience in SuperCollider acquired from Sergio Luque, Alexandra Cárdenas and Federico Reuben, as well as training in SuperCollider in Linux platform from Iannis Zannos, it is not only Michel’s knowledge for having it very clear.

Te Workshop is intended for peoples who doesn’t know anything of SuperCollider and wants to acquire an intermediate level. Is All, Mac, Windows and Linux. It begins with modulation topics, as well FM synthesis, additive and subtractive, and as well granular synthesis.
Have the design of SynthDefs, Patterns and MIDI; the using of a GUI for SuperCollider and how to design it. Routines, Audio Files manipulation, and Algorithmic Composition applied to the Workshop Topics.

Hope you are interested,
and the price is 40 US Dollars per person.

ATTE: Composer and Programmer and Computer Science student:
José Ignacio Quevedo Gómez
UNAD (National Open and at Distance University),_Colombia,_Latin America.
As well: Electronic Engineering, Maths and Philosophy student. (This is un-relevant knowledge for SuperCollider).

Part of the code we will see in our Workshop!
From my composition “To my Dogs”:

/////////////////////Step # 1////**

(((
		~n=3;
SynthDef.new(\bellA,{
	arg freq=4, amp=1;
	var fund, harm1,harm2,harm3,harm4,harm5,harm6,harm7,harm8,harm9,harm10,harm11,harm12,harm13,harm14,harm15,harm16,harm17,harm18,harm19,harm20,sig,env;
	//envelope
	env=EnvGen.kr(Env.perc(0.0001,1));
	//spectral content
	sig=Klang.ar(`[
		[1]++Array.rand((~n-1),1,30000).sort,
		Array.rand(~n,0.01,0.5).sort.reverse,
		Array.rand(~n,0,pi)
		],freq);
	sig=sig*env;
	//effects
	sig=Pan2.ar(sig,0);
	//output
	Out.ar(0,sig);
}).play;
)
+
(
		~n=3;
SynthDef.new(\bellA,{
	arg freq=4, amp=1;
	var fund, harm1,harm2,harm3,harm4,harm5,harm6,harm7,harm8,harm9,harm10,sig,env;
	//envelope
	env=EnvGen.kr(Env.perc(1,3));
	//spectral content
	sig=Klang.ar(`[
		[1]++Array.rand((~n-1),1,30000).sort,
		Array.rand(~n,0.01,0.5).sort.reverse,
		Array.rand(~n,0,pi)
		],freq);
	sig=sig*env;
	//effects
	sig=Pan2.ar(sig,0);
	//output
	Out.ar(0,sig);
}).play;
)
+
(
		~n=3;
SynthDef.new(\bellA,{
	arg freq=4, amp=1;
	var fund, harm1,harm2,harm3,harm4,harm5,sig,env;
	//envelope
	env=EnvGen.kr(Env.perc(0.0001,5));
	//spectral content
	sig=Klang.ar(`[
		[1]++Array.rand((~n-1),1,30000).sort,
		Array.rand(~n,0.01,0.5).sort.reverse,
		Array.rand(~n,0,pi)
		],freq);
	sig=sig*env;
	//effects
	sig=Pan2.ar(sig,0);
	//output
	Out.ar(0,sig);
}).play;
)
)
)

//////////////////Step # 2////**

(
(
(
{{(
(
{{(~rut=Routine({
	{
	p = Pbind(*[
	instrument: (\bellA),
			freq: Pseq(Array.rand(1000, 0.001, 500)),
			db: Pseq([-10, -20, -40, -50], inf),
					pan: Pseq([-1,0,1,0], inf),
					dur: Pseq(Array.rand(1000, 0.00001, 1)),
]);

					p = Pbind(*[
	instrument: (\bellA),
			freq: Pseq(Array.rand(1000, 0.001, 5000)),
			db: Pseq([-10, -20, -40, -50], inf),
					pan: Pseq([-1,0,1,0], inf),
					dur: Pseq(Array.rand(1000, 0.00001, 2)),
]);

					p = Pbind(*[
	instrument: (\bellA),
			freq: Pseq(Array.rand(1000, 0.001, 50)),
			db: Pseq([-10, -20, -40, -50], inf),
					pan: Pseq([-1,0,1,0], inf),
					dur: Pseq(Array.rand(1000, 0.00001, 3)),
]);


		p.play;
		Array.rand(1000, [1,3,4,5,7], [8]).wait;
	}.loop;
}).play;
)
+
p.play;
		Array.rand(100, [1,3,4], [3]).wait;
	}.loop;
}).play;
)
+
p.play;
		Array.rand(10, [1,2,4,6], [10]).wait;
	}.loop;
}).play;
)
)


/////////////////////Step # 3 ////**

(
SynthDef.new(\drum, {
	var input, sig, env, env1, impact;
	impact=SinOsc.ar(120, 0, 1.5);
	env1=EnvGen.kr(Env.perc(0.001,0.25));
	impact=impact*env1;
		input=WhiteNoise.ar(0.8);
		sig=LPF.ar(input, XLine.kr(30, 800));
		env=EnvGen.kr(Env.perc(0.001, 0.6));
			sig=sig*env;
			sig=sig+impact;
			sig=Pan2.ar(sig,0);
			Out.ar(0,sig);
}).play;

SynthDef.new(\snare, {
	var input, sig, env, env1, impact;
	impact=SinOsc.ar(120, 0, 0.1);
	env1=EnvGen.kr(Env.perc(0.001,0.25));
	impact=impact*env1;
		input=WhiteNoise.ar(0.8);
		sig=HPF.ar(input, XLine.kr(300, 180));
		env=EnvGen.kr(Env.perc(0.001, 0.5));
			sig=sig*env;
			sig=sig+impact;
			sig=Pan2.ar(sig,0);
			Out.ar(0,sig);
}).play;

SynthDef.new(\guitar, {
	arg amp=1, freq=4;
	var harm1, harm2, harm3, harm4, sig, env;
		env=EnvGen.kr(Env.perc(0.01,1.8));
		sig=Klang.ar(`[Array.rand(1,1.0,30).sort],freq);
			sig=sig*env;
			sig=Pan2.ar(sig,0);
			Out.ar(0,sig);
}).play;
)

/////////////////////Step # 4 ////**

(
~tempo=XLine.kr(10, 150, 10);
Pbind(
		\instrument,\guitar,
	\dur,Prand([0.25,0.5, 1/3, 1, 0.125, 0.625],inf),
	\amp,0.2,
	\freq,Pseq([
		Pseq([[60,61,62],[63,120,50,37]]),
		Pseq([100,63,43,84,77,4,94,59,39,6,6,2,7,28,28,38,3,55,33,3,65,72,5,72,9,74,7,74,67,4,86,49,35,27,98,84,85,7,2,95,95,66,42,95,2,83,4,23,36,86,72,6,3,5,33,29,42,95,96,2,77,63,32,84,24,45,69,3,9,37,94,2,7,56,7,54,2,9],8),
		Prand([20,59,37,77,4,94,59,39,6,6,2,7,28,28,38,3,55,33,3,65,72,5,72,9,74,7,74,67,4,86,49,35,27,98,84,85,7,2,95,95,66,42,95,2,83,4,23,36,86,72,6,3,5,33,29,42,95,96,2,77,63,32,84,24,45,69,39,37,94,2,7,56,7,54,2,970,124,80],5),].midicps,inf)).play(TempoClock(~tempo/60));

Pbind(
\instrument,\snare,
\dur,Pwrand.new(
		[
				Pseq([0.25], 5),
		Pseq([Pseq([1/3], 15), Pseq([1/8], 6)],1),
	],
		[30,70].normalizeSum,inf),
	\amp, 1,).play(TempoClock(~tempo/60));


Pbind(
	\instrument,\drum,
	\dur,Pwrand(
	[
	Pseq([0.25],5),
	Pseq([Pseq([1/3], 5),Pseq([1/8],4)],1),
	Pseq([Pseq([0.5],7),Pseq([1/3],3)],1),
	Pseq([Pseq([0.125],3),Pseq([1/8],9)],1),
	],
	[30,15,15,40].normalizeSum,inf),
	\amp,4,).play(TempoClock(~tempo/60));
)

As well WhatsApp Contact for the Enrolment:

+(57) 3162522491

ATTE: Jose Ignacio.

There are no doneActions so this will crash SC pretty quick for me.

Yes! Thanks. Poison… I know it from start of my coding, I was not intending to put doneActions in here. So thanks and be happy with the crash. The code is good for demonstrations, not for composing.
José

Thanks! I am very happy with the crash :slight_smile:

2 Likes

About the Composer:

José Ignacio Quevedo Gómez is a Colombian and Latin American Acoustic Classical Contemporary Composer, Algorithmic Composer and Electroacoustic Composer. Born (1976), Medellín, Colombia, Latin America.

Active in Composition and Music since 1993 to today (2021).

OLD PRIVATE MUSICAL TUTORS:

Electroacoustic Composition and Algorithmic Composition and Software:

Ricardo Dal Farra PhD (Concordia University, Canada); Federico Reuben PhD (York University, U.K.); Sergio Luque PhD (Birmingham University, U.K.); Alexandra Cárdenas M.A. (Berlin University of the Arts, Germany); Harold Vázquez Castañeda M.A. (Geneva Conservatory, Switzerland // Ircam, France); Eblis Álvarez M.A. (DIEM Danish Electronic Music Institute // Copenhagen Conservatory, Denmark); Ana Maria Romano B.A. (Andes University, Colombia); Rodolfo Acosta B.A. (Andes University Colombia // Royamount Foundation // Berklee College of Music, U.S.A.); Fao Torres B.A. (Taiwan // Andes University, Colombia), Jose Ignacio has taken a SuperCollider Workshop with Mexican Composer Michel Soto M.A. (UNAM, (National Autonomous University of Mexico), Mexico).

Acoustic Classical Contemporary Composition:

Fernando Rincón Estrada PhD (California Santa Cruz University, U.S.A.); José Ignacio Hernandez Sanchez M.A. (California Santa Cruz University, U.S.A.); Rodolfo Acosta B.A. (Andes University Colombia // Royamount Foundation // Berklee College of Music, U.S.A.); Juan Carlos Marulanda B.A. (Pontifical Javeriana University, Colombia).

NOW:
Iannis Zannos PhD (Tokyo University, Japan), José Ignacio take private lessons of SuperCollider with Him; and has taken a CCRMA, Stanford University Workshop in SCAMP (Suite for Composing Algorithmic Music in Python), with U.S.A. Composer, Marc Evanstein PhD (California University Santa Barbara, U.S.A.). He will continue to take CCRMA Music Workshops for the next 15 years each year.

He uses SuperCollider; ChucK; Csound for his Compositions and is training as self-student in Arduino. He uses Linux (All the Distros); and W10, He don’t uses Mac.

Musical Theory and Piano:

Olga Shishkina Post-doctoral (Odessa Conservatory, Ukraine); Radostina Petkova B.A. (Sofia Statal Conservatory, Bulgaria).

Electronic Music Production and Audio Mastering:

Loudon Stearns M.A. (Berklee College of Music, U.S.A.); Jonathan Wyner M.A. (Berklee College of Music, U.S.A.).

FORMAL MUSICAL EDUCATION:

José Ignacio is homologating his Music Undergraduate at UNAD (National Open and at Distance University), Colombia, Latin America. He has a finished corporate Degree in Electroacoustic Music Composition and Music Production from Atlantic International University, Honolulu, Hawaii, U.S.A. And a Tech.B.A. in Electronic Music Production and Sound Design from Berklee College of Music Online, Boston, U.S.A.

Y el que tenga envidia por no saber o no poder dictar un Workshop en SC que se la aguante, envidia mejor despertarla que sentirla!! :slight_smile:

THIS Workshop is canceled because it is very similar to Michel Soto´s SuperCollider Workshop and I dont want to teach it anymore rigth now. When I have a Super-Advanced level in SuperCollider the Workshop will re open in other way stuff.
WARNING:
Very apologies to Michel.