• alexandros

    How are you trying to open the port with [comport]? Did you send the "devices" message to it to see the available ports and their indexes in Pd's console?

    posted in I/O hardware diyread more
  • alexandros

    Which libraries are these? Perhaps you need to first use [declare -lib libname] before trying to create one of its objects. This concerns single binary file libraries like zexy or Gem.

    posted in technical issues read more
  • alexandros

    Since you're using the else library you can use [else/envgen~] combined with the function object. Check its help patch and the [pd function] subpatch that's in there.

    posted in technical issues read more
  • alexandros

    @gentleclockdivider your approach is totally against netiquette, if you ever read any etiquette rules. Posting the same question to multiple channels just because you need an answer fast is just bad practice for a community member. @porres might sound a bit aggressive, but I do agree with him, and I guess you don't agree with me, still, basic netiquette is necessary in community fora. Also, @porres did not imply he is in any position of authority. He's just recommending a better community behaviour in Pd's channels.

    posted in technical issues read more
  • alexandros

    @oid you're write about making all ramps go from 0 to 1, apply curvature, and then scale and offset to bring them to the desired range. I've done that too in a project of mine, but it's quite some more work. As you write, the approach above is probably good for most applications. I did this as a reply to @ddw_music's post.

    posted in technical issues read more
  • alexandros

    @porres the Bela has only libPd and not an actual Pd installation. I agree that it's very outdated and an easier way to update Pd in the Bela is needed, but for now that's what we get.

    posted in news read more
  • alexandros

    @ddw_music I thought about it and it turns out that just squaring is not enough, even if you store the square root of the sustaing value. If you just square, the curve of the attack will be inversed (it will be exponential instead of logarithmic). You need some more logic to inverse the power you raise the amplitude to, depending on the direction of your signal. Here's a snapshot of my take.
    Screenshot from 2025-03-05 08-49-19.png
    [adsr] is an abstraction I have built. It stores the square root of the sustain value. What's important here is the logic underneath [vline~]. Here I'm using zexy's [z~ 1] to get the previous sample and compare it to the current one. If the current sample is smaller or equal to the previous one (the decay, sustain and release parts), then the envelope is raised to the 2nd power, otherwise, it is raised to 0.5.
    This way, you can get the correct curvatures.

    posted in technical issues read more
  • alexandros

    @ddw_music unless, you do square it, but set the sustain value through a [sqrt] first, so when squared, it gets to the correct value!

    posted in technical issues read more
  • alexandros

    Check out this https://github.com/alexdrymonitis/filter_abstractions
    both [omniFilter_abs~] and [multiFilter_abs~] can create a resonant lowpass filter. Getting note on and note off messages in Pd can be done with the [notein] object. Just create one and right-click on it, then click on help in the pop-up menu.
    As for [mtof~], you're right, you need that to convert MIDI notes to frequencies. There's also a control-rate version, [mtof], without the tilde.

    posted in patch~ read more
  • alexandros

    @ddw_music you can't really square the value in case it's a volume envelope, because that will square the sustain value as well, and that will reduce the actual value. I understand that squaring will create curves, but you need a more complex logic to get the curves but maintain the sustain value.

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!