Python and the patching canvas
MaxPy and MaxPyLang use Python to generate and edit Max/MSP patches. A short program can place objects, repeat structures, and make connections that would take many manual steps on a patching canvas. The resulting patch can then be opened and worked on visually in Max.
Our current focus: type checking
I am working with Mark Santolucito’s group on a team project focused on type checking in this setting. The question is what a tool can tell us about a patch before it runs. For musical programming, the difference between an audio signal and a control message matters, as do the expectations of the objects being connected. Useful checking should make a problem easier to locate and understand while leaving room to experiment.
My role and interests
My work is within the group’s existing MaxPy and MaxPyLang codebases. I am learning how the Python representation relates to Max objects and patch connections, alongside the team’s type-checking work. Coming from composition and production, I am particularly interested in how feedback from a programming tool can help someone keep working on the sound.
The research group
FoRG is the Formal Methods and Reasoning Group, led by Mark Santolucito at Barnard College, Columbia University. The group studies automated reasoning and tools that support human reasoning. MaxPyLang is one of its current projects. The lab website and project repository are linked above.
