Group fx and reverbs for noobs

Hi there,

I’m looking to uses buses and groups to send SynthDefs to effect groups.

If I have the following:

((
s.newBusAllocators;
~reverbBus = Bus.audio(s, 2));
(
~sourceGroup = Group.new();
~fxGroup = Group.new(~sourceGroup, \addAfter));
(SynthDef(\reverb, {
	var sig;
	sig = In.ar(\in.ir(0), 2);
	sig = JPverb.ar(
        sig,
        \t60.kr(1,           0.05),
        \damp.kr(0,          0.05),
        \size.kr(1,          0.05),
        \earlydiff.kr(0.707, 0.05),
        \mdepth.kr(5,        0.05),
        \mfreq.kr(2,         0.05),
        \lowx.kr(1,          0.05),
        \midx.kr(1,          0.05),
        \highx.kr(1,         0.05),
        \lowband.kr(500,     0.05),
        \highband.kr(2000,   0.05)
    );
	Out.ar(\out.ir(0), sig);
}).add);
(
Synth(\reverb, [in: ~reverbBus, out: 0], ~fxGroup);
))

This works all well but is there a way that I can make this permanent? If I command period it deletes my groups and reverb synth from the node tree. Any held would be amazing.

Additionally the above reverb is written with the JPverb UGen which I cannot find the extension too. If there is a UGen for a decent reverb I’d love the help.

Greetings!

you can make your busses etc spring back to life after command-period using
CmdPeriod.add({your function})
you can also have functions that execute when the server is booted/re-booted etc - if there’s a setup you always want to see ServerTree.add will execute it on boot and after CmdPeriod. See AbstractSystemAction | SuperCollider 3.12.2 Help

(also you want to use backticks for your code fence rather than single-quotes! :wink: )

2 Likes

JPverb is part of SC3 plugins. GVerb, FreeVerb, and FreeVerb2 are (I believe) the only reverbs in vanilla SuperCollider. They are decent, but it’s also worth learning how to make your own reverbs customized to your taste.

That’s a good call!

I noticed when booting the server I get the following error:

*** ERROR: dlopen '/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx' err 'dlopen(/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx, 0x0002): tried: '/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx' (no such file), '/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64'))'Support/SuperCollider/Extensions/SC3plugins/AYUGens/AY_UGen.scx' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/jacobcolt/Library/Application Support/SuperCollider/Extensions/SC3plug

For context i’m using SuperCollider 3.13.0-rc2 on an M1 mac.

Am i using the wrong SC3 Plugins folder in my extensions?

Thanks so much!

It seems so:

(mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64’))

hjh

1 Like