mirror of
https://github.com/kennethreitz/interpretations.git
synced 2026-06-05 14:50:20 +00:00
2fbe7dab3ff4910da3aeda15cfef7687e5ba9b5b
Voltage: F minor, 138 BPM — raw oscillators, arp solos, 32nd note peak. The Dialogue: theremin octave up, sitar reverb tuned, house beat added. Raga Midnight: sitar reverb reduced. 3AM removed for rework. 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.
Tracks
- Raga Midnight — D Phrygian (Bhairavi), shruti just intonation, 90 BPM. Tabla, sitar, tambura, dhol. Hand-written tabla solo with tihai cadence.
- Culture Clash — D minor, 95 BPM. Didgeridoo drone, Rhodes, tabla with fills, sitar arps, NES Mario theme, Hotline Bling on steel drum, theremin solo, marching snare military finale with DCI cadence. 808 sub bass throughout.
- Chakra — Root to crown frequency activation journey. Shruti tuning at A=432 Hz. Ukulele opening, singing bowls, harmonium, tambura, sitar, theremin. Metric modulation tempo changes (60 → 90 → 108 → 135 BPM) ascending through seven chakras.
- Ghost Protocol — F minor, 128 BPM. Portishead-style dark Rhodes intro with trip-hop beat, morphing into a Strobe-inspired hypnotic build. Saw arp emerges, kick doesn't arrive until bar 49. NES square wave melody at the emotional peak.
- Acid Reign — A minor, 140 BPM. Dual 303 acid bass lines (saw + square) with resonant filter sweeps (Q up to 20). Cajon in cathedral reverb, Rhodes pad, 808 sub. Five hand-written groove patterns.
- Silk Road — D minor, 95 BPM. A caravan picking up musicians along the ancient trade route. Koto solo (China) → sitar + tabla (India) → mandolin + doumbek (Persia) → guitar + cajon (Mediterranean) → all together. Nobody leaves, everyone adds their voice.
- Deep Time — B minor, 40 BPM, just intonation. Ambient drone. Tingsha, rainstick, finger cymbals, singing bowls, didgeridoo, sine drones, harmonium, theremin, choir, cello. 7.5 minutes of deep listening.
- The Interruption — D minor, 85 BPM. A baroque harpsichord and string quartet playing beautifully. Then at bar 33, a drum & bass breakbeat slams in with sub bass and reese. The strings keep playing like nothing happened. The beat dissolves, the quartet wins.
- The Temple — A Phrygian (Bhairavi), 65 BPM, shruti just intonation, A=432 Hz. Devotional layers inside a vast stone chamber. Singing bowls, tambura drone, harmonium, sitar, bansuri, tabla. The reverb is the instrument. Everything enters slowly, sings together, then dissolves back into silence.
- The Dialogue — E Phrygian (Bhairavi), 75 BPM, shruti just intonation, A=432 Hz. Sitar (human) and theremin (machine) start alone, find each other through call-and-response, and become something neither could be on their own. House beat enters when they find the groove.
- Voltage — F minor, 138 BPM. Raw oscillators, nothing else. Sine sub, saw lead, pulse counter-rhythm. Rhythm is pitch. Saw arp solo, pulse arp solo, 32nd note chaos at the peak. Aggressive, monophonic, electric.
Usage
uv sync
Interactive player — pick a track, play/pause, seek:
uv run play.py
Play a specific track:
uv run play.py tracks/the_temple.py
Playback options:
uv run play.py tracks/acid_reign.py --from 17 --to 32 # measure range
uv run play.py tracks/the_temple.py --from-time 3:30 # seek to time
uv run play.py tracks/ghost_protocol.py --solo arp,kick # solo parts
uv run play.py tracks/deep_time.py --mute wind # mute parts
uv run play.py tracks/the_temple.py --pitch 440 # override tuning
uv run play.py tracks/acid_reign.py --bpm 160 # override tempo
uv run play.py tracks/silk_road.py --loop 3 # loop playback
Export & inspect:
uv run play.py tracks/raga_midnight.py -o raga.wav # export WAV
uv run play.py tracks/culture_clash.py --info # show metadata
uv run play.py tracks/the_interruption.py --parts # list parts
uv run play.py --list # list all tracks
Ctrl+C to stop playback.
See the changelog for detailed track history.
License
ISC
Languages
Python
93%
HTML
7%