Skip to main content

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 configuration
  • lofi-beat.json - A realistic lo-fi hip-hop beat
  • full-coverage.json - Every field populated for reference

Related Projects

  • ableton-mcp-server - MCP server that exposes OSC tools to Claude
  • ableton-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)

Source distribution for song-schema 0.1.0
File Size Uploaded
song_schema-0.1.0.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for song-schema 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page