AIM stands for Attribution & Ingestion Manifest for Music.
AIM is an open specification for media engineering packages that support:
- scorable karaoke and vocal coaching workflows
- AI-editable audio workflows
- WEB multi-track playback
- disclosure-ready downstream rights and provenance workflows
The current published specification in this repository is AIM 1.20.0 (Final).
AIM is a package format centered on a single authoritative manifest, structured references, edit metadata, provenance pointers, rights policy, and profile-based conformance rules for writers, readers, and validators.
AIM is designed for workflows where audio is not just a file to play, but an engineering package that may also include:
- multi-track audio assets
- lyric timing references
- pitch and rhythm references for scoring
- edit lineage and AI process metadata
- preview assets and waveform indexes
- package identity and rights metadata
- provenance pointers and disclosure references
- profile-based interoperability declarations
spec/
AIM_1.20.0.md
examples/
packages/
minimal_multitrack/
minimal_web_streaming/
minimal_karaoke/
minimal_ai_editable/
minimal_disclosure_ready_ai_generated/
minimal_disclosure_ready_no_ai/
minimal_signed_attached/
README.md
announcements/
github_release_v1.20.0.md
launch_post_long.md
launch_post_short.md
checklists/
release_checklist.md
tools/
validate_examples.py
validate_examples_output.txt
CHANGELOG.md
FAQ.md
RELEASE_NOTES_v1.20.0.md
ROADMAP.md
VERSIONING.md
This repository is still a spec-first release.
That means:
- the specification is public now
- example AIM packages are included now
- a small non-normative checker for bundled examples is included now
- converter, player, validator, and editor implementations may be released later as separate or follow-up projects
The bundled example packages are aligned with the main minimum subsets defined by the specification:
- minimal multi-track playback
- minimal WEB streaming
- minimal karaoke scoring
- minimal AI-editable package
- minimal disclosure-ready package with AI-generated content
- minimal disclosure-ready package with explicit no-AI declaration
- minimal signed-attached package structure
These examples are intended to help implementers understand package layout, manifest structure, profile declarations, and minimum required references.
- Read
spec/AIM_1.20.0.md. - Inspect the example packages under
examples/packages/. - Run
tools/validate_examples.pyto check the bundled examples. - Use the examples as reference material when building a writer, reader, validator, converter, player, or editor.
This repository is for the AIM specification itself.
It is the right place for:
- specification issues
- clarification requests
- change proposals
- example package discussion
- conformance and interoperability questions
It is not intended to be the permanent home for all future AIM applications. Reference tools may be published separately.
AIM specification versions use SemVer.
The current release is v1.20.0. Future updates should preserve a clear changelog and release note trail so implementers can track compatibility expectations over time.
This repository uses a split-license model:
- Specification and documentation are licensed under CC BY 4.0.
- Code, scripts, implementation helpers, and example AIM packages are licensed under Apache-2.0.