Why Wekinator?
For creating a Machine Learning environment in connection to Max, I'm using the stand-alone software Wekinator, developed by Goldsmith's teacher Dr. Rebecca Fiebrink, one of the currently main names in computer music and Machine Learning.
Although the first edition of the software is dated back to 2009 and it's black-box functioning system regarding the ML process might lead to more restricted results compared to a full developing of a music-ML connected system in languages like python and C++, the choice to apply the program comes as a pragmatic choice that already leads to the intended results for the project. For the same reason, it is also an interesting possibility in regard of another softwares that also lead to a bigger democratization on the use of ML for the use of the artistic community in general (like the recently released Runway). Despite its potential limitations, the knowledge of concepts and general functioning of Machine Learning processes is also important for the optimization of results when working with Wekinator, which also makes it an outstanding appliance that can lead to a varied range of results according to the selected process of training (ex. Neural Networks or Polynomial Regression) and specified parameters.
Max-Wekinator-Max Connection 101
Max 1. Adress Inputs in Max/MSP | 2. Send to Wekinator through OSC
Wekinator 3. Open new project and start listening through selected OSC port | 4. Choose n. of Inputs | 5. Choose n. of Outputs / Port | 6. Record Examples according to intended training process | 7. Train Model | 8. Run Model (output already on Max)
Max 9. Receive Wekinator Outputs on Max through OSC | 10. Address outputs to specified objects on Max