«droneFM01» by Oscar Recarte

on 11 Jul'21 02:50 in beatsdronefminstrumentsynthesissynthdefsynthesis techniquesfrequency modulationsound design

Polyrhythmic and dynamic FM drone.

More detailed info (in Spanish) at https://recarteblog.wordpress.com/2021/02/23/example-post-2/

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
// https://recarteblog.wordpress.com/
//droneFM01

// 1. Añadir al servidor
(
SynthDef(\droneFM, {
	arg f1Freq=0.1, f2Freq=1.1, f3Freq=2.2, nFreq=440, m1Ratio=1, m2Ratio=2, m3Ratio=3,
	amp=0.1, dur=55, ampM=0.84 , pan=0;
	var sig, car1, mod1, car2, mod2, car3, mod3, env, index;
	index = LFNoise1.kr(0.2).range(2, 12);
	env = EnvGen.kr(Env.new([0, 0.70, 0.70, 0], [dur*0.333, dur*0.333, dur*0.333]), doneAction:2);
	mod1 = SinOsc.ar([nFreq * m1Ratio, nFreq+0.7 * m1Ratio], mul:nFreq * m1Ratio * index) * ampM;
	car1 = SinOsc.ar(f1Freq + mod1);
	mod2 = SinOsc.ar([nFreq * m2Ratio, nFreq+1.4 * m2Ratio], mul:nFreq * m2Ratio * index) * ampM;
	car2 = SinOsc.ar(f2Freq + mod2);
	mod3 = SinOsc.ar([nFreq * m3Ratio, nFreq+0.35 * m3Ratio], mul:nFreq * m3Ratio * index) * ampM;
	car3 = SinOsc.ar(f3Freq + mod3) * 0.4;
	sig = car1 + car2 + car3 * env * amp;
	sig = Pan2.ar(sig, pan);
	Out.ar(0, sig);
}).add;
)

// 2. Ejecutar los Synths
(
Synth(\droneFM, [\nFreq, 50.midicps]);
Synth(\droneFM, [\nFreq, 57.midicps]);
Synth(\droneFM, [\nFreq, 41.midicps]);
)
raw 1076 chars (focus & ctrl+a+c to copy)
reception
comments