I는 신디 라우팅 이펙트 부를 통해 출력을 생성하는 다음과 같은 간단한 신디 구조를 구축했다 :이 코드를 실행하는 것이 중요한 이유는 무엇입니까?
b = Bus.audio(numChannels: 2);
SynthDef(
"mySynth",
{
|freq, amp, gate = 1|
var vol = 0.5;
var audio = Pulse.ar(freq, 0.5);
var env = EnvGen.kr(Env.perc, doneAction:2);
audio = Pan2.ar(audio, MouseX.kr(-1, 1));
Out.ar(b, audio * env);
}
).add;
SynthDef(
"effects",
{
var audio = In.ar(b, 2);
audio = LPF.ar(audio, MouseY.kr(200, 1000));
//TODO: Implement some crazy, revolutionary effects
Out.ar(0, audio);
}
).add;
// **** Dividing line for executing the code ****
e = Synth(\effects);
p = Pbind(*[
instrument: \mySynth,
scale: #[0, 2, 4, 5, 7, 9, 11],
degree: Pseq([3, 3, 9, 9, 2, 9, 9, 3, 5, 7], inf),
dur: Pseq([0.2, 0.2, 0.2, 0.1, 0.1, 0.2, 0.2, 0.2, 0.1, 0.1], inf),
amp: Pseq([1, 0.6, 0.9, 0.3, 0.4, 0.9, 0.6, 0.85, 0.3, 0.4], inf),
]);
p.play;
I가 특정 방식으로 코드를 실행하는 경우 만 가청 출력을 생성
:
- 각 블록을 개별적으로 순서대로 실행할 수 있으며 출력이 들립니다.
- '줄 바꿈'주석까지 첫 번째 블록을 실행 한 다음 다음 블록을 실행할 수 있으며 출력이 들립니다.
- 모든 코드를 함께 실행하면 출력이 들리지 않습니다. 내가 거기 같은데요
서버가 설치 물건을 설정 않지만, Synth()
를 사용하여 인스턴스화 다음 SynthDef
을 선언하고 사이에 약간의 지연이되어야한다. 누구든지 어떤 빛을 비춰 줄 수 있습니까?
내 코드 수정에 대한 응답을 보내 주셔서 감사합니다. 항상 도움이됩니다. 그래서 내가해야 할 일은'add '대신에'play'를 호출하는 것뿐이었습니다. 아야! – David