My problem was that a short segment of random isn't spectrally straigh-line flat.

If you feed this into a resonator (waveguide) you can hear a difference between one random grain and another with another random sequence.

This is usally a desired effect that makes the sound alive,
but in my case I wanted to eliminate this for then moment.

And it doesnt help to synthesize a flat random sequence with FFT since it's
not flat after evenveolping/windowing.

I managed to get a flatter response the follwing way:

create a segment of exp decay padded with silence
repeat:
 FFT (of double size) and set all magnitudes to 1
 iFFT
 set second half of time signal to zero
/repeat

it seems to converge to a flat aproximately exponentially decaing signal
(I have only done 20 or so iterations manually so I am not sure how it behaves)

Dont ask me why, maybe its just a simple genetic algorithm thing

The result is a little bit strange however, slightly metallic
and when you convolve it with it self several times you get some kind of multichirp soundwise where sparse narrow dips and phase delay appears at random places across the spectrum

Similar to a spring or allpass chain but with multiple random "resonances"


Am 28.07.2016 um 19:17 schrieb Tito Latini:
sorry, that's a decay, so out is "(1 - y) * rand()":

T = 1 / samplerate
p = exp(log(0.001) * T / t60)

y = 1 + p*(y1 - 1)
y1 = y
out = (1 - y) * rand(-1.0, 1.0) * gain
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp


_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to