Song Schema
Pydantic models for defining Ableton Live song configurations.
Overview
This package provides a comprehensive schema for defining songs as JSON configurations that can be executed against Ableton Live via the OSC API.
Installation
poetry install
Usage
from song_schema import SongConfig
from song_schema.validate import validate
# Load a song configuration
song = SongConfig.load("examples/lofi-beat.json")
# Validate it
result = validate(song)
print(result.summary())
# Access properties
print(f"Tempo: {song.metadata.tempo}")
print(f"Tracks: {list(song.tracks.keys())}")
# Save changes
song.save("my_song.json")
Schema Structure
- metadata: Tempo, key, scale, time signature, groove, loop settings
- structure: Song sections (intro, verse, chorus, etc.) mapped to Ableton scenes
- tracks: MIDI/audio tracks with devices, clips, and mix settings
- mixing: Return tracks and master processing chain
Examples
See the examples/ directory:
minimal.json- Simplest valid song configurationlofi-beat.json- A realistic lo-fi hip-hop beatfull-coverage.json- Every field populated for reference
Related Projects
ableton-mcp-server- MCP server that exposes OSC tools to Claudeableton-osc-client- Python client for AbletonOSC
Metadata
Release files for song-schema 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| song_schema-0.1.0.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| song_schema-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.2 kB
Release files / song_schema-0.1.0.tar.gz
| Download URL | song_schema-0.1.0.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed1e98b3c4edf1235029d60dfa10c1781d5c3f22e061d2332af7db9ea26e1699
|
|
BLAKE2b-256 checksum How to use checksums |
e641852aa312b7f3fbaf412288c4bd61ec32366c258fb36a2d4a460171e93a13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.13.7 Darwin/25.2.0
|
Release files / song_schema-0.1.0-py3-none-any.whl
| Download URL | song_schema-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ecbb275bea1d85bb97a9bdb2cb9a83d2aeaa1f3de65c888463bb24b2a805873
|
|
BLAKE2b-256 checksum How to use checksums |
a8913a84216beb65ac1c8b8fe6ac2b26ec22f09d6cee102bdeccf36c6621fd54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.13.7 Darwin/25.2.0
|