So I’ve gradually been moving towards a new version of Gibber, which I’m hoping to complete over the summer. I thought I’d post a bit about what will be in it, in case there is any early feedback, and kick off this new forum category that Alex kindly setup.
A brand new audio engine. The main benefit is that it will run in a separate thread from other browser processes, making it easier to do audiovisual projects without stutters. But there are also nicer “virtual analog” filters (which make a huge difference in the sound quality) and other goodies. You can play a bit with it here.
A brand new graphics engine. I wanted to do something that was different from other systems out there and encouraged different types of experimentation, and built a raymarching engine for this purpose. Although the end-user API will be much simpler when it’s integrated into Gibber, you can play with the underlying library as it currently stands here.
Thanks to #1, code annotations / visualizations will be enabled by default. In prior versions of Gibber, you had to explicitly enable these; now that the audio runs in a separate thread I feel comfortable turning them on by default.
Gibberwocky will be merged into Gibber. I hope to also make a Pd integration (in addition to existing Max / Live integrations). You’ll be able to sequence web audio / graphics / Live / Max / Pd / MIDI simultaneously using a single API with your choice of clocks.
Use of Tidal mini-language for sequencing (in addition to the existing options). This is a bit dependent on a student finishing some work I started a while back but ideally you’ll be able to do things like:
syn = Synth('acidBass') syn.note.tidal( '0 [2 [3 4]] 5(3,8)' ) syn.cutoff.tidal( '[.1 .2 .5] .75' )
- Atom integration… and hopefully completing this will make it easier to integrate into other editors like VSCode.
There’s lots of other elements that I’m not listing, but if there’s something missing from the above list you think is critical to add please let me know! I’ll try to get alpha / beta versions up sooner rather than later; the last four or five performances I’ve given have been using an alpha version… just need to document some things first.