hello,
i'm also very interested in artefact free and band limited table reading.
(my work is in the nusmuk-audio svn folder, you will find there tabosci~ that implement a naive anti aliasing filter using table as oscillator).
The best algorythm i found so far to get an alias free, band limited table reading is this one : https://ccrma.stanford.edu/~jos/resample/resample.pdf but i did not had time to implement it in pd.
I would be glad if someone want to do it before me.
cheers cyrille
Le 05/08/2016 à 00:04, Claude Heiland-Allen a écrit :
Hi Simon, list,
On 04/08/16 22:51, Simon Iten wrote:
hi claude,
your bandlimited project works/sounds great! very nice sounds from handdrawn waves.
thanks!
however i am having trouble getting your example to work. probably just stupidity from my side.
i suppose i don’t understand your:
"set appropriate block size, turn off dsp, bang to execute 1 block”
message. if you find the time, can you have a look at it?
sure, just a [loadbang]--"0"--[switch~] - this turns off dsp for the canvas (so you might want to put it all in a subpatch unless you're using it as an abstraction). see attached, works for me
do i not need to run a bang into tabplay in this special one block send scenario?
with my patch i get “kind" of the right thing.
- the table “spectrum” only updates once i click into the table (after i hit
the bang).
mm, seems to be a Pd bug or other infelicity. the attached includes a workaround using [tabwrite] which updates the GUI
- i get only 64 values, so i guess my blocksize is still 64?
no, it's that for real signals the second half of the rfft~ output is symmetric to the first, so Pd sets it to 0 and ignores it in rifft~ to avoid confusion.
- if i send a bang to switch~ when dsp is off, i get an error on the console:
bang to block~ or on-state switch~ has no effect.
you have to switch it off with "0" first, and have global dsp on (afaik).
cheers
hth,
Claude
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list