> On 2009-05-15, Michel Rouzic <Michel0528@yahoo.fr> wrote:
> >
> > To be more precise, it works by analysing the spectrogram of a sound,
> > blurring the spectrogram horizontally, and turning the blurred
> > spectrogram back into sound by noise synthesis.
>
> So very roughly speaking it does an FFT, does a convolution (the blurring)
> in the frequency domain and then an IFFT. Convolution in the frequency
> domain is point-wise multiplication in the time domain (and vice versa).
> From your description it should be extremely cheap to do in real time.
Oh wow, that's one epic hell of a load of confusions and wrong
assumptions here! I'd like to know how you get a spectrogram using
only one FFT. I'm not sure what you think a spectrogram is but
basically it's a 2D image of the time-frequency plan of a 1D signal.
Reply by Ben Jackson●May 15, 20092009-05-15
On 2009-05-15, Michel Rouzic <Michel0528@yahoo.fr> wrote:
>
> To be more precise, it works by analysing the spectrogram of a sound,
> blurring the spectrogram horizontally, and turning the blurred
> spectrogram back into sound by noise synthesis.
So very roughly speaking it does an FFT, does a convolution (the blurring)
in the frequency domain and then an IFFT. Convolution in the frequency
domain is point-wise multiplication in the time domain (and vice versa).
From your description it should be extremely cheap to do in real time.
If you knew the blurring algorithm you could just IFFT its (padded) kernel
and multiply the signal by the result.
(note that if it blurred vertically you'd have a secondary inter-frame
effect to deal with)
--
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/
Reply by SG●May 15, 20092009-05-15
On 15 Mai, 12:56, Michel Rouzic <Michel0...@yahoo.fr> wrote:
>
> Here's my idea, if you processed a Dirac delta using this technique,
> what you would get would be a white noise lasting a few seconds. So
> what if you simply convolved a sound with such a short noise? Would
> you obtain the same kind of "blurred" sound?
Probably. It's fairly easy to get a reverb. Your impulse response
would start with a couple of "early reflections" that blend into noise
that decays later in amplitude (and probably changes "color" -- i.e.
higher frequencies might die out earlier).
The trick is, however, to make it both fast and responsive (low
delay).
> Would you obtain any
> desirable artifacts? Would you obtain something more natural if you
> changed the noise (but using the same envelope) in the convolution
> kernel as the convolution goes in time? Is there any other approach to
> consider?
I think something like this is done by some reverberation algorithms
to "prevent coloration".
hth,
SG
Reply by Michel Rouzic●May 15, 20092009-05-15
These last few days using my program Photosounder ( http://photosounder.com
) I've been experimenting with a new sort of weird reverb-like effect
on sounds (detailed with examples here
http://photosounder.com/blog/2009/05/motion-blur-sound-reverberation.html
) and people who heard the result expressed their interest in me
making a real-time VST effect out of it. The problem is that since
it's based on spectrogram analysis, not only is it prohibitively CPU
intensive, but it also necessarily introduces a lot of delay, which is
a big problem for a real time use.
To be more precise, it works by analysing the spectrogram of a sound,
blurring the spectrogram horizontally, and turning the blurred
spectrogram back into sound by noise synthesis. I was wondering if
there could be a simpler more efficient way to do this, and I wonder,
could it be done using convolution by a noise?
Here's my idea, if you processed a Dirac delta using this technique,
what you would get would be a white noise lasting a few seconds. So
what if you simply convolved a sound with such a short noise? Would
you obtain the same kind of "blurred" sound? Would you obtain any
desirable artifacts? Would you obtain something more natural if you
changed the noise (but using the same envelope) in the convolution
kernel as the convolution goes in time? Is there any other approach to
consider?
Thanks in advance.