2 Aug 2022 |
sjfloat | Generally, I want things like pulseaudio in my system config, but not jack. | 12:48:39 |
sjfloat | And since switching to pipewire, I've had terrible performance issues with chrome (it's an older machine). | 12:49:20 |
sjfloat | I do have a lot more jack-dependent things working again now, though. | 12:49:57 |
sjfloat | I also introduced the Alsa Modular Synth to the nix pkgs. This was probably my favorite softsynth for years. | 12:50:55 |
sjfloat | But I'm paying more attention to Pd now. I'd like to create Pd objects using Faust. | 12:51:57 |
sjfloat | And possibly csound | 12:52:22 |
sjfloat | The external I want to write now, though, is one for handling MIDI events, which feels pretty clumsy to me in Pd. | 12:53:22 |
Tom Schouten | i just tried starting jack & pd while pulseaudio was running and it worked without manual intervention - it seemed to just disable the port automatically. then stopping jack & pd and pulseaudio (tested in firefox) was working after. this is nixos unstable from a couple of months ago | 20:37:55 |
Tom Schouten | In reply to @sjfloat:matrix.org The external I want to write now, though, is one for handling MIDI events, which feels pretty clumsy to me in Pd. are you thinking about interfacing with midi device directly from your external? | 20:40:36 |
sjfloat | No, I'll probably just feed it what I get from notein or some other provided object. | 20:41:46 |
sjfloat | Actually, I'm looking at the code for notein for guidance. I didn't find the HOWTO very helpful. | 20:42:39 |
sjfloat | But maybe there's an existing external you know of that would do what I want. | 20:43:48 |
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 |