Getting started . Useful tools . Research . Processing . Max/Pd . Machine learning . Misc

Getting started

Coding . Graphics . Audio . Signals . Student work

Coding

Learn to code tutorial. Game engine-based, but the principles apply to any creative coding.

For a more systematic intro to programming, try the CS50 online course from Harvard, or the Automate the Boring Stuff with Python book.

Books and videos by the indefatigable Daniel Shiffman, an essential resource.

Creative coding intros, using JavaScript, p5 etc: Allison Parrish, Daniel Shiffman, Jared Donovan

Practical Python course by David Beazley.

Preparation Course for Python by Meinard Müller et al. A solid introduction to programming via Python, notebooks, and towards numbers and [signals].

Collision Detection introductory book by Jeff Thompson, with Processing implementations. See also the resulting p5.js library.

Graphics

Programming Design Systems book by Rune Madsen, on the foundations of code-based graphic design.

Audio

Free Audio Resources, game-oriented but generally useful

Learning Music interactive tutorial @ Ableton

An Introduction to Creative Artificial Intelligence for Music by Kıvanç Tatar, a quick tour of the world of (musical) metacreation.

Signals

Seeing circles, sines and signals by Jack Schaedler, a visual introduction to digital signal processing.

Learning resources @ FluCoMa, geared towards sound anaylsis, decomposition, recombination.

Student work

Plagiarism – know what it is, and how to avoid it. Whenever in doubt, ask your prof.

How to present a student software project guide by Charles Martin. See also the resources on Git et al below.

Useful tools

Editors . Git and Github . OSC

Flowcharts! Any interactive project needs at least one, even if it’s just in your head. Here’s one tutorial. There are about a million online flowcharting tools out there.

Editors

VS Code by ms. Quick & powerful; my main editor these days.

Sublime Text - my previous go-to editor. Great swiss army knife for code and text.

Atom by github.

Git and GitHub

OpenSoundControl

Official OSC website

What is OSC? @ TWO, a powerful OSC sequencer and control system.

Useful Max packages: CNMAT, odot, modosc (mocap).

Sequencing apps: ossia score, IanniX, Open Stage Control, TWO

Apps for sending device sensor data: Syntien (iOS), oscHook (Android), Sensors2OSC (Android).

Other mobile apps: TouchOSC, VideOSC, MobMuPlat (w/ Pd) etc.

Other telematic tools: Jamulus & JackTrip (audio), RTP-MIDI, Web MIDI.

Research

Conferences . Journals

Conferences

Journals

Processing

Mozilla tutorials for getting started with the web, HTML, CSS, JavaScript – useful for p5.js beginners and intermediates alike.

dwitter: p5.js in 140 characters or less.

Generative algorithms collection by Julien Gachadoat.

Max/Pd

Max . Pure data . Related communities

Sound / synth design: Puckette book (Pd) and Max ports; Farnell book (Pd) and Max ports

More music books: Sweet Anticipation, Curtis Roads, Sonic Writing

Computer music classes by Henrik von Coler, a great supplement to this site.

Max

Learning . Externals

Learning

20 Objects course for learning Max, one “bellwether” object at a time.

Practical starting guide to Max/MSP/Jitter.

Computer Music Programming website and course by Christopher Dobrian, who is responsible for some of the very first Max tutorials.

Max for the Visual Arts package (also available through the Package Manager)

Delicious Max Tutorials, my favourite Youtube playlist of Max tutorials. Not for absolute beginners; check it out once you’ve absorbed the basics.

Amazing Max Stuff Youtube channel: good Jitter resource.

Node for Max intro @ Cycling ‘74.

gen~ for Beginners: a place to start @ Cycling ‘74.

MOOCs: Programming Max, Generative Art and Computational Creativity

Externals

interactive sequencing: Max for Live, OSC sequencer apps

interactive synthesis: MuBu

reactive programming: Antescofo

spatialisation: Spat, ICST Ambisonics

See also: machine learning Max tools

Pd

Tutorial playlist by Dr. Rafael Hernandez aka cheetomoskeeto.

Classes (w/ video) taught by MSP at UCSD.

Programming Electronic Music in Pd tutorial book.

Unofficial Manual @ FLOSS.

Live Electronics Tutorial using Pd and the ELSE library by Alexandre Porres.

Music patches by Martin Brinkmann.

FluCoMa - the Fluid Corpus Manipulation toolbox for Max, Pd and SuperCollider

Machine learning

Courses . Tools . Datasets

Courses

R. Fiebrink’s MOOC / mimic for interactive machine learning in music and art.

Gene Kogan +, Yining Shi, Derrick Schultz and Lia Coleman, Daniel Shiffman for ML / deep learning in digital arts.

HuggingFace for text generation / NLP with deep learning.

MIT 6.S192: Deep Learning for Art, Aesthetics, and Creativity intro / general course.

fast.ai / fastbook (Jeremy Howard) for deep learning. Related: the Dive into Deep Learning book.

A. Ng’s machine learning MOOC where it all (?) started.

Tools

Wekinator for interactive ML (see also Sound Control and InteractML, also by Rebecca Fiebrink et al)

FluCoMa for supervised and unsupervised learning in Max, Pd and SuperCollider. See also a guide on how to learn/teach FluCoMa.

ml.star for basic interactive ML in Max.

ML Audio Salad for unsupervised learning in Max.

MuBu for Max also does interactive ML among other things.

fastai / PyTorch for coding your own deep learning models.

ml5 / Tensorflow.js for working with deep learning online.

Runway offers a code-less (interactive) deep learning experience.

Google Colab and an alternative cloud GPU solution, Paperspace Gradient.

Datasets

Misc

TouchDesigner learning resources and documentation. More links for TD+python [here].

HAP is a video format optimised for real-time playback. It’s super easy to convert your videos to HAP, highly recommended.

Live coding environments: Supercollider, Sonic Pi, TidalCycles, Hydra … and the book.

Constraint Systems by Grant Custer: “alternative interfaces for creating and editing images and text”.

vvvv, a(nother) visual, node-based environment. Mostly used for visuals.

tixy.land by Martin Kleppe: when all you need is (t)ime, (i)teration, and the (x,y) plane.

mmm: visual drag&drop webpage maker.

Awesome Creative Coding: more creative coding resources “primarily for beginners/intermediates”.

Newsletters etc: Lynn Cherny’s Things I Think Are Awesome, Niall Moody’s here and then gone, Guy Parsons’ prompt/response.

- Grigore Burloiu