Summer Vibes
It’s been a busy Summer for me. I spent May and June packing up my lab (renovations!), finishing a paper for ICMC and then preparing to teach Summer Session. I was entirely absorbed with teaching in July, and now it is somehow already mid-August and I’m not ready to start the new school year!
Along the way, I did *some* fun things. I ran into a library incompatibility with FluComa and SuperCollider that saw them stop working together. (There’s a fix in the works!) I also led a couple Faust programming workshops that saw me run into a few issues compiling Faust .dsp programs for SuperCollider UGens. Those issues are somewhat ongoing so I will chime back in if/when they are completely resolved. But speaking of Faust…
Vibe Coding (sucks?..)
In one ongoing experiment I have been vibe coding with several popular LLMs to see how feasible they are for audio DSP programming. (Spoiler alert: results extremely mixed.) My interest is three-fold: curiosity; need-to-know for teaching (are my students going to be successful using Claude for SuperCollider assignments?); and genuine interest in the possibilities of LLM assistance writing pure DSP for various applications.
My general opinion at this point is that ChatGPT is reasonably good at SuperCollider and okay at Faust, Claude is okay at SuperCollider and useless at Faust, and Gemini is generally useless for everything. You’re welcome.
Specifically, I’ve found that a good working knowledge of SC or Faust means you can quickly generate some code that doesn’t work, but is close and potentially saves you some typing if you can fix it yourself. In my experience, asking an LLM for anything beyond the simplest things causes it to break in hilarious ways (void statements in SC?) The perennial sin that all of the above programs do is continually make up language methods and functions that simply do not exist. SC and Faust are pretty niche and I have *not* had these problems in Python, but still. The fact that I can still solve a new problem (or add unknown feature) more quickly using official documentation (and Faust documentation at that…) than “AI” is amazing.
Mo’ AI (in the classroom) Mo’ Problems
One thing that keeps me up at night is how to help students I know are going to try to use an LLM for computer music, but are going to have that program fail in some critical (and sometimes silent) ways, costing them time and perhaps increasing their frustration with an already difficult subject and language. I guess this concern is not unique to computer music, but it is something I have been thinking about for some time.
For my Summer class, I actually had them work with AI after I set up goals and prompts for them and already knew some places it would fail. Interestingly, it failed in new and unpredictable ways for some of them and still ended up being a huge waste of time. Yikes. LLMs are still *not* ready for the computer music classroom.
Plasma + Arch is Nice!
Along the way, I have found time for some recreational tinkering on my system. I have been running Arch + Sway on my primary Linux laptop for over a year now while running KDE Neon on most (but not all!) of my other machines. I like the minimal feel and functionality of Sway, but it is not feature complete and requires a lot of hacks for things like display sharing, taking screenshots, etc, so I decided to see if I could get Sway and Plasma 6 running on the same machine and, indeed I did, with some caveats. You have to manage two sets of environmental variables which isn’t great, so switching isn’t seamless without some scripting. Still, I’m enjoying the visual appeal of Plasma with the quickness of Arch and will stick with it for a while.
What’s Next?
While the upcoming semester will be as busy as usual as I continue as Director of Undergraduate Studies for Computing and the Arts, I am hoping to rekindle an artistic practice. Our work on the CAFFEINE pod system last year set the stage for some real artistic exploration this year. I hope the undergrad research group can continue, but with a focus on artistic realization rather than low-level technical stuff. We will see how much interest there is.
I hope your Summers were relaxing and productive. Here’s to AY 2025/26!