2 Aug 2022 |
Tom Schouten | the impression i got is that midi is mostly avoided. more osc and netsend / netreceive. i know that Miller is not a fan of midi | 20:44:04 |
sjfloat | Perhaps. But my external controllers are what they are. | 20:44:28 |
sjfloat | And they are MIDI. | 20:44:33 |
sjfloat | A near goal of mine is to throw together a simple mono synth and control it from hardware controllers. | 20:47:15 |
sjfloat | The problem I've had with that is that, from what I've seen, sustain isn't really handled well. | 20:49:04 |
sjfloat | To roll my own handling, I need to manage some state -- essentially a stack of key events and their status. | 20:49:43 |
Tom Schouten | ok i think i follow | 20:50:11 |
Tom Schouten | yea pd is not really set up like a classic synth like that | 20:50:32 |
Tom Schouten | one of the first things i did was to write externals for envelope generators | 20:50:50 |
Tom Schouten | then later moved away from pd for more classical synth things that have to do with note management and polyphony, but i do think there are people that have solved these things using externals or patches | 20:51:35 |
sjfloat | Yeah, there's some support for envelopes now; line or something like that, and a few variants. | 20:52:18 |
sjfloat | They's probably serve me fine. But I still need to manage sustain. These facilities produce the entire envelope. You have to commit to a static sustain segment. It's not driven by controller events. | 20:54:03 |
sjfloat | * They'll probably serve me fine. But I still need to manage sustain. These facilities produce the entire envelope. You have to commit to a static sustain segment. It's not driven by controller events. | 20:54:46 |
sjfloat | So what I want is an object that converts MIDI to CVgate | 20:55:28 |
sjfloat | Well, not truly CVgate, but a normalized, software version of that. | 20:56:05 |
sjfloat | This missing bit is the gate. | 20:56:31 |
sjfloat | To generate that from MIDI, I need to detect zero velocity note events and then do the right thing, which can vary. | 20:57:24 |
sjfloat | Then, I suppose, I want a poly version of that, which would behave a little differently. | 20:58:05 |
sjfloat | I did initially try to solve this in a patch. I even pressed a stack from zexy into service. But this kind of state manipulation isn't really Pd's strength. | 21:01:46 |
Tom Schouten | indeed | 21:03:09 |
Tom Schouten | did you ask on the list? i would assume there is some code that does this kind of thing already... unless you want to do your own experimentation | 21:03:55 |
sjfloat | A mailing list? | 21:04:12 |
Tom Schouten | yes | 21:04:15 |
sjfloat | I'm not on there. I guess I should be. | 21:04:25 |
sjfloat | Is it on some listserver somewhere? | 21:04:39 |
Tom Schouten | https://puredata.info/community/lists | 21:04:45 |
sjfloat | Ahh. Thanks! | 21:04:52 |
sjfloat | So, have you had a good look at Faust? | 21:05:20 |
Tom Schouten | i looked at it when it started but never really used it - pride i guess, i got my own thing :) | 21:06:41 |
sjfloat | Yeah? | 21:07:04 |