Web apps as instrument
This post follows on from my previous post, where I discussed the Wekinator software and how I stretched it to its limits, making a program that detects what letter the user draws.
For the final part of our Coding and AI for Music module, we were tasked with creating a group project. Everyone was to go home and create something that they can bring back to the group, and we would figure out how to combine them all into one big project. The only rule was that it had to involve some form of AI or machine learning.
Audience interaction
My inital plan was to create a basic website where hypothetical audience members could submit any message to interact with the program somehow. To do so, I created a simple web server in Python using the Flask library. It had a home page with a simple form on, which would send a POST request to another endpoint that would relay the message via OSC to a Max patch. In case you’re interested, the form looked like this:
Note: This form is not functional, it’s just a visual representation.
You could type any message into the input field and click the button to send it to the Max patch. The Max patch would then do something with the message, but I hadn’t decided what yet. I figured I would show it to the group and we could decide together.
Another member of my group thought this had a lot of potential. He got to work making a Max patch that converts a string of text into a melody, using each individual character’s ASCII value as a note value. We connected our laptops over the network to test it and it worked! I don’t know the details of his patch, but if I can get a screenshot of it I’ll update this post, crediting him.
Letter detection
Honestly, I didn’t think my website form was enough. It took me maybe 20 minutes to make, and I know I can contribute more to this.
So, I packaged up my letter detector project (see previous post) and brought it in on my laptop. We figured maybe as part of the performance I could be trying to spell out words on the screen, moving onto the next letter when it finally recognised the current one correctly. It would be constantly sending out the letters it correctly or incorrectly guessed to a Max patch, which could then feed into a Rand-O-Drummer’s seed value.
That’s all I have to discuss regarding my contributions for now. Look out for another post where I’ll talk about any more progress made next week.
As always, thanks for reading.