Skip to main content

Pydantic models for defining Ableton Live song configurations

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

song_schema-0.1.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

song_schema-0.1.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file song_schema-0.1.0.tar.gz.

File metadata

  • Download URL: song_schema-0.1.0.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.7 Darwin/25.2.0

File hashes

Hashes for song_schema-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ed1e98b3c4edf1235029d60dfa10c1781d5c3f22e061d2332af7db9ea26e1699
MD5 da4f403b52092c5bdc2e33b897fd00a9
BLAKE2b-256 e641852aa312b7f3fbaf412288c4bd61ec32366c258fb36a2d4a460171e93a13

See more details on using hashes here.

File details

Details for the file song_schema-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: song_schema-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.7 Darwin/25.2.0

File hashes

Hashes for song_schema-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2ecbb275bea1d85bb97a9bdb2cb9a83d2aeaa1f3de65c888463bb24b2a805873
MD5 0d3cc707c5bcc5f6150ec9c070847b78
BLAKE2b-256 a8913a84216beb65ac1c8b8fe6ac2b26ec22f09d6cee102bdeccf36c6621fd54

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page