[PD] efficient bank of sines

Tom Erbe tomerbe at san.rr.com
Wed Dec 10 02:57:46 CET 2003

thanks for all the good ideas... i will actually be writing an external 
tonight based on the table->rifft->tablelookuposc idea, as i think that 
will give me the best performance (and i do want frame-based control 
over all of the partials).

On Dec 9, 2003, at 4:21 AM, Johannes Taelman wrote:

> > On Monday 08 December 2003 12:52 pm, Tom Erbe wrote:
> >>what's the opinion of the list as the most efficient method to make a
> >>large bank of harmonically related sines (say 50-200 partials)? is it
> >>just a group of osc~, or phasor~ or something else entirely?
> All really depends on how much control you want over it.
> If you only need to change the fundamental pitch and overall 
> amplitude, you just need to implement a wavetable synth, and generate 
> the appropriate wavetable, like Ben describes. Could also be done with 
> the sinesum (?) message to an array.
> If you need frame-based control over the individual amplitudes, you 
> can do the overlap-add ifft-synthesis with block~ and rifft~.
> If you need to change the spectrum only once in a while, you can put 
> the rifft~ and tabsend~ in a subpatch. Switch~ it off with bang~, so 
> it runs only once each time you switch~ it on.
> An improved version of this uses multiple wavetables and crossfades 
> between them so that there are no clicks when changing the spectrum.
> If audio-rate control over the individual amplitudes and/or pitches is 
> required, you'll need osc~'s and a fast computer.
> Correct me if I'm wrong somewhere.
> BTW: Are those guard points still required for correct use of 
> tabread4~? How can we generate them elegantly when not generating the 
> wavetable with sinesum?
>  j#|@
> _______________________________________________
> PD-list mailing list
> PD-list at iem.at
> http://iem.at/cgi-bin/mailman/listinfo/pd-list
tom erbe . soundhack
608 carla way . la jolla . ca . 92037
http://www.soundhack.com . soundhack at san.rr.com
aim/ichat: thomaserbe

More information about the Pd-list mailing list