Recommended Software

As mentioned in the Overview this course can be completed without coding or using any of this software listed below. If you have taken some of the related courses offered at or PCC perhaps you might want to dig into some of the labs. The labs use software from this list and we’ve also included some relevant tools not used explicitly.

  • Wekinator (Real-Time, Interactive Machine Learning)

“The Wekinator is free, open source software originally created in 2009 by Rebecca Fiebrink. It allows anyone to use machine learning to build new musical instruments, gestural game controllers, computer vision or computer listening systems, and more.”

We like Wekinator becuase it has a Graphical User Interface (no programming) and communicates with almost any other tool via Open Sound Control or OSC.

The Processing Foundation is probably a big reason why a whole ‘generation’ of artist/coders broke into programming. While Processing and p5.js aren’t exactly machine learning tools, they often provide a familiar intermediary for little tasks like interfacing with a camera or sensor and preprocessing data. p5/ml5 javascript libraries go even further into building machine learning frameworks from scratch.

Max/MSP is a node based graphical programming environment for digital audio and MIDI that is also not explicitly for machine learning, but has several machine learning specific libraries. It is free to download but you won’t be able to save anything without a license. It is included here because it is widely used both in and PCC related courses and in the creative coding world at large.

Intermediate Level Software

The larger Machine Learning framework revolves around the Python programming language (or javascript) along with several key libraries. We introduce the list below toward the end of the course to develop a picture of why they are widely used in the field. Familiarity with the following tools will support further learning:

  • Python or javascript
  • Git/Github
  • Docker
  • SSH
  • Using the Terminal (BASH or similar)
  • Linux (Operating System)