|
|
|
@ -1,46 +1,54 @@
|
|
|
|
~samples = ~makeBuffers.("/home/dude/code/24_09_2026_gig", ());
|
|
|
|
Ndef(\testSignal).set(\gain, 0.1);
|
|
|
|
~sample = ~samples[\samples][0];
|
|
|
|
|
|
|
|
~inBus = Bus.audio(s, 1);
|
|
|
|
|
|
|
|
(
|
|
|
|
(
|
|
|
|
Ndef(\testSignal, {
|
|
|
|
Ndef(\freeze1).play;
|
|
|
|
var sig, sig2;
|
|
|
|
Ndef(\freeze2).play;
|
|
|
|
sig = BufRd.ar(2, ~sample, Phasor.ar(0, BufRateScale.kr(~sample), 0, BufFrames.kr(~sample)));
|
|
|
|
Ndef(\freeze3).play;
|
|
|
|
Out.ar(~inBus, sig.sum);
|
|
|
|
|
|
|
|
sig * \gain.kr(0.01);
|
|
|
|
|
|
|
|
}).play;
|
|
|
|
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\testSignal).ar(2);
|
|
|
|
// FREEZE1
|
|
|
|
|
|
|
|
(
|
|
|
|
Ndef.clear
|
|
|
|
// Статические параметры. Не меняются
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\attack, 4.0);
|
|
|
|
Ndef(\freeze1).set(\in, ~inBus.index);
|
|
|
|
Ndef(\freeze1).set(\release, 4.0);
|
|
|
|
Ndef(\freeze2).set(\in, ~inBus.index);
|
|
|
|
// Динамические параметри. Меняются.
|
|
|
|
Ndef(\freeze3).set(\in, ~inBus.index);
|
|
|
|
Ndef(\freeze1).set(\amp, 0.3);
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\envGate, 1);
|
|
|
|
Ndef(\freeze3).set(\in, ~inBus);
|
|
|
|
Ndef(\freeze1).set(\pan, 0.0);
|
|
|
|
|
|
|
|
// Сброс фриза
|
|
|
|
Ndef(\freeze1).set(\amp, 1.7);
|
|
|
|
Ndef(\freeze1).set(\freezeGate, 0);
|
|
|
|
Ndef(\freeze2).set(\amp, 2.6);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\amp, 10.05);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\freezeGate, 1);
|
|
|
|
Ndef(\freeze1).set(\freezeGate, 1);
|
|
|
|
Ndef(\freeze2).set(\freezeGate, 1);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\freezeGate, 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\rel, 0.1);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\atk, 0.1);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\ampGate, 0.0001);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\pan, 0);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\amp, 0.1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\amp, 0.7);
|
|
|
|
(
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\freezeGate, 0);
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\freezeGate, 1);
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\wipe, 0.3);
|
|
|
|
// Крутим НА САУНДЧЕКЕ!!!
|
|
|
|
Ndef(\freeze1).set(\reshuffle, 0.1);
|
|
|
|
// После не трогать!!!
|
|
|
|
Ndef(\freeze1).set(\binShift, 0.4);
|
|
|
|
Ndef(\freeze1).set(\limLevel, 0.003);
|
|
|
|
Ndef(\freeze1).set(\stretch, 0.1);
|
|
|
|
|
|
|
|
|
|
|
|
// Настройки питчшифтера
|
|
|
|
|
|
|
|
//Рабочие значения (для freeze1 поверх замороженного спектра):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Чуть расстроенные (биения между слоями, «расщеплённый» звук):
|
|
|
|
|
|
|
|
//- \range1 = 1.0, \range2 = 1.0125 → синтонная комма 81/80, лёгкое «волнение»
|
|
|
|
|
|
|
|
//- \range1 = 1.0, \range2 = 1.024 → диезис 128/125
|
|
|
|
|
|
|
|
//- \range1 = 1.0, \range2 = 1.0293 → четвертьтон 2^(1/24)
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
|
//Чистые нетемперированные интервалы (классика just intonation, даёт «странный» консонанс/диссонанс):
|
|
|
|
|
|
|
|
//- 16/15 = 1.0667 (малая секунда)
|
|
|
|
|
|
|
|
//- 25/24 = 1.0417 (хроматический полутон)
|
|
|
|
|
|
|
|
//- 21/20 = 1.05
|
|
|
|
|
|
|
|
//- 28/27 = 1.0370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Тричетвертьтон и около:
|
|
|
|
|
|
|
|
//- 2^(3/24) = 1.0905
|
|
|
|
|
|
|
|
//- 7/6 = 1.1667, 8/7 = 1.1429 (септимальные интервалы — звучат «не по-нашему»)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\shift, 2.0);
|
|
|
|
|
|
|
|
Ndef(\freeze1).set(\wet10, 1.0);
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
(
|
|
|
|
Ndef(\freeze3).put(10, \filter -> {
|
|
|
|
Ndef(\freeze3).put(10, \filter -> {
|
|
|
|
@ -68,27 +76,7 @@ Ndef(\freeze3).put(10, \filter -> {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
(
|
|
|
|
Ndef(\freeze1).put(10, \filter -> {
|
|
|
|
|
|
|
|
|in|
|
|
|
|
|
|
|
|
var sig = 0;
|
|
|
|
|
|
|
|
var shPitched = PitchShift.ar(
|
|
|
|
|
|
|
|
in,
|
|
|
|
|
|
|
|
0.2,
|
|
|
|
|
|
|
|
SinOsc.kr(0.1).range(2, 4),
|
|
|
|
|
|
|
|
0.01,
|
|
|
|
|
|
|
|
0.01
|
|
|
|
|
|
|
|
) * 2.0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var shPitched2 = PitchShift.ar(
|
|
|
|
|
|
|
|
in,
|
|
|
|
|
|
|
|
0.2,
|
|
|
|
|
|
|
|
SinOsc.kr(0.05).range(4, 6),
|
|
|
|
|
|
|
|
0.01, 0.01
|
|
|
|
|
|
|
|
) * 2.0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sig = Mix([in, shPitched, shPitched2]) * 0.9;
|
|
|
|
|
|
|
|
sig;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
(
|
|
|
|
@ -97,12 +85,16 @@ Ndef(\freeze2).stop;
|
|
|
|
Ndef(\freeze3).stop;
|
|
|
|
Ndef(\freeze3).stop;
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
(
|
|
|
|
|
|
|
|
Ndef(\freeze1).play;
|
|
|
|
|
|
|
|
Ndef(\freeze2).play;
|
|
|
|
|
|
|
|
Ndef(\freeze3).play;
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ndef(\testSignal).stop;
|
|
|
|
NdefMixer
|
|
|
|
Ndef(\testSignal).set(\gain, 1.0);
|
|
|
|
|
|
|
|
|
|
|
|
n = NdefMixer(s);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// FREEZE3
|
|
|
|
|
|
|
|
// NB! Очень громкий!!!
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\amp, 0.1);
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\freezeGate, 0);
|
|
|
|
|
|
|
|
// Ближе к 1 - апекствин
|
|
|
|
|
|
|
|
Ndef(\freeze3).set(\ampGate, 0.001);
|
|
|
|
|