-
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?
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
[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. -
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!
-
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. -
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.