mirror of
https://github.com/kennethreitz/interpretations.git
synced 2026-06-05 06:46:15 +00:00
d0661759e58d93082080c26f49bc2d1d51e7c0b9
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
_ _ _ _ _
(_)_ __ | |_ ___ _ __ _ __ _ __ | |_ __ _| |_(_) ___ _ __ ___
| | '_ \| __/ _ \ '__| '_ \| '__/ _ \ __/ _` | __| |/ _ \| '_ \/ __|
| | | | | || __/ | | |_) | | | __/ || (_| | |_| | (_) | | | \__ \
|_|_| |_|\__\___|_| | .__/|_| \___|\__\__,_|\__|_|\___/|_| |_|___/
|_| ~ written in python ~
Interpretations
An album of compositions written in Python using pytheory.
Each track is a .py file. Run it to hear it.
Usage
uv sync
uv run play
On first run, you'll be prompted to render all tracks to WAV (parallel, ~3-4 min). After that, playback is instant.
Interactive player — animated track picker with album order:
uv run play # pick from list
uv run play tracks/the_temple.py # play specific track
Picker controls:
| Key | Action |
|---|---|
↑/↓ |
Navigate (wraps around) |
Enter |
Play track (from WAV cache if available) |
r |
Render selected track to WAV |
a |
Play all tracks in album order |
R |
Render all tracks (4 parallel workers) |
q |
Quit |
Playback options:
uv run play tracks/acid_reign.py --from 17 --to 32 # measure range
uv run play tracks/the_temple.py --from-time 3:30 # seek to time
uv run play tracks/ghost_protocol.py --solo arp,kick # solo parts
uv run play tracks/deep_time.py --mute wind # mute parts
uv run play tracks/the_temple.py --pitch 440 # override tuning
uv run play tracks/acid_reign.py --bpm 160 # override tempo
uv run play tracks/silk_road.py --loop 3 # loop playback
Export & inspect:
uv run play tracks/raga_midnight.py -o raga.wav # export WAV
uv run play tracks/the_interruption.py --info # show metadata
uv run play tracks/the_interruption.py --parts # list parts
uv run play --list # list all tracks
Ctrl+C to stop playback.
See the changelog for detailed track history.
Tracklist
| # | Track | Key | BPM | Tuning | Vibe |
|---|---|---|---|---|---|
| 1 | Raga Midnight | D Phrygian | 90 | shruti / just | Sitar raga with 808 drop |
| 2 | Shruti Lofi | D minor | 75 | shruti / just | Microtonal lo-fi hip hop |
| 3 | Ghost Protocol | F minor | 128 | equal | Trip-hop → trance build |
| 4 | Silk Road | D minor | 95 | equal | World music caravan |
| 5 | The Observatory | G minor | 112 | equal | Chapel through shortwave |
| 6 | Acid Reign | A minor | 140 | equal | Dual 303 acid |
| 7 | Beast Mode | G minor | 135 | equal | Trap + sitar hook |
| 8 | Apex | Eb minor | 140 | equal | The fastest, the hardest |
| 9 | Voltage | F minor | 138 | equal | Raw oscillators |
| 10 | An Exception Occurred | Eb major→minor | 80 | equal | Mental health arc |
| 11 | Voices | F# minor | 65 | equal | Auditory hallucinations |
| 12 | Intrusive | Bb minor | 92 | equal | Invasive thoughts |
| 13 | Gravity | C minor | 88 | equal | Hip hop + eastern |
| 14 | The Interruption | D minor | 85 | equal | String quartet vs DnB |
| 15 | Sleight of Hand | D minor | 100 | equal | Nine genre shifts |
| 16 | Waveforms | F minor | 118 | equal | Synth showcase |
| 17 | Emergence | E minor | 100 | equal | Acoustic births electronic |
| 18 | Chakra | G→C→E major | 60→135 | shruti / A=432 | Root to crown journey |
| 19 | The Temple | A Phrygian | 65 | shruti / A=432 | Devotional reverb |
| 20 | The Dialogue | E Phrygian | 75 | shruti / A=432 | Human + machine |
| 21 | Cathedral | D minor | 60 | equal | Ancient stone |
| 22 | Tape Memory | Db minor | 90 | equal | Mellotron + new synths |
| 23 | Music Box Factory | G major | 108 | equal | Tuned percussion only |
| 24 | Deep Time | B minor | 40 | just | 7.5 min ambient drone |
License
ISC
Languages
Python
93.1%
HTML
6.9%

