I don't know what you are trying to do. I'm just trying to play a synth that I trigger in MIDI through a VirtualRoom. You can play the output of any pattern or synth into a proxy by setting \out to proxy.index. ( x = NodeProxy.audio(s, 1); x.source_(\FMae1); x.index.postln; ) x.index returned 16. If I put the out arg of my SynthDef to 16 and execute the code with .play, I don't hear anything, which this is normal since I have only 14 active outputs on my soundcard. But when I exectute the whole code below, my synth outputs through bus 0 (0 only, even with this line: v.out.playN([0, 1]); ) and virtualRoom has no effect. Thanks again for your help, I guess I'm still missing something about the proxies... c ( s.options.blockSize_(128); s.options.memSize_(8192 * 16); Server.local.options.device = "MOTU 828mk3"; s.boot; ) ( SynthDef(\FMae1, { arg out = 16, freq = 110, gate = 0, sustain = 0, attack = 0.001, depth = 100; var carmod1, mod1, e1, envcar; e1 = EnvGen.ar(Env.asr(attack, 1.0, 0.02), gate); envcar = EnvGen.ar(Env.asr(0.01, sustain*0.8, 0.2), gate, doneAction:2); mod1 = SinOsc.ar(freq/2, 0, e1*(depth*2000)); carmod1 = SinOsc.ar((freq + mod1), 0, envcar); Out.ar(out, carmod1) }).send(s); ) ( x = NodeProxy.audio(s, 1); x.source_(\FMae1); x.index.postln; ) ( VirtualRoom.kemarPath = "KemarHRTF/"; v = VirtualRoom.new; v.init; ) ( v.revGain = 0.9; v.hfDamping = 0.1; v.refGain = 0.8; ) v.room = [0, 0, 0, 5, 8, 5]; v.out.playN([0, 1]); v.listener.source = { |x=2.5, y=4, z=2.5, o=0| [ x, y, z, o] }; ( ~vFMae = Voicer(5, \FMae1); ~msFMae = VoicerMIDISocket(0, ~vFMae, 37, 59); ~msFMae.noteOnArgsPat = Pbind(\sustain, Pkey(\velocity) * 0.00315, \freq, Pkey(\midinote), \attack, Pfunc( { a.slots[3].at( 48 ).value } )); ) ( ~hidbus = SharedBus.newFrom(a.slots[3].at( 49 ).bus, 'me'); ~vFMae.mapGlobal(\depth, ~hidbus, spec: a.spec); ) v.addSource(x, \space, [1, 2, 2.5]); v.sources[\space].setn(\xpos, [2.5, 3, 2.5]); ( ~vFMae.free; ~msFMae.free; ~hidbus.releaseBus; v.removeSource(\space); v.free; x.clear; ) |