• porres

    I'm working on a doc update

    Screenshot 2025-06-24 at 04.24.49.png

    see:

    pd-messages.pd

    posted in news read more
  • porres

    "Miller Puckette via Pd-announce:
    Pd version 0.56-0test1 is available from https://msp.ucsd.edu/software.htm
    or (source only) via github: https://github.com/pure-data/pure-data .

    cheers
    Miller"

    Check release notes below and may I add, check the help file of [bag], where I added some cool examples on how to make an arpeggiator and sustain pedal. Please test, and also, please help translate some parts as now is a good time ( https://hosted.weblate.org/projects/pure-data/ )


    Release notes:

    The dafault sample rate is now 48000. (All the same sample rates as before are still supported).

    Reworked text editing mechanism for object/message/gatom/comment boxes and applied it also for text fields in scalars (aka "data structures"). It is now reasonably feasible to use data structures to hold messages or sequences of messages. Also methods "get" and "set" added to the pointer object make it much easier to traverse the contents of a scalar; and "nearest" and extended "next" messages that make it easier to search for a scalar or scan through a list of them. A variant of the pointer object called "vpointer" allows to access the same pointer by name from more than one place, like the value object for numnbers. There are several other useful additions such as the ability to drag scalars around without having to swap the window into edit mode.

    Multichannel support for delread~, etc., tabread~, etc., readsf~, writesf~, sig~, snapshot~, and print~, all thanks to Christof Ressi

    a phase argument to block~ allows you to explicitly offset block segmentation (also Christof)

    Ticks and labels on graphs are now saved with the graph, and run-time messages added to show/hide the name, and make editable or not (Hannes).

    A new "colors" message to "pd" allows changing the foreground, background, and selection colors. Colors are specified X-style, so "white", "black", etc., are OK but you can also say "#ffffff" for white, ##ff0000" for bright red, and so on. This is not yet incorporated in Pd's preferences as it certainly should be.

    updates to the "deken" ("find externals") mechanism.

    Menus cleanup (Hannes)

    It's now possible to edit the text contents of a GOP with hidden text from its properties dialog.

    New "-devicename" argument to set jack's MID and audio device names (-jackname still works for jack audio devices but not for MIDI as before).

    New option for the "bag" object to prevent multiple entries of the same value, and a "bang" message to output without clearning, plus a "query" message to look at contents without expelling them.

    The "random" object takes a "float" message that both sets the range and generates an output.

    Shebang support: it's optionally allowed to put a header like "#/bin/pd" in a patch file so that you can click on it and have that start Pd.

    New "vis" message to Pd to start/stop the gui.

    Improvements to mouse handling in MacOS (Ben Wesch).

    posted in news read more
  • porres

    glad to hear, even though I'm vegan :)

    posted in technical issues read more
  • porres

    @ddw_music said:

    Maybe JMc was wrong to call it "3rd-order Hermite (x-form)"

    No, like Matt says in wave~'s help, and like I mentioned here, Catmull-Rom is a type of Hermite interpolator, so there's no theoretical conflict here.

    I don't have any more time to look at this (project must be completed by next Tuesday

    Good luck. Anyway, my new rampnoise~ interpolation is the same as SC's cubic one and it should be called a Catmull-Rom for a proper specific documentation. I'm just trying to get things straight.

    @manuels
    I see now your stuff is something else, they are cubic polynomials for approximation, like bezier curves, is that it? So not proper cubic interpolators, huh?

    posted in technical issues read more
  • porres

    @ddw_music said:

    lg-diff -- the slope of the Lagrange interpolation -- shows some gaps; at those places, the Lagrange interpolation will change direction suddenly. hm-diff may change direction at a sharp corner, but those corners link up. The fast oscillation toward the end of this one looks smoother to my eye in the Hermite version, where tabread4~ on the left looks uncomfortably close to straight line segments.

    What is this "hermite" one?

    First things first, we need to have proper names for things.

    Can anybody really clarify about the terminology of things here?

    Like I said, I don't know math :) I've been asking AI but I don't trust

    Let's break things down. First of all, it seems "lagrange" is not the right name to call Pd's interpolator. So I'll stop calling it that. It is cubic of course, and by cubic it means it has a xˆ3 term... it's also the same interpolator used in CSound, according to Matt Barber on the Pd list.

    It's bad for some reasons you all seem to know well, and Cyrille made a new one, and it is the same one used by SuperCollider, and it's also the same one I use by default on my ELSE externals.

    Now, according to the help file of cyclone/wave~, written by Matt, Pd is supposedly not "hermite", but then, Claude was calling it a 'hermite' one... again, I dunno, let's just call it Pd's. BTW, Cyclone's [wave~] was not supposed to have Pd's interpolator, but we thought "why not?", and added it...

    The other interpolators in wave~'s help file are all "hermite", and the one used by SuperCollider/ELSE/tabosc4c~ is "Catmull-Rom Spline". So, "Catmull-Rom" should be specific enough :)

    I still haven't checked the code for the cubic interpolator in SC, but I'm trusting Matt here... and it seems this is the one used in LFDNoise3... and LFNoise2 is quadratic, not cubic, and who the hell knows which one is the quadratic but I'm guessing then LFDNoise3 uses "Catmull-Rom"!

    @manuels
    in your patch you have quadratic/cubic/quartic B-spline interpolators. You seem to know about this ;) can you elaborate on which interpolators you're using?

    cheers

    posted in technical issues read more
  • porres

    by the way, cyclone/wave~ has a good detailed documentation that Matt Barber wrote. He also reversed engineered the MAX object. I never fully/really understood any of it. It does mention about "hermite" and says which one is used by SuperCollider. I use the one that is supposed to be in SC for my externals by default. Anyway, I guess I need to dive into this math and theory and I'd appreciatte if anyone could help me with sources :)

    thanks

    posted in technical issues read more
  • porres

    @manuels said:

    Sorry, Im not good at explaining ...

    well please help me understand how you are doing interpolation with such graphs, and what are "basis functions" or "kernel" supposed to mean in this context... or please give me some references to check. Your patch just gave me a new dimension to look at interpolation and I wanna get it ;)

    posted in technical issues read more
  • porres

    @ddw_music said:

    You're into math enough to maintain a DSP-and-other-stuff library for Pd

    Though not enough to understand or know what "quadratically interpolated" or "cubic interpolated" is supposed to mean :) so I ask ;)

    And again, what is bad about [tabread4~]'s method ("lagrange" so it seems)? And what is good about [tabread4c~]?

    posted in technical issues read more
  • porres

    @manuels said:

    Shift register with precalculated basis functions (or rather: basis functions read from a precalculated kernel): interpolated-noise.pd

    Hey, this is cool, I've never seen this. But hey, I don't know what you mean by "Shift register with precalculated basis functions (or rather: basis functions read from a precalculated kernel)" :) I don't know what "Shift register" is supposed to mean here, or "precalculated basis functions", or "basis functions read from a precalculated kernel", or what is "kernel" here :) I just wanted to make music, no one told me there'd be math :(

    What I see is that you have 6 point interpolation, even for linear interpolation, and this is really something new and confusing, a whole new approach to me, as I'd just use two points here, and you have at least 3 for that. Anyway, I also see "quadratic" and "cubic", which was my question from before...

    I guess this is an interesting approach that works well for didactic reasons. I think that if I really get what is going on here I'll better understand these kind of interpolations, but it doesn't seem like a good way to code something in 'C', huh? Or is it?

    posted in technical issues read more
  • porres

    I didn;t know about "LFDNoise3", is it a new one? Wow, I can't believe they have so many :)
    I see this one is dynamic. Hard to to know exactly by looking, the documentation kinda sucks in clarity, but it seems the other one "hangs" on low frequency in a way that it can't speed up follow a frequency increase from a [phasor~] or something? Wow, that's bad :) 
    So, like I said, I easily adapted [rampnoise~] to use spline, so it's a 4 point interpolation. Now, I wanted to see what kind of interpolation SC uses and it's also not clear or well documented. It just says "quadratically interpolated" or "cubic interpolated", and for someone not that much into math, this is not enough, can anyone help? :) What kind of interpolation is spline? I don't wanna look into their source code :(

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!