I’ve been treating this pulsar program as just a test for instrument building, but I decided to try rolling with it a bit today. Something in the trumpet going D - E - A - C against a sustained Bb into a slow E - A on the tenor sax might sound nice.
Boy howdy I need to work on my intonation. I think I feel OK with writing something simple and farely fixed that I can practice to muddle through on the trumpet, and probably save the more improv-y sections for trombone which I’m a bit more comfortable on…
There’s more plumbing work with the new astrid instruments to do for this still. On the list:
-
Use
pselectto wait on shutdown signals, playq messages (that needs a better name – it’s the posix queue with a well-known name that the instrument mainly listens for messages on) and optionally serial messages. - Move the serial listener program into an optional feature of the astrid instrument. Maybe setting a path on the instrument struct to point to the tty in the filesystem is enough for now, eventually supporting multiple serial connections at once will be nice.
- Add support for the serialized buffer thread as an option for astrid instruments with an async renderer active to listen for serialized buffers arriving on Ye Olde Redis Pubsub. (Later to be replaced with LMDB, but that’s a project for another time.)
- Embed the python renderer. Point to a python script to load optionally as a start?
- Feed the old adc ringbuf
- Probably add a new stream ringbuf, so python renderers can take bits from the stream output to process.
- Possibly add some simple routing control for deciding how to mix the stream/async layers? Or just do it ad hoc in the stream callback?
- What does a python stream callback look like? (A lot of ugens orchestrating a graph prolly… also likely a project for another time…)