Skip to content

A Python package for automated generation of MaxMSP patches.

License

Notifications You must be signed in to change notification settings

Barnard-PL-Labs/MaxPy

Repository files navigation

MaxPy

MaxPy is a Python package for metaprogramming of MaxMSP that uses Python to generate and edit Max patches. MaxPy allows users to move freely between text-based Python programming and visual programming in Max, making it much easier to implement dynamic patches, random patches, mass-placement and mass-connection of objects, and other easily text-programmed techniques.

MaxPy was published as a demo paper for NIME 2023.

Video Demos

Introduction to MaxPy
Mark demonstrates the basics of installing MaxPy, creating patches, and placing objects.

Variable-Oscillator Synth Explanation
Ranger explains a MaxPy script that dynamically generates an additive synth with a variable number of oscillators. The code for this synth is under examples/variable-osc-synth.

Replace() function

Using Replace() function with MaxPy
Satch explains using the replace() function to selectively replace objects in a loaded patch to sonify stock data. The code for this is under examples/stocksonification_v1.

Documentation

You can read the docs here (under construction).

Formal Grammar of MaxMSP

To aid the development of MaxPy, we attempted to define a formal grammar of MaxMSP as a programming language. However, we discovered three major issues: 1) typing problems, 2) irregular objects, and 3) mismatches between saved program files and in-environment program behavior. See this Google doc (in progress) for a writeup of these issues.

Related work

https://github.com/grrrr/py

Contributors

Ranger Liu (developer)
Dr. Mark Santolucito (PI)
Richard Lee (documentation and examples)
Satchel Peterson (documentation and examples)

About

A Python package for automated generation of MaxMSP patches.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published