• English
  • Muse Player
    MXL/MusicXML Score Rendering & Playback

    Render sheet music to SVG via Verovio and play it back with realistic piano samples via Tone.js — all through React hooks.

    Muse PlayerMuse Player
    ⚛️

    React Hooks API

    Composable hooks for score loading, MIDI playback, note highlighting, auto-scrolling, and piano sampling. Consumes pre-rendered static assets — no client-side MXL parsing.

    🖨️

    Server-Side Rendering (Required)

    MXL files must be pre-rendered to static SVG + MIDI via Verovio WASM on Node.js. The browser only consumes these static artifacts — zero runtime rendering cost.

    ⚙️

    CLI Pre-rendering

    Use the muse-render CLI to batch-convert MXL files into ready-to-serve directories with SVG pages, MIDI data, and manifests.

    🎹

    Realistic Piano Audio

    Built-in piano sample loading with compressor and reverb effects chain via Tone.js. Covers 84 notes from C1 to B7.

    🎨

    Visual Note Highlighting

    Colored overlay rectangles highlight actively playing notes on the score — blue for right hand, red for left hand.

    📦

    Monorepo Architecture

    Five focused packages — core, component, server, cli, and instruments — each independently installable with clear responsibilities.