I was very happy to attend and present at this year’s WebAudio Conference. The NTNU did an incredible job hosting and organizing the event and there was a great variety of research presented. I was noting to myself throughout the conference how it seems to get better each year for both the software and technology shown and the musical performances performed. I think it’s a sign of the level of maturity of the browser platform as a whole that it can support high-level musical work today.
For those who might be interested, all of the sessions were recorded and streamed online. Archives are available here.
For my own work, I presented on the Csound-WebIDE here:
(Note: I misspoke about Chowning’s work and said “parallel carrier, single modulator” when I should have said “parallel modulator, single carrier”.)
I also participated in the jam session by live coding with Csound here:
Great to see old friends and meet new ones. I hope to make it to next year’s conference in Barcelona!
I’ve been practicing visuals with Olivia Jack‘s wonderful system Hydra the past couple of days and I have been enjoying it very, very much. It’s been a blast to have a higher-level abstraction layer to work with over coding GLSL shaders directly. I suppose a big factor in my joy is that I tend to spend a lot more time with JS than I do GLSL too. 😉
I think knowing some shader programming and practices certainly made learning Hydra a lot quicker than it would have been otherwise. Still, lots to learn and practice. 🙂
Practice session today using additive pitch hexbeat rhythms to generate melodic contours.
Each hexbeat() is generating sequences of 1’s and 0’s which are then multiplied to alternate between things like 7 and 0. So if I add one that alternates between 2 and 0, I get 9,7,2, and 0 as possibilities. Then with say 4 and 0, I get additional combinations. With the patterns of different lengths (I’ve been using mostly prime number lengths) it generates a nice long overall pitch pattern, which is then masked by the rhythmic hexplay() pattern. I then add a choose() to say “play 70% of the time” and I find all of that together is quick to write, generates good variety, but has an underlying structure that is stable. (It’s been on my mind how to mix randomness + stability in interesting ways and I’ve found these explorations have been leading to some interesting pattern generation.)
This desmos graph visualizes an example of a 3-part hex pitch rhythm added together:
(Click on the “Edit on Desmos” link in the graph to turn on/off visualization of the various individual hex pitch rhythms.)