mg262
26th August 2005, 00:23
I was in the mood to code something, but a bit too wiped out to try anything hard... so I built a very simple audio plug-in.
a convolver plugin would be very cool.
that would handle reverbs, frequency filters and phase filters all in 1 go.
just use an audio app to generate an impulse (make a 1-sample click and filter it), and point the avs plugin to that wave file.
AudioConvolution, 25Aug05 (http://people.pwf.cam.ac.uk/mg262/posts/AudioConvolution_25Aug05.dll)
AudioConvolution(clip input, clip kernel)
You must pass in clips with video; audio must be 16-bit; kernel must have mono audio. kernel should only have a single figure number of nonzero points. (Or else it becomes very slow) I've only tested it once, with a mono input.
Incidentally, this makes no attempt to be fast whatsoever. This is a throwaway thing and I don't plan to add features to it (though I will fix bugs!). I might speed it up a bit though...
Edit:
A slightly faster version...
AudioConvolution, 26Aug05 (http://people.pwf.cam.ac.uk/mg262/posts/AudioConvolution_26Aug05.dll)
So you should be able to feed it larger kernels. By the way, when I said very slow above, I meant slower than real-time :p ... if you don't mind waiting to encode the audio larger kernels should work fine... but try on kernels with < 30 nonzero values first, to check whether it's working.
I know whats slowing it down, and it can be fixed to allow yet larger kernels. I can deal with it if anyone actually has an interest in using this thing.
a convolver plugin would be very cool.
that would handle reverbs, frequency filters and phase filters all in 1 go.
just use an audio app to generate an impulse (make a 1-sample click and filter it), and point the avs plugin to that wave file.
AudioConvolution, 25Aug05 (http://people.pwf.cam.ac.uk/mg262/posts/AudioConvolution_25Aug05.dll)
AudioConvolution(clip input, clip kernel)
You must pass in clips with video; audio must be 16-bit; kernel must have mono audio. kernel should only have a single figure number of nonzero points. (Or else it becomes very slow) I've only tested it once, with a mono input.
Incidentally, this makes no attempt to be fast whatsoever. This is a throwaway thing and I don't plan to add features to it (though I will fix bugs!). I might speed it up a bit though...
Edit:
A slightly faster version...
AudioConvolution, 26Aug05 (http://people.pwf.cam.ac.uk/mg262/posts/AudioConvolution_26Aug05.dll)
So you should be able to feed it larger kernels. By the way, when I said very slow above, I meant slower than real-time :p ... if you don't mind waiting to encode the audio larger kernels should work fine... but try on kernels with < 30 nonzero values first, to check whether it's working.
I know whats slowing it down, and it can be fixed to allow yet larger kernels. I can deal with it if anyone actually has an interest in using this thing.