Using nanokontrol2 MIDI faders for synths

Hi and welcome,

Sure.

I’m posting a simple modulation example I used with the nanoKontrol, you could adapt to your granulation synth.

// start Synth silently

(
x = { arg minCarrFr = 300, maxCarrFr = 500, freqModFr, widthModFr, ampModFr, panModFr, amp = 0;
	var sig = Pan2.ar(
		Pulse.ar(
			SinOsc.ar(freqModFr).range(minCarrFr, maxCarrFr),
			SinOsc.ar(widthModFr).range(0.05, 0.5),
			SinOsc.ar(ampModFr).range(0, 0.1)
		),
		SinOsc.ar(panModFr)
	) * amp;
	LeakDC.ar(sig)
}.play
)

// connect MIDI
// suppose nanoKontrol sliders mapped to cc 0-6

// amplitude controlled by second slider from right

(
MIDIIn.connectAll;

// add global Specs

Spec.add(\minCarrFr, [50, 500, \lin]);
Spec.add(\maxCarrFr, [50, 500, \lin]);
Spec.add(\freqModFr, [0, 200, \lin]);
Spec.add(\widthModFr, [0, 50, \lin]);
Spec.add(\ampModFr, [0, 200, \lin]);
Spec.add(\panModFr, [30, 100, \lin]);

// global Spec for amp is defined

[\minCarrFr, 0, \maxCarrFr, 1, \freqModFr, 2, \widthModFr, 3, \ampModFr, 4, \panModFr, 5, \amp, 6].pairsDo { |sym, num|
	MIDIFunc.cc({ |val|
		x.set(sym, sym.asSpec.map(val / 127));
	}, ccNum: num);
}
)

x.release

Greetings

Daniel

3 Likes