System Requirements¶
The course assignments and sample code assume the availability of various open-source and commercial software tools. Your exact needs may vary, but the following notes may help with configuring a personal or cluster machine to support the course.
The general needs are as follows:
Python 3 core system
additional Python 3 packages: PyQt5, NumPy, python-rtmidi, python-osc
Python-aware text editor (e.g. IDLE, XCode, Sublime Text, vim, Emacs)
Optional needs include:
Max/MSP
Arduino IDE
git client
MIDI sequencer (e.g. Ableton Live, Apple Logic, lmms)
Notes:
Python is used for a variety of performance and debugging needs: translating MIDI events to hardware, programming algorithmic motions and patterns, building user interfaces.
Max/MSP is an alternative programming environment for those who like it; it could replace most of the Python usage.
The MIDI sequencer is used for performance capture and editing.
The Arduino IDE is optional, but suggested for students extending the low-level platform firmware to develop new motion primitives.
git is optional, but suggested for students wanting to use the private course git repository for version control.
macOS MacPorts Python¶
The recommended Python solution is installing via MacPorts. Anaconda will probably also work but has not been tested under macOS. Similar packages are available via HomeBrew but have not been tested.
MacPorts is an open-source package installation system for macOS. Effective use of MacPorts requires some willingness to use the command line (e.g. Terminal.app). The MacPorts Quickstart instructions are the best reference for initial installation.
The following command line will then install all additional packages required by the course examples. Note that you may see many other packages installed by MacPorts as it automatically installs packages required by the ones you specify:
sudo port install python37 py37-pip py37-future py37-serial py37-numpy py37-pyqt5 qt5-mac
You will also need some additional packages via pip:
pip-3.7 install python-osc python-rtmidi
Windows Anaconda Python¶
The recommended Python 3 solution on Windows is Anaconda, a Python distribution for Windows, Mac or Linux which includes a package manager and comprehensive package system. The installer will include many third-party packages in the default installation, notably PyQt5 and numpy. We recommend it over the Python.org distribution because these third-party packages make it more immediately usable.
You will need additional packages via pip. If you launch the command window via Navigator:
pip install python-osc
pip install python-rtmidi
It is also recommended to install loopMIDI for virtual MIDI ports.
Ubuntu Linux Python¶
This following assumes you are running Ubuntu 18.04, but should work similarly on other Ubuntu versions or other Debian-based distributions. The chief difference may be the most recent available Python version.
The following will install packages from the command line:
sudo apt-get update
sudo apt-get install libasound2-dev libjack-dev python3-pyqt5.qtserialport
sudo apt-get install lmms
sudo apt-get install minicom
pip3 install python-osc python-rtmidi