mirror of
https://github.com/kennethreitz/interpretations.git
synced 2026-06-05 23:00:19 +00:00
710e31791f
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
72 lines
3.8 KiB
Markdown
72 lines
3.8 KiB
Markdown
```
|
|
_ _ _ _ _
|
|
(_)_ __ | |_ ___ _ __ _ __ _ __ | |_ __ _| |_(_) ___ _ __ ___
|
|
| | '_ \| __/ _ \ '__| '_ \| '__/ _ \ __/ _` | __| |/ _ \| '_ \/ __|
|
|
| | | | | || __/ | | |_) | | | __/ || (_| | |_| | (_) | | | \__ \
|
|
|_|_| |_|\__\___|_| | .__/|_| \___|\__\__,_|\__|_|\___/|_| |_|___/
|
|
|_| ~ written in python ~
|
|
```
|
|
|
|
# Interpretations
|
|
|
|
An album of compositions written in Python using [pytheory](https://github.com/kennethreitz/pytheory).
|
|
|
|
Each track is a `.py` file. Run it to hear it.
|
|
|
|
## Tracks
|
|
|
|
1. **Raga Midnight** — D Phrygian (Bhairavi), shruti just intonation, 90 BPM. Tabla, sitar, tambura, dhol. Hand-written tabla solo with tihai cadence.
|
|
2. **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.
|
|
3. **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.
|
|
4. **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.
|
|
5. **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.
|
|
6. **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.
|
|
7. **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.
|
|
8. **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.
|
|
9. **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.
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
uv sync
|
|
```
|
|
|
|
**Interactive player** — pick a track, play/pause, seek:
|
|
|
|
```bash
|
|
uv run play.py
|
|
```
|
|
|
|
**Play a specific track:**
|
|
|
|
```bash
|
|
uv run play.py tracks/the_temple.py
|
|
```
|
|
|
|
**Playback options:**
|
|
|
|
```bash
|
|
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:**
|
|
|
|
```bash
|
|
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.
|
|
|
|
## License
|
|
|
|
ISC
|