Interconnected Ndefs producing steady tone
Hello all,
I'm attempting to use a web of interconnected Ndefs for a looping engine.
The basic setup is as follows:
Ndef(\tempo) --> Ndef(\phasor) --> Ndef(\bufferPlayback) -->
Ndef(\mainOutput).play
When I create, define, and play the appropriate Ndefs, I hear a fairly
quiet, but steady tone (maybe -40 to -30 dB). It sounds like a 0.5 width
pulse wave, and in this case it seems to be exactly 740 Hz. A simplified
version of the code is below.
Am I doing anything incorrect or unusual in my Ndef setup? Has anyone
encountered some version of this phenomenon before?
Many thanks,
Eli Fieldsteel
////////////////////////
~dragDropModules = Array.newClear(24);
Ndef.clear;
Ndef.new(\out0).ar(2);
Ndef.new(\out1).ar(2);
Ndef.new(\out2).ar(2);
Ndef.new(\out3).ar(2);
Ndef.new(\phs2).ar(1);
Ndef.new(\phs4).ar(1);
Ndef.new(\phs8).ar(1);
Ndef.new(\tempo).kr(1);
~dragDropModules.do({
|module, index|
var name;
name = "loop";
name = name++(index.asString);
name = name.asSymbol;
Ndef.new(name).fadeTime_(5).ar(2);
Ndef(name, {
arg buf, amp=0.5;
var phs, sig;
phs = \phs.ar([0]);
sig = BufRd.ar(2, buf, phs*BufFrames.kr(buf), 1, 4)*amp;
});
});
Ndef(\out0, {
arg hpf=20, lpf=20000, amp=1, t_hpf=0, t_lpf=0, t_amp=0, lag=0.05;
var sig, hiPass, loPass, ampEnv;
hiPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_hpf, levelScale:hpf);
hiPass = Lag.kr(hiPass, lag);
loPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_lpf, levelScale:lpf);
loPass = Lag.kr(loPass, lag);
ampEnv = EnvGen.kr(Env([1,1],[0.001],\lin), t_amp, levelScale:amp);
ampEnv = Lag.kr(ampEnv, lag);
sig = \in0.ar([0,0]) + \in1.ar([0,0]) + \in2.ar([0,0]) +
\in3.ar([0,0]) + \in4.ar([0,0]) + \in5.ar([0,0]);
sig = HPF.ar(sig, hiPass);
sig = LPF.ar(sig, loPass);
sig = sig * ampEnv;
sig;
});
Ndef(\out1, {
arg hpf=20, lpf=20000, amp=1, t_hpf=0, t_lpf=0, t_amp=0, lag=0.05;
var sig, hiPass, loPass, ampEnv;
hiPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_hpf, levelScale:hpf);
hiPass = Lag.kr(hiPass, lag);
loPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_lpf, levelScale:lpf);
loPass = Lag.kr(loPass, lag);
ampEnv = EnvGen.kr(Env([1,1],[0.001],\lin), t_amp, levelScale:amp);
ampEnv = Lag.kr(ampEnv, lag);
sig = \in0.ar([0,0]) + \in1.ar([0,0]) + \in2.ar([0,0]) +
\in3.ar([0,0]) + \in4.ar([0,0]) + \in5.ar([0,0]);
sig = HPF.ar(sig, hiPass);
sig = LPF.ar(sig, loPass);
sig = sig * ampEnv;
sig;
});
Ndef(\out2, {
arg hpf=20, lpf=20000, amp=1, t_hpf=0, t_lpf=0, t_amp=0, lag=0.05;
var sig, hiPass, loPass, ampEnv;
hiPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_hpf, levelScale:hpf);
hiPass = Lag.kr(hiPass, lag);
loPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_lpf, levelScale:lpf);
loPass = Lag.kr(loPass, lag);
ampEnv = EnvGen.kr(Env([1,1],[0.001],\lin), t_amp, levelScale:amp);
ampEnv = Lag.kr(ampEnv, lag);
sig = \in0.ar([0,0]) + \in1.ar([0,0]) + \in2.ar([0,0]) +
\in3.ar([0,0]) + \in4.ar([0,0]) + \in5.ar([0,0]);
sig = HPF.ar(sig, hiPass);
sig = LPF.ar(sig, loPass);
sig = sig * ampEnv;
sig;
});
Ndef(\out3, {
arg hpf=20, lpf=20000, amp=1, t_hpf=0, t_lpf=0, t_amp=0, lag=0.05;
var sig, hiPass, loPass, ampEnv;
hiPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_hpf, levelScale:hpf);
hiPass = Lag.kr(hiPass, lag);
loPass = EnvGen.kr(Env([1,1],[0.001],\lin), t_lpf, levelScale:lpf);
loPass = Lag.kr(loPass, lag);
ampEnv = EnvGen.kr(Env([1,1],[0.001],\lin), t_amp, levelScale:amp);
ampEnv = Lag.kr(ampEnv, lag);
sig = \in0.ar([0,0]) + \in1.ar([0,0]) + \in2.ar([0,0]) +
\in3.ar([0,0]) + \in4.ar([0,0]) + \in5.ar([0,0]);
sig = HPF.ar(sig, hiPass);
sig = LPF.ar(sig, loPass);
sig = sig * ampEnv;
sig;
});
Ndef(\phs2, {arg t_reset=0; Phasor.ar(t_reset,
((\bpm.kr([0])/60/8)/(s.sampleRate)), 0.0, 1.0, 0.0)});
Ndef(\phs4, {arg t_reset=0; Phasor.ar(t_reset,
((\bpm.kr([0])/60/16)/(s.sampleRate)), 0.0, 1.0, 0.0)});
Ndef(\phs8, {arg t_reset=0; Phasor.ar(t_reset,
((\bpm.kr([0])/60/32)/(s.sampleRate)), 0.0, 1.0, 0.0)});
Ndef(\tempo, ~curTempo);
Ndef(\phs2) <<>.bpm Ndef(\tempo);
Ndef(\phs4) <<>.bpm Ndef(\tempo);
Ndef(\phs8) <<>.bpm Ndef(\tempo);
Ndef(\out0) <<>.in0 Ndef(\loop0);
Ndef(\out0) <<>.in1 Ndef(\loop4);
Ndef(\out0) <<>.in2 Ndef(\loop8);
Ndef(\out0) <<>.in3 Ndef(\loop12);
Ndef(\out0) <<>.in4 Ndef(\loop16);
Ndef(\out0) <<>.in5 Ndef(\loop20);
Ndef(\out1) <<>.in0 Ndef(\loop1);
Ndef(\out1) <<>.in1 Ndef(\loop5);
Ndef(\out1) <<>.in2 Ndef(\loop9);
Ndef(\out1) <<>.in3 Ndef(\loop13);
Ndef(\out1) <<>.in4 Ndef(\loop17);
Ndef(\out1) <<>.in5 Ndef(\loop21);
Ndef(\out2) <<>.in0 Ndef(\loop2);
Ndef(\out2) <<>.in1 Ndef(\loop6);
Ndef(\out2) <<>.in2 Ndef(\loop10);
Ndef(\out2) <<>.in3 Ndef(\loop14);
Ndef(\out2) <<>.in4 Ndef(\loop18);
Ndef(\out2) <<>.in5 Ndef(\loop22);
Ndef(\out3) <<>.in0 Ndef(\loop3);
Ndef(\out3) <<>.in1 Ndef(\loop7);
Ndef(\out3) <<>.in2 Ndef(\loop11);
Ndef(\out3) <<>.in3 Ndef(\loop15);
Ndef(\out3) <<>.in4 Ndef(\loop19);
Ndef(\out3) <<>.in5 Ndef(\loop23);
Ndef(\out0).play;
Ndef(\out1).play;
Ndef(\out2).play;
Ndef(\out3).play;
-----
Eli
--
View this message in context: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/Interconnected-Ndefs-producing-steady-tone-tp7263416p7263416.html
Sent from the SuperCollider Users New (Use this!!!!) mailing list archive at Nabble.com.
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/