Patches item #1509427, was opened at 2006-06-20 18:30 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1509427...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: puredata Group: None Status: Open Resolution: None Priority: 5 Submitted By: IOhannes m zmölnig (zmoelnig) Assigned to: Miller Puckette (millerpuckette) Summary: resampling method for halfblocks
Initial Comment: this patch adds a new pair of up/downsampling methods, called "block".
what it does: downsampling: the 1st part of the original signal is copied "as is" to the downsampled signal; the rest of the incoming signal is discarded upsampling: the original signal is copied to the 1st part of the upsampled signal; the rest of the upsampled signal is set to 0.f
what for: an the output-signals of an fft are redundant since they are (anti)symmetric; therefore it is a waste of cpu-power to apply dsp-processing on both halfs of such signals; with this patch it is possible to do a "downsampled" processing only on the relevant (1st) part of the signal (~50% performance gain): after upsampling you would have to recreate the entire signal manually (e.g. mirror the block and add it to the non-mirrored part)
i also put some defines for the various resampling methods into m_pd.h, so the code gets less "magic"
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1509427...
SourceForge.net wrote:
Summary: resampling method for halfblocks
what for: an the output-signals of an fft are redundant since they are (anti)symmetric; therefore it is a waste of cpu-power to apply dsp-processing on both halfs of such signals; with this patch it is possible to do a "downsampled" processing only on the relevant (1st) part of the signal (~50% performance gain): after upsampling you would have to recreate the entire signal manually (e.g. mirror the block and add it to the non-mirrored part)
the main reason for this is, that tm has already started a separate library "iem_spec2" which re-implementes things like [+~] but ignores the 2nd half of the signal-block. since this is a lot of work, i would gladly see such functionality within the [inlet~]/[outlet~] objects.
mf.asdr. IOhannes