Jaap Vink Analogue Unstable Ring-Modulated Feedback

Has anyone managed to simulate these instabilities (with some dirty tricks, of course) using supercollider?
That analogue patch is simply genius. If it’s not out there, we should come up with something.

3 Likes

Indeed, BEA5 have been the ground were really amazing techniques have grown!

I’ve tried this one once, for me core of analog characteristic is the tape and a little bit of the mixer since the electronic modules used are pretty stable and does not have much difference from SC modules (this is obviously not true for devices like “stockhausen’s” Bruej & Kjaer filters or the noise generators). The Bruel & Kjaer filter used, since it is not moving, I think it would not make much of a difference from a digital one. As the reverb is also digital (PCM 90), the ones available at SC would be good to go as well.

I was trying to insert the tape simulation from Jatin Chowdhurry but I realized that they are still somehow unstable… at some point I got really strong glitches or blowups, some presets did not work… There is a port to scplugins, but I could not manage to handle it properly either…

For sure a little bit of distortion and noise spread over the digital flow would make it sound more analog like.

1 Like

I’m sure it’s quite possible. The self-controlled feedback via amplitude de-modulator is the core, other things will influence the “flavor” of the system, of course. Sometimes one just need to inject something for it to work.

Does anyone know what the design of the third filter is? It looks like it might be similar to a Buchla 296 - basically a chain of mid-eq filters at predefined frequencies. Anyone know?

Sam

This one?

Almost sure that’s a self-build (BEA5/Sonology) matrix to control third-octave filter banks, output to 9 potenciometers.

I don’t know Buchla, but that model would be a vocoder? My guess is that they are related.

Another video on that channel is just about their filters, if you’re interested: https://www.youtube.com/watch?v=LsHLQihJq1U

It is not the same, but …

(
{
	var in, snd, ff, rmf, delayTime = 1.23;
	
	ff = MouseY.kr(50, 15000, \exponential);
	rmf = MouseX.kr(60, 6000, \exponential);

	in = LocalIn.ar(2) *15.dbamp;

	snd = DelayC.ar(DFM1.ar(in, ff, res: 0.91, noiselevel: 0.001), 1.0, delayTime);
	snd = snd * SinOsc.ar(rmf);

	snd = FreeVerb.ar(snd, 1, 0.9, 1);
	
	snd = Compander.ar(snd,snd,
		thresh: 0.1,
        slopeBelow: 1,
        slopeAbove: 0.1,
        clampTime:  0.01,
        relaxTime:  0.02);

	LocalOut.ar(snd);

	snd;

}.play;
)
4 Likes

Fun… here’s a slight variation which I kind of like:

(
{
	var in, snd, ff, rmf, delayTime = 1.23;
	ff = 1000;
	rmf = 10;
	in = LocalIn.ar(2)*0.5.dbamp;
	snd = DelayC.ar(
		DFM1.ar(in, ff, res: 0.91 + LFNoise1.ar(1).range(0.1.neg, 0.1), noiselevel: 0.001), 
		2.0, 
		delayTime + LFNoise1.ar(10).range(0.1.neg, 0.1));
	snd = snd * SinOsc.ar(rmf);
	snd = FreeVerb.ar(snd, 1.0, 0.9, 1);
	snd = Compander.ar(snd,snd,
		thresh: 0.1,
        slopeBelow: 1,
        slopeAbove: 0.1,
        clampTime:  0.01,
        relaxTime:  0.02);
	LocalOut.ar(snd);
	snd;
}.play;
)

(Edit: replacing SinOsc with LFSaw in the multiplication sounds nice too)

3 Likes