[A Wee Share] iPoke~ in gen~
iPoke~ in gen~
(because i’m remaking karma~ in gen~ and needed to compare/assess/test with the available gen~ write ops(splat and poke) in comparison with the iPoke~ algorithm)
splat’s reference files claim to fill in ‘skipped samples’, but i believe the way it does so shall be proven to be bullshit
splat sounds like a huge splatter of shit >;D
j/k …but ya, i prefer the sound of iPoke~.
I’ve copied Pierre-Alexandre Tremblay’s comments exactly(as well as all the variable names) to help with the learning and comparison process, i’ve taken some liberty to shorten the code just a bit(removed the overdub conditional outside the dsp-loop because it seemed unnecessary when using gen~ ops), and it’s all pasted within the single helpfile copied from the original iPoke~’s helpfile(plus, the original License.txt is included here to keep it all… respectable :)
(since i shared a mean-spirited sure-to-crash patch in the ‘Max 7.0.4 Update’ thread(gotta wage war against the UI-complainy-whiny-asses who dwell so long on the shallow end of things >:O), and @Vichug may have lost some unsaved work as a result, i figure i should apologize here if he did(but only to him), and post a reassurance for this thread: i promise not to post any patches in ‘[share]’ style threads which crash to my knowledge and this one attached here has not crashed for me :) …but if you’re feeling too scared, feel free to ignore this thread altogether, it’s just posted here for posterity)
AWESOME. This is great Raja, really. Messing around with it briefly, things are sounding great. And the commented code looks to be a great study tool for my own DSP explorations. The poke~ comparsion is revealing.
Out 1 in the ipoke gen patcher is not connected to the codex out, which, I don’t know why, make it un-working on my system…
connecting it solves the problem.
Thank you very much raja for porting it to codex, it’s beautiful.
Great! But hey — splat’s reference files *don’t* claim to fill in ‘skipped samples’ — it just mixes in between two adjacent samples (kind of the inverse of linear interpolation). It’s not designed to do what ipoke does. It’s more for cases where you want an approximation to a continuous-space accumulator. E.g. for injecting energy into a waveguide at non-integer sample locations.
BTW I posted an ipoke-like gen~ here https://cycling74.com/forums/topic/readwrite-buffer-contents-in-same-external — it’s nowhere near as complete a port, just the main behaviour; but might be useful for people to look at to understand the basic process.
splat’s reference files *don’t* claim to fill in ‘skipped samples’ — it just mixes in between two adjacent samples (kind of the inverse of linear interpolation). It’s not designed to do what ipoke does. It’s more for cases where you want an approximation to a continuous-space accumulator. E.g. for injecting energy into a waveguide at non-integer sample locations
ah, i get it now. that makes sense. (having completed this, i’m just impressed that even if one can’t find one style of interpolation built-in, it’s possible to build on top of what’s given in gen~… and it reads like C but works so much easier :D)
sorry for that mistaken omission(not sure what happened there), but glad you got it working :)
my pleasure :)
(heheh, worry not, i lost nothing… something in your wording had made me wary ;) )
Hi Raja, How can I contact you directly? Wanted to propose a project to you. Thanks, Bob Ostertag
Hi, Bob, would be an honor. I just emailed you(hoping your email is right there in your username… if not, reply here, and i’ll give you one of mine(i have about 10 email addies because i’m a very strange person :D))
Raja, I’d like to have a quick chat with you. Currently developing my thesis on ~gen. I think you’d be interested to hear what I have to say as well.
Looking to hear from you, cheers.
Feel free to ping me too. A thesis on gen~ definitely has my curiosity!
Thanks for the port (and passing the license! ;-)
My pleasure, PA :)
Hey guys I found a bug or two, so I’ll post it once corrected and improved ;-)
sharing is loving and caring!
thanks Raja for the port – I learnt so much (and still do)!
This thing saved my week!
Thank you so much for sharing this great piece of design.
Glad you found this thread useful, SJOERD!
But for ongoing future reference to all who find this thread, please use Pierre Alexandre Tremblay’s gen~ version(he is the original author of ipoke~(was an external first written in C by him; and now he has ported it more accurately than I have to gen~), which he has linked 2 posts up from this one…
OR MORE PRECISELY! please visit this thread of his instead:
(just making sure the proper credit/respect is given to Pierre, and his most accurate version is authoritatively upheld/represented :)
…this thread of mine should now be considered defunct; Thanks All!)
Of course! :)
Over and out
Forums > Gen