[PD] convolution using pd-vanilla

2014-05-05 Thread Oli Larkin
hi,

is anyone aware of an example of both a brute force time domain (e.g. buffir~ 
in Max) and an FFT-based fast convolution patch in pd-vanilla? I would like to 
do a comparison of the two. Can be using a small IR, just for demo purposes.

cheers,

Oli

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] convolution using pd-vanilla

2014-05-05 Thread david medine
For the FFT based convolution, you could easily modify the example patch 
I06.timbre.stamp.pd to do straight up convolution in the frequency 
domain. I wouldn't know how to do it in the time domain without an 
extern or a lot of painstaking work. It might be a nice thing to have, 
though.


I can tell you, though, that the frequency domain method will out 
perform the time domain in terms of CPU usage. But, since you are 
windowing there will be a latency. Apart from that, the output is 
identical by both methods.


y(n) = x(n) * g(n)
Y(k) = X(k)G(k), y(n) = IDFT(Y(k))

where g(n) is the impulse response, X(k) is the discrete Fourier 
transform of x(n) and * is the convolution operation.


On 05/05/2014 09:33 AM, Oli Larkin wrote:

hi,

is anyone aware of an example of both a brute force time domain (e.g. buffir~ 
in Max) and an FFT-based fast convolution patch in pd-vanilla? I would like to 
do a comparison of the two. Can be using a small IR, just for demo purposes.

cheers,

Oli

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list



___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] convolution using pd-vanilla

2014-05-05 Thread katja
Brute force time domain convolution for small kernel can be done with
[fexpr~]. For zero phase filter kernels, fast convolution in Pd is
relatively simple. Multiply real and imaginary part of the signal's
spectrum with the filter's spectrum while using four times overlap and
Hann windowing before FFT and after IFFT, and normalize. Pd's FFT
routines assume x[0] at the start of the filter kernel, not at the
center, so you have to rotate your zero phase filter kernel before
taking it's Fourier Transform.

Katja

On Mon, May 5, 2014 at 8:49 PM, david medine dmed...@ucsd.edu wrote:
 For the FFT based convolution, you could easily modify the example patch
 I06.timbre.stamp.pd to do straight up convolution in the frequency domain. I
 wouldn't know how to do it in the time domain without an extern or a lot of
 painstaking work. It might be a nice thing to have, though.

 I can tell you, though, that the frequency domain method will out perform
 the time domain in terms of CPU usage. But, since you are windowing there
 will be a latency. Apart from that, the output is identical by both methods.

 y(n) = x(n) * g(n)
 Y(k) = X(k)G(k), y(n) = IDFT(Y(k))

 where g(n) is the impulse response, X(k) is the discrete Fourier transform
 of x(n) and * is the convolution operation.


 On 05/05/2014 09:33 AM, Oli Larkin wrote:

 hi,

 is anyone aware of an example of both a brute force time domain (e.g.
 buffir~ in Max) and an FFT-based fast convolution patch in pd-vanilla? I
 would like to do a comparison of the two. Can be using a small IR, just for
 demo purposes.

 cheers,

 Oli

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list



 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] analog PD+GEM

2014-05-05 Thread Ed Kelly
Jeenyoos!

BTW I went to a modular synth meetup the other day. Hoxtonowl were demoing a 
eurorack module that runs Pd. They already have an effects pedal that uses it: 
http://hoxtonowl.com/2014/04/owl-puredata-alphatesters-wanted/
 
Ninja Jamm - a revolutionary new music remix app from Ninja Tune and Seeper, 
for iPhone and iPad
http://www.ninjajamm.com/


Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
http://sharktracks.co.uk/ 
On Thursday, 17 April 2014, 18:12, Chris Clepper cgclep...@gmail.com wrote:
 
I played a bit with it at last year's AHNE meet.  It was perplexing to use even 
for someone with extensive video and Eurorack experience!


I think it is still just the one-off module.  Crazy device though..



On Thu, Apr 17, 2014 at 12:09 PM, Dan Wilcox danomat...@gmail.com wrote:

Hehe https://www.youtube.com/watch?v=63ay74S34XI



Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com






___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list




___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] convolution using pd-vanilla

2014-05-05 Thread Alexandre Torres Porres
I did one and shared on the list

you can check it at:
https://drive.google.com/file/d/0B3AoiT0xk8fnNU9PRHdldVVFbU0/edit?usp=sharing


2014-05-05 16:41 GMT-03:00 katja katjavet...@gmail.com:

 Brute force time domain convolution for small kernel can be done with
 [fexpr~]. For zero phase filter kernels, fast convolution in Pd is
 relatively simple. Multiply real and imaginary part of the signal's
 spectrum with the filter's spectrum while using four times overlap and
 Hann windowing before FFT and after IFFT, and normalize. Pd's FFT
 routines assume x[0] at the start of the filter kernel, not at the
 center, so you have to rotate your zero phase filter kernel before
 taking it's Fourier Transform.

 Katja

 On Mon, May 5, 2014 at 8:49 PM, david medine dmed...@ucsd.edu wrote:
  For the FFT based convolution, you could easily modify the example patch
  I06.timbre.stamp.pd to do straight up convolution in the frequency
 domain. I
  wouldn't know how to do it in the time domain without an extern or a lot
 of
  painstaking work. It might be a nice thing to have, though.
 
  I can tell you, though, that the frequency domain method will out perform
  the time domain in terms of CPU usage. But, since you are windowing there
  will be a latency. Apart from that, the output is identical by both
 methods.
 
  y(n) = x(n) * g(n)
  Y(k) = X(k)G(k), y(n) = IDFT(Y(k))
 
  where g(n) is the impulse response, X(k) is the discrete Fourier
 transform
  of x(n) and * is the convolution operation.
 
 
  On 05/05/2014 09:33 AM, Oli Larkin wrote:
 
  hi,
 
  is anyone aware of an example of both a brute force time domain (e.g.
  buffir~ in Max) and an FFT-based fast convolution patch in pd-vanilla? I
  would like to do a comparison of the two. Can be using a small IR, just
 for
  demo purposes.
 
  cheers,
 
  Oli
 
  ___
  Pd-list@iem.at mailing list
  UNSUBSCRIBE and account-management -
  http://lists.puredata.info/listinfo/pd-list
 
 
 
  ___
  Pd-list@iem.at mailing list
  UNSUBSCRIBE and account-management -
  http://lists.puredata.info/listinfo/pd-list

 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list