OpenVoicing Launch the app →

Open-source living sheet music Alpha

Notation that plays, slows down, and syncs to real recordings.

OpenVoicing turns a score into something you can practice with and share, built on an open file format you own and can keep. Free and open source.

This is an early alpha. The core is working and genuinely useful, but expect rough edges and changes as it develops.

01 / Try it Launch the app → View source

See it work

The player below is a real OpenVoicing embed: Bach's Invention No. 8, the notation synced to a harpsichord recording.

Press play and drop the speed to 50%; the pitch stays put. ⚲ for fullscreen. See a guitar tab follow a YouTube video →

Now edit it

The same piece is fully editable: notes, voices, ornaments, dynamics. It's a real editor, not a viewer.

The OpenVoicing editor: the edit toolbar with note-value and pitch controls, editing Bach's Invention No. 8
Click a note and type A–G; autosaves as you go. Open this piece in the editor →
01

An open format, not a hosted service

Every piece is a self-contained .ovb file holding the score, its recordings, and the sync map. You own it, host it anywhere, and the player is just static files. No account, no lock-in.

Why an open format →
02

Practice, not just playback

Slow a passage down without changing pitch, loop it, add a count-in, and follow a metronome. The tools you actually reach for when learning a piece.

How to practice with it →
03

Sync to a recording, or a YouTube video

Line a real performance up with the score, bar by bar, so playback follows the notation, and you can loop and slow the real thing. It works with an audio file or a YouTube video (a lesson or a performance), the notation following along as it plays.

Play along with a recording →
04

A real editor, and it's yours to keep

Import MusicXML or Guitar Pro, edit notes, voices, ornaments, and dynamics, then export a portable bundle that plays the same everywhere, forever.

Import and edit your own music →

Embed anywhere

Put any piece on your own site.

Host a bundle anywhere static, drop in the script, and point a div at it. That's the whole integration. The same player you see above.

<script src="https://your-host/openvoicing-embed.js"></script>
<div data-openvoicing-bundle="https://example.com/tune.ovb"></div>
How to publish and embed →
For musicians

Load, practice, edit.

Open a piece and start playing. No sign-up.

Get started →
For self-hosters

Deploy and embed.

Static hosting, an open format, an embed SDK.

Publish and embed →
For developers

Open source.

MIT licensed. Use it anywhere, including commercially.

How the licensing works →