Dear Jakob,
please see me replies below. Note that it is not necessary to CC my address in addition to the mailing list.
[...]
Jakob, if these synthesizer voices have volume envelopes you can switch them on when you start the envelope and switch them off when the envelope has reached its end using the aforementioned [switch~] object. I am sure you have looked into [poly] as well, as it is often used to do voice management for synthesizer voices inside abstractions (usually preferred to subpatches).
Hi Peter,
thank you very much for your help!
I will have to take a deeper look into the synthesizers because I have not built them myself. But as far as I have heard, knowing about envelopes and [env~] is a key for my desired idle-detection anyways. So I will dive more into this, too! Thanks for the hint!
How would I recognize that a synthesizer has those aforementioned volume envelopes?
A synthesizer is basically a sound generator (eg. oszillator) that is always "on" and producing and eternal tone. If you want to play a "note", you have to control its amplitude so that this amplitude is always zero (inaudible) and is only raised for the duration of the note, including possible fade in and fade out curves. In Pd this is usually done by multiplying [*~ ] an audio signal with a control signal created by [line~] or [vline~]. See help patches A02.amplitude.pd A03.line.pd D01.envelope.gen.pd
Do not confuse this envelope with the [env~] object, which measures a signal's RMS amplitude in dB.
[...]
Yes, the effects are all the same, but I actually would like them to be using individual streams , that is, the audio streams of their corresponding matrix. By this, the user can create individual effect-settings (per matrix) and hopefully more interesting sounds. If I merged the individual audio streams into a smaller number of „main“ effects, I would loose this possibility. .. but probably save cpu :-D
It seems you are programming this for some "user" in mind. Would you expect her to adjust the effect parameters of 30 effects? In my experience, more interesting sounds are made by reducing parameters to those that really matter, and coming up with a nice range mapping rather than to offer too many knobs to the user. YMMV though.
best, P
Hi Peter,
ah I see, sorry! I have not been on the list for quite some time.
Please see my replies below:)
Am 26.04.2025 um 20:49 schrieb Peter P. peterparker@fastmail.com:
Dear Jakob,
please see me replies below. Note that it is not necessary to CC my address in addition to the mailing list.
- Jakobweb jakkesprinter@web.de [2025-04-25 16:51]:
[...]
Jakob, if these synthesizer voices have volume envelopes you can switch them on when you start the envelope and switch them off when the envelope has reached its end using the aforementioned [switch~] object. I am sure you have looked into [poly] as well, as it is often used to do voice management for synthesizer voices inside abstractions (usually preferred to subpatches).
Hi Peter,
thank you very much for your help!
I will have to take a deeper look into the synthesizers because I have not built them myself. But as far as I have heard, knowing about envelopes and [env~] is a key for my desired idle-detection anyways. So I will dive more into this, too! Thanks for the hint!
How would I recognize that a synthesizer has those aforementioned volume envelopes?
A synthesizer is basically a sound generator (eg. oszillator) that is always "on" and producing and eternal tone. If you want to play a "note", you have to control its amplitude so that this amplitude is always zero (inaudible) and is only raised for the duration of the note, including possible fade in and fade out curves. In Pd this is usually done by multiplying [*~ ] an audio signal with a control signal created by [line~] or [vline~]. See help patches A02.amplitude.pd A03.line.pd D01.envelope.gen.pd
Do not confuse this envelope with the [env~] object, which measures a signal's RMS amplitude in dB.
Thank you for this simple-but-great-explanation and the hints!
If I didn’t want to dive into a single synthesizers’ inner mechanics too too much, couldn’t I just use my own little abstraction that I would hang behind one of each synthesizer, which then just checks its output and [switch~]es off the upper layer, e.g. a subpatch as mentioned in another answer?
[...]
Yes, the effects are all the same, but I actually would like them to be using individual streams , that is, the audio streams of their corresponding matrix. By this, the user can create individual effect-settings (per matrix) and hopefully more interesting sounds. If I merged the individual audio streams into a smaller number of „main“ effects, I would loose this possibility. .. but probably save cpu :-D
It seems you are programming this for some "user" in mind. Would you expect her to adjust the effect parameters of 30 effects? In my experience, more interesting sounds are made by reducing parameters to those that really matter, and coming up with a nice range mapping rather than to offer too many knobs to the user. YMMV though.
best, P
Yes, I definitely get your point here and I do support the idea of „less is more“ in a setup:)
And yes, I do have a user in mind:) Maybe it is interesting to mention that for now it is planned to use this matrix-instrument digitally only, probably on iPad. And the iPad should almost be the only instrument while someone performs with it, so the setup is actually quite reduced. There is actually no real knob-turning going on. It is just tipping and sliding around on a display.
The nice thing about the matrix-instrument here is that you actually don’t get confused too easily because although you change between different instruments, the gui always looks the same. The only thing that changes visually is the chosen sequencer-steps and the particular values for an effect per matrix, which are just little black lines of [hsliders]. But the effect gui containing those [hsliders] does not change visually at any time.
Best, Jakob
pd-list@lists.iem.at - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/VZTXET57BT...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
[...]
If I didn’t want to dive into a single synthesizers’ inner mechanics too too much, couldn’t I just use my own little abstraction that I would hang behind one of each synthesizer, which then just checks its output and [switch~]es off the upper layer, e.g. a subpatch as mentioned in another answer?
Tracing the output volume of your synth is not that easy, because you really have to wait until all sound has decayed, and not just gone below a certain threshold. But this wait time should only be there when turning off. Turning on should be instantaneous. Hence some hysteresis mechanism might help. See C.07.envelope.follower in the Help Browser. And what about synths whose output amplitude momentarily decays below your threshold but will then continue to play?
But before I do some Schwarzmalerei, simply give it a try!
[...]
And yes, I do have a user in mind:) Maybe it is interesting to mention that for now it is planned to use this matrix-instrument digitally only, probably on iPad. And the iPad should almost be the only instrument while someone performs with it, so the setup is actually quite reduced. There is actually no real knob-turning going on. It is just tipping and sliding around on a display.
The better to reduce user interface elements further for touch-only displays.
The nice thing about the matrix-instrument here is that you actually don’t get confused too easily because although you change between different instruments, the gui always looks the same. The only thing that changes visually is the chosen sequencer-steps and the particular values for an effect per matrix, which are just little black lines of [hsliders]. But the effect gui containing those [hsliders] does not change visually at any time.
Nice! Sounds good!
best, P