Releases: kennethreitz/ableton-pytheory
pytheory 0.4.1
What's new
Reharmonize… — a new command on MIDI chord clips, built on PyTheory 0.54's reharmonize_progression. It clusters the clip into chords, detects the key, and reworks the progression with the technique you pick:
- Secondary dominants — inserts the cycle-of-dominants (e.g. C·Am·F·G → C·E7·Am·C7·F·D7·G)
- Tritone substitution — on the dominants
- Diatonic swap
The new progression is laid evenly back across the clip and written in place; the dialog reports the technique, key, chord-count change, and the resulting chords.
Bundles PyTheory 0.54.1.
Install
Download pytheory-0.4.1.ablx below and open it in Ableton Live 12 (Extensions enabled in prefs).
pytheory 0.4.0
What's new
Refreshed synth engine — bundles PyTheory 0.54.1. Everything the extension renders (Render to Audio, Apply Effects, the raga audio) now runs on the newer engine: a stereo-linked master bus with a soft-knee limiter, a DC-blocked master, deterministic synths with cached note waveforms (faster, repeatable renders), and cached convolution impulse responses (plus the mono-"stereo" reverb fix).
Hall reverb. The Apply Effects reverb picker gains the hall convolution space alongside the existing algorithmic plate and the other IRs.
Install
Download pytheory-0.4.0.ablx below and open it in Ableton Live 12 (Extensions enabled in prefs).
pytheory 0.3.0
What's new
Apply Effects on any audio clip. Right-click an audio clip → Apply Effects… and run it through pytheory's effect chain onto a new audio track. A dialog of sliders (with live value readouts) exposes the effects pytheory offers with parameters:
- Reverb — mix + space (algorithmic, or any of the 7 convolution IRs: Taj Mahal, cathedral, plate, spring, cave, parking garage, canyon)
- Delay — mix + feedback
- Lowpass / Highpass — cutoff + Q
- Distortion — mix + drive
- Chorus — mix
Set any mix to 0 to skip it. Stereo is preserved, the source is resampled to 44.1 kHz when needed, and reverb/delay tails ring out past the clip's end. Works on WAV clips directly and renders other formats / arrangement clips first.
Bundles pytheory 0.53.1.
Install
Download `pytheory-0.3.0.ablx` below and open it with Ableton Live 12 (Extensions enabled in Live's preferences).
pytheory 0.2.0
PyTheory inside Ableton Live — this release brings the new harmony tools from PyTheory 0.53 into the extension.
What's new
Negative Harmony now routes through PyTheory's own code path. Each note is reflected via Chord.negative_harmony, and the dialog now also tells you the bridge chord — the negative dominant that links the two harmonic families (e.g. in C, that's Fm).
Generate Raga… (new). A clip-slot command built on PyTheory 0.53's Raga API: pick a raga and a Sa, and it lays the aroha (and avaroha) out as a MIDI clip. 36 ragas across all ten thaats — Yaman, Bhairav, Bhairavi, Todi, Malkauns, Bhimpalasi, Darbari, and more.
Suggest Next Chord is now harmony-aware. Alongside the corpus ranking, each suggestion is tagged with its harmonic function (tonic / subdominant / dominant), the key's diatonic chords are grouped by function so you can see which are interchangeable, and a "Modulate (circle of fifths)" section shows the two neighbouring keys a fifth away and the chords they share as pivots.
Bundles PyTheory 0.53.1.
Install
Download pytheory-0.2.0.ablx below and open it with Ableton Live 12 (Extensions must be enabled in Live's preferences).
pytheory 0.1.2
Second permission-model fix for installed builds: Node propagates the permission model to child processes without the parent's allow-lists, so the Python runtime couldn't read the extension's own files (Use --allow-fs-read…). The runtime child now runs with explicit scopes. Supersedes 0.1.0/0.1.1.
🤖 Generated with Claude Code