Oops, it’s June already!
A couple days ago I said:
[Sending params as strings] simplifies the daisy firmware concerns a bit, too. (Even tho it’s more annoying to work with strings than just
memcpysome bytes into a field, that’s OK.)
Which made me feel sheepish today since I could not figure out what was going wrong with the daisy firmware when I adjusted it to send strings with printf encoded floats instead of writing the bytes of the float into a buffer… I’m not the only one who lost half a day to this, it seems! :-)
Anyway, after flailing around I started to wonder if printf had some
special behavior for floats when running on an stm32. Floats aren’t
always super well supported on microcontrollers… but in this case the
reason for the different behavior in printf was just to keep the
firmware blob sizes down, so it makes sense that the default
configuration strips this support out. Seems like a good way to slim
down most firmwares since it’s not a super common need I’d imagine. I
ended up finding that post linked above which shared that updating the
linker flags with LDFLAGS += -u _printf_float re enables
printf float support!
It’s pretty exciting to have a few controls mapped out, running
alongside the littleseq python instrument which is also
sequencing the parameters of the littlefield C instrument.
(Not the most original names, they’re named after the town in Texas
where I plan to use them in an ensemble context for the first time.)
It’s fun to have a workable – how long has it been this time? –
combination of command inputs, live coding, microphones and knobs to
twiddle going again. Interacting with littleseq feels good,
but I also need to figure out how to make good use of the realtime
controls I have available via the daisy petal I’m using for that
purpose. It has:
- 6 knobs
- 1 encoder with a push-button center
- 3 wonderfully solid feeling mechanical switches
- 4 momentary footswitch style buttons which also feel nice to mash on
- 1 expression pedal
And of course audio inputs and outputs I don’t plan to use for this… though maybe some audio-reactive controls like piezo triggers would be cool to try to sort out if there’s time?
I’m coming around to the idea of trying to keep all the realtime
controls to the microphone/exciter feedback pairs, and the various
controls available on the daisy petal. I want to map every parameter to
physical controls! There are so many parameters though… (LMDB is also
still showing no signs at all of causing problems handling them in the
audio thread!) and while I don’t really love live-coding in performance,
I don’t really mind live-tweaking… so I think if I build up
littleseq more so that I can essentially enable and disable
features and groups of things easily, and tweak the algorithms for
controlling them now and then… that opens up being able to work with
modulating a lot more aspects of the sound in different configurations.
Control mapping and parametrization is always tough.
Log May 2024
Log April 2024
Log March 2024
Log February 2024
Log January 2024
Log December 2023