# LaDoger music library > Public-domain and openly licensed music (classical first, by composer) for commercial and social video, with licence metadata and explicit caveats per item. Unverified rows are retained for research and are not cleared for publishing. Rows with a recording have a 15 s preview (score-only rows play the score MIDI instead), an editable score where one exists (MIDI / LilyPond / MusicXML), and, where available, a full recording (direct stream_audio_url and a GitHub Release copy). Previews are cut from real recordings only; no synth-rendered audio is hosted (score-only rows play their MIDI in the browser). Built for agents that need music for a video: find → download or render → trim → credit. Base URL: https://ladoger.github.io/music-library/ Every piece has a stable id (e.g. bach_bwv565_toccata) and a catalogue number (BWV 565, Op. 67, K. 525). Licence status per item (the most restrictive part wins): - clean: PD / CC0 / US-gov. Commercial use, no credit needed. - attribution: CC BY. Put credit_text in the video description. - sharealike: CC BY-SA somewhere (often only the score); remixes may inherit. Check recording_status / score_status. - flagged: known caveat; read legal_notes. - unverified: do not publish. Your own render of a score carries the score's licence (score_status), not the recording's. ## Data - Items with `licence_scope: "US-PD-only"` are US public domain (published before 1931) for LaDoger-approved composers who died 1930–1955; they stay `licence_status: flagged`. Composers who died ≤1955 are also PD in the EU/life+70 (badge "PD: EU + US (pre-1931 work)"); only Stravinsky, Prokofiev, Grechaninov, Sibelius, Villa-Lobos and Milhaud (died after 1955) get the "may be copyrighted elsewhere (incl. EU/Poland)" warning. Filter with Territory / `licence_scope`. - [catalog.json](https://ladoger.github.io/music-library/data/catalog.json): compact index; all URLs absolute; filter on licence_status, mood, energy, has_editable_score, editors_pick_rank, featured_rank (featured composer tier 1-4), composer_slug, licence_scope - [index/manifest.json](https://ladoger.github.io/music-library/data/index/manifest.json): slim sharded index the site loads (columnar parts ≤ 300 KB, relative URLs) - [items/.json](https://ladoger.github.io/music-library/data/items/bach_bwv565_toccata.json): full record per piece: legal_notes, credit_text, render_midi, notable_excerpt, video_use_ideas - [composers.json](https://ladoger.github.io/music-library/data/composers.json): composer index: slug, name, birth_year, death_year, era, genres, piece_count, piece_ids, portrait_url (PD/CC0 only) + licence - [library.json](https://ladoger.github.io/music-library/data/library.json): full site data (relative paths) - [Release audio-v1](https://github.com/LaDoger/music-library/releases/tag/audio-v1): full recordings (release_audio_url) ## Docs - [AGENTS.md](https://github.com/LaDoger/music-library/blob/main/AGENTS.md): licence rules and step-by-step recipes (find, download, fetch score, render with FluidSynth + FluidR3_GM, re-genre, trim, credit) - [README.md](https://github.com/LaDoger/music-library/blob/main/README.md): human overview, editor's picks for video, licence notes per piece - [SCHEMA.md](https://github.com/LaDoger/music-library/blob/main/SCHEMA.md): field definitions - [MCP plan](https://github.com/LaDoger/music-library/blob/main/docs/MCP_PLAN.md) ## CLI (python, stdlib only) git clone https://github.com/LaDoger/music-library && cd music-library && pip install -e . musiclib search --picks | musiclib search dramatic --clean | musiclib get | musiclib download --what recording|score musiclib render --start 0:30 --duration 30 --out clip.mp3 (needs fluidsynth, ffmpeg, /usr/share/sounds/sf2/FluidR3_GM.sf2) musiclib trim in.flac --start 1:42 --duration 30 | musiclib credit ## Optional - [Human site](https://ladoger.github.io/music-library/): composer index, composer pages (?composer=), all works (?view=works), search, filters, preview / full recording (real recordings) / in-browser MIDI synth playback; ?id= opens one piece - 2026-10-11 quality trim: 5,929 works by 237 composers. Removed ids and composers are listed in scripts/bulk/trim_removed_ids.txt and trim_skip_composers.txt; do not re-import them.