NdefGui is a good choice for that in general but here you don’t have one Synth running but many, each fired every 0.1 seconds. So gui-ing that is going to be a challenge. Turn the anonymous routine into a Pdef and use PdefGui to change the common arguments of the events.
But even then it’s unclear what do you want to vary from a gui here since all the Synth arguments are set to random values… maybe the endpoints of the random ranges? Assuming you want something like that, just showing how to do it for freq(s) and dur:
Pdef(\zingy).envir = (dur: 0.1, freqlo: 100, freqhi: 10000)
Spec.add(\freqlo, \freq); Spec.add(\freqhi, \freq);
(Pdef(\zingy).source = Pbind(
\instrument, \sinegrain,
\freq, Pwhite(Pkey(\freqlo), Pkey(\freqhi)),
\amp, Pexprand(0.05, 0.1),
\pan, Pwhite(-1, 1),
));
Pdef(\zingy).play.gui;