How gclef-cmu/icm-web works
This repository is the source for CMU’s Intro to Computer Music course site and textbook. A learner enters through the site, reads course or book material, and can run notebook cells in-browser; the live-code path boots a browser Python kernel and renders interactive outputs. Other documented branches provide Pyquist documentation, pre-rendered animations, and audio media. The README describes generated course and Pyquist content, while sampled source confirms parts of the live-cell, plotting, animation, and audio behavior; links not supported by that evidence are omitted.
Main entry points: README.md Course site · live-cells.js Live cell runtime · book Textbook chapters · icm_showcase.py Course showcase
Components 16
Course and textbook
- Course site
README.md - Course materials
icm-f26 - Textbook chapters
content/book - Authoring templates
content/templates - Pyquist docs
content/pyquist - Chapter content source
tools/split_chapters.py
Interactive learning
- Runnable notebooks
content/templates/template-interactive - Live cell runtime
_static/live-cells.js - Browser Python kernel
_static/live-cells.js - Interactive plotting
tools/icm_plotly/icm_plotly.py - Pyquist library
pyquist
Media and authoring
- Audio playback
_static/audio-chip.js - Audio directives
_ext/icm_audio.py - Course showcase
_ext/icm_showcase.py - Animation clips
tools/icm_anim/icm_anim.py
Other components
- Learner
Connections 14
- Learner → Course site: opens
- Course site → Course materials: serves
- Course site → Textbook chapters: serves
- Course site → Authoring templates: serves
- Course site → Pyquist docs: serves
- Runnable notebooks → Live cell runtime: mounts cells
- Live cell runtime → Browser Python kernel: boots on run
- Live cell runtime → Interactive plotting: renders outputs
- Live cell runtime → Pyquist library: installs when used
- Audio directives → Audio playback: emits controls
- Course showcase → Audio directives: uses controls
- Course showcase → Audio playback: wires media
- Chapter content source → Textbook chapters: generates chapters
- Textbook chapters → Animation clips: includes clips