• porres

    But the example also shows that! That is what the keyboard gui sends, midi notes

    posted in technical issues read more
  • porres

    I see help files render better in Vanilla :) I don't use plugdata really and it has issues when opening patches that are alligned with vanilla

    posted in technical issues read more
  • porres

    the screenshot didn't go... it's the help file of VCO

    let me try again

    Screenshot 2025-08-04 at 10.27.43.png

    posted in technical issues read more
  • porres

    unlike automatonism, if you open the help patch, you'll find a working example that should get you started at least in making noise! See also [pd about.merda] for more.

    Screenshot 2025-08-04 at 10.26.11.png

    let me know if you still run into trouble

    posted in technical issues read more
  • porres

    @Konked2 said:

    @porres no, tried googling it, didn't find anything.

    It's natively included in PlugData and can be included from the left palete ("generators", "filters". "effects" and "extra").

    It's also part of the ELSE library in Vanilla, it's called "MERDA"

    posted in technical issues read more
  • porres

    @alexandros said:

    The pitch input in Automatonism takes values between 0 and 1 and multiplies them internally by 127 before sending them to [mtof].

    I suspected that raw MIDI input was "funny", from what I remembered. On the other hand my modules do take direct MIDI pitch input. I think automatonism and BEAP in Max made a bad decision in taking the modular purism so seriously trying to enforce a CV control logic into Pd and Max. I took a different approach, trying to get the best of both worlds and not pretend that Pd is a virtual synth like VCV instead of what it is.

    posted in technical issues read more
  • porres

    @Konked2 said:

    I use plugdata so it might be different but the note doesn't turn off.

    PlugData should be the same. Now, if you use it, are you aware of its built in MERDA modules? It's much more versatile and has extra functionalitites like polyphony.

    posted in technical issues read more
  • porres

    "To Pd-announce:

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

    cheers
    Miller"

    Release notes
    0.56-0
    The default 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 numbers. 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 offset block computation. A new "goprect" message was added to officially support changing the GOP rectangle (so people can stop abusing "coords" and "donecanvasdialog" messages). Both also thanks to Christof!
    Run-time messages added to show/hide the name of arrays and set saving contents or not. Ticks and labels on graphs are now saved with the graph, array color and line width are saved with the array (Hannes).
    A new "colors" message to "pd" allows changing the foreground, background selection, and (optionally) GOP rectangle colors. Colors are specified in hexadecimal symbols preceded by "#", so you must say "#ffffff" for white, #ff0000" for bright red, and so on. This is still experimental as it might change and it's not yet fully implemented/integrated in the Pd GUI system. It's also not yet incorporated in Pd's preferences as it certainly should be.
    Updates to the "deken" ("find externals") mechanism.
    Menus cleanup (Hannes)
    Improvements to [makefilename] by Hannes and Porres (added support for '%F', '%a' and '%A', as well as support for length specifiers).
    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 MIDI 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 clearing, plus a "query" message to look at contents without expelling them. Examples were added by Porres to show how to use [bag] as a sustain pedal, arpeggiator and more.
    The [poly] object now has a "resize" message for changing the number of voices, plus a "steal" message for dynamically enabling/disabling note-stealing.
    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. Also added a "pd~ vis float" message to the [pd~] object.
    Improvements to mouse handling in MacOS (Ben Wesch).
    Improvements to the [clone] object: support "savestate" in cloned abstractions; do not remake the currently saved abstraction.
    New API functions "pd_queue_mess()" and "pd_queue_cancel()" for sending messages from a helper thread back to the main thread.
    New API function "pd_findbyclassname()" that allows to find objects purely by name. (Useful for sharing data between externals that don't live in the same binary.)

    posted in news read more
  • porres

    iemguts/savebangs

    posted in technical issues read more
  • porres

    [savestate] works just for abstractions

    posted in technical issues read more
  • 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!