How to sculpt a noise with this shape?

What would be a good approach to sculpt a noise with this shape:

I’m pretty new to Filters and Synthesis approaches.

So I started with subtractive synthesis, but couldn’t manage to have those peaks really marked…

SynthDef(\shhh, {
	var out=\out.kr(0), amp=\amp.kr(0.4,0.5);
	var center=\center.kr(360,1), atk=\atk.kr(1), rel=\rel.kr(1);
	var base, sig;
	var freq05, freq025, freq1, freq2, freq4;


	freq1=center;
	freq05=center/2;
	freq025=center/4;
	freq2=center*2;
	freq4=center*4;


	// base=PinkNoise.ar();
	base=WhiteNoise.ar();

	sig=BPF.ar(base,freq1,2);
	
	sig=MidEQ.ar(sig,freq025,0.1,4);
	sig=MidEQ.ar(sig,freq05,0.1,4);
	sig=MidEQ.ar(sig,freq1,0.1,4);
	sig=MidEQ.ar(sig,freq2,0.1,4);
	sig=MidEQ.ar(sig,freq4,0.1,4);

	sig=sig*env;
	Out.ar(out,Pan2.ar(sig));
}).add;
)

What would be a better approach ?

Rem: I tried Resonz instead of MidEQ, but it produces a really low output.

If you export the spectrum, it should be possible to pack it into server-side FFT format, put it in a Buffer, and use PV_MagMul for (sort-of) convolution. (Static filters can be done either by filtering, or by convolving against the filter’s response to an impulse. Convolution in the time domain = multiplication in the frequency domain, so, multiplying by a frequency domain spectrum = convolution = filtering.)

PV UGens pack the FFT like this:

  • 0: DC component magnitude
  • 1: Nyquist component magnitude (phase is irrelevant for these two)
  • 2: Partial 1 magnitude
  • 3: Partial 1 phase
  • 4: Partial 2 magnitude
  • 5: Partial 2 phase
  • bufsize-2: Partial (bufsize/2 - 1) magnitude
  • bufsize-1: Partial (bufsize/2 - 1) phase

Edit: If you can get it as a time-domain impulse response, PartConv can do it with a shorter delay.

hjh

Thanks. Convolution (in SuperCollider) is new for me. I’ll dig into that.