«gongFM_SC» by Oscar Recarte

on 11 Jul'21 18:35 in fminstrumentsynthesissynthdefsynthesis techniquesfrequency modulationsound design

Various gong-like sounds using FM synthesis. More detailed info (in Spanish) at https://recarteblog.wordpress.com/2021/05/05/gongfm_sc/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// https://recarteblog.wordpress.com/
//gongFM_SC

// 1. Añadir al servidor

(
SynthDef(\gongFM, {
	arg ratio1=0.9, ratio2=0.55, ratio3=1.03, index2=2, index3=4, amp=0.7, dur=7, pan=0;
	var sig, op1, op2, op3, env1, env2, env3;
	env3 = EnvGen.kr(Env.new([0, 1, 1, 0], [0.4, 0.3, dur]), doneAction:2);
	env2 = EnvGen.kr(Env.new([0, 1, 1, 0], [0, 0.3, dur]), doneAction:2);
	env1 = EnvGen.kr(Env.new([0, 1, 1, 0], [0.003, 0.3, dur - 0.5]), doneAction:2);
	op3 = SinOsc.ar(([67, 70, 74].midicps * ratio3), mul:[67, 70, 74].midicps * ratio3 * index3) * env3;
	op2 = SinOsc.ar((([67, 70, 74].midicps * ratio2) + op3), mul:[67, 70, 74].midicps * ratio2 * index2) * env2;
	op1 = SinOsc.ar(([67, 70, 74].midicps * ratio1) + op2);
	sig = op1 * env1 * amp;
	sig = Splay.ar(sig);
	sig = Balance2.ar(sig[0], sig[1], pan);
	Out.ar(0, sig);
}).add;
)


// 2. Ejecutar los Synths

Synth(\gongFM);

Synth(\gongFM, [\ratio1, 0.503, \ratio2, 0.50, \ratio3, 1.35, \index2, 1.53, \index3, 4.33]);

Synth(\gongFM, [\ratio1, 0.59, \ratio2, 0.17, \ratio3, 0.75, \index2, 1.54, \index3, 3.29]);

Synth(\gongFM, [\ratio1, 0.49, \ratio2, 0.17, \ratio3, 0.34, \index2, 1.33, \index3, 4.31]);

Synth(\gongFM, [\ratio1, 1.11, \ratio2, 0.2, \ratio3, 0.80, \index2, 1.97, \index3, 5.06]);
raw 1290 chars (focus & ctrl+a+c to copy)
reception
comments