Creative Coding for Interactive Art
Lecture notes and [resources] for the courses I teach
at the ITPMA M.A. @UNATC.
Permanent work-in-progress. See my [musings] on what it’s all about.
Fundamentals
Building up a set of skills and tools to start your creative coding practice.
| Processing & p5js | Bitsy & PICO-8 | Extensions | Python | |||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Intro to CC for IA | slides | Intro to Game Dev | slides | Visualization | Practical Python | slides | ||||
| Basics | slides | Bitsy and variables | slides | Sound | More Python | slides | ||||
| Finite State Machines | slides | PICO-8 and FSMs | slides | Physical computing | slides | [TouchDesigner and Python] | ||||
| Loops | slides | Functions | slides | Feeds, APIs, Node.js | slides | |||||
| Arrays | slides | Loops | slides | Advanced OOP | slides | |||||
| Functions | slides | Arrays / Tables | slides | |||||||
| Objects | slides | Objects / Metatables | slides |
Real-time systems
Prototyping interactive systems with dataflow languages and game engines. The focus is on nimble, experimental iteration.
| Visual programming | Game engines | |||
|---|---|---|---|---|
| [Intro to real-time systems] | slides | Debugging and version control | slides | |
| [Data and signal flow] | slides | [From Processing to Unity] | slides | |
| [Control] | slides | [OSC in Unity] | ||
| OSC and Node in Max | slides | Procedural audio in Unity | slides | |
| Signal analysis | slides | |||
| Generative processes | slides |
Machine learning
Creating rich mappings and outputs using interactive and deep machine learning.
| Wekinator | Code | Deep learning | ||||||
|---|---|---|---|---|---|---|---|---|
| Intro to ML for IA | slides | ml5.js: transfer learning | slides | GANs: datasets & training | slides | |||
| Classification. kNNs | slides | Python: numpy, scikit.learn | colab | [GANs: interactive inference] | slides | |||
| Regression. Neural nets | slides | PyTorch and fast.ai | ipynb | RNN&co: language | slides | |||
| Temporal modelling | slides | PyTorch: training a VAE | Diffusion | slides | ||||
| Unsupervised learning | slides | RNN&co: music | slides |
Interactive music systems
Tools and techniques dealing with sounds and events in time.
| Max for Live | Live coding | Reactive programming | ||||||
|---|---|---|---|---|---|---|---|---|
| Intro to IMS | slides | SuperCollider | slides | Live electronics | ||||
| Interactive devices | slides | Sonic Pi | Antescofo basics | slides | ||||
| The M4L API | slides | TidalCycles | Advanced Antescofo | slides | ||||
| Interactive spatialisation | slides | Real-time RNN music |