[A Wee Share] iPoke~ in gen~


    Jul 17 2015 | 6:45 am
    Hello.
    Synopsis:
    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)
    Prognosis:
    splat's reference files claim to fill in 'skipped samples', but i believe the way it does so shall be proven to be bullshit
    Conclusion:
    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)

    • Jul 17 2015 | 2:48 pm
      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.
    • Jul 22 2015 | 2:25 am
      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.
    • Jul 23 2015 | 1:51 am
      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.
    • Jul 25 2015 | 3:39 am
      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)
      @BertrandFraysse
      sorry for that mistaken omission(not sure what happened there), but glad you got it working :)
      @Evan
      my pleasure :)
    • Jul 27 2015 | 8:27 pm
      (heheh, worry not, i lost nothing... something in your wording had made me wary ;) )
    • Aug 18 2015 | 1:41 pm
      Hi Raja, How can I contact you directly? Wanted to propose a project to you. Thanks, Bob Ostertag
    • Aug 19 2015 | 4:14 am
      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))
    • Nov 17 2015 | 4:13 pm
      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.
    • Nov 17 2015 | 4:42 pm
      Feel free to ping me too. A thesis on gen~ definitely has my curiosity!
    • Nov 17 2015 | 5:11 pm
      Hey, @Caninc, certainly sounds interesting, let me know how to chat with you.
    • Nov 20 2015 | 5:05 pm
      Thanks for the port (and passing the license! ;-)
      pa
    • Nov 20 2015 | 6:46 pm
      My pleasure, PA :)
    • Nov 24 2015 | 12:00 pm
      @Graham Wakefield you can ping me from cannc4@gmail.com, can share some details if you like to.
    • Mar 24 2016 | 11:24 am
      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)!
    • Mar 24 2016 | 5:05 pm
      a new thread in the whole MaxMSP forum has been made to share that love, but here is the corrected version:
      enjoy and thanks to Raja!
      p
    • Jul 29 2016 | 7:34 am
      This thing saved my week!
      Thank you so much for sharing this great piece of design.
      Sjoerd
    • Aug 03 2016 | 12:27 am
      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:
      https://cycling74.com/forums/topic/ipoke-is-now-in-gen/
      (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!)
    • Aug 05 2016 | 10:28 am
      Of course! :)
      Over and out