Bach to Basics
Copyright (c) 2025 gigliof

This product includes the following third-party components. Each is subject
to its own license terms; check the upstream project for the full text.

────────────────────────────────────────────────────────────────────────────
Bundled assets
────────────────────────────────────────────────────────────────────────────

frontend/public/soundfont/sonivox.sf3
    SONiVOX Embedded Audio Synthesis (EAS) soundfont, originally released
    as part of the Android Open Source Project under the Apache License 2.0.
    Used here as the AlphaTab playback soundfont.

────────────────────────────────────────────────────────────────────────────
Frontend dependencies (selected — full list in frontend/package.json)
────────────────────────────────────────────────────────────────────────────

  AlphaTab                 — MPL-2.0            (sheet music renderer)
  PixiJS                   — MIT                (WebGL renderer)
  Tone.js                  — MIT                (audio scheduling)
  smplr                    — MIT                (sample-based instruments)
  WebMidi.js               — Apache-2.0         (MIDI input)
  React                    — MIT
  Zustand                  — MIT
  Vite                     — MIT
  Tailwind CSS             — MIT

MPL-2.0 note: AlphaTab is consumed unmodified as an npm dependency. MPL-2.0
is per-file copyleft — if you modify AlphaTab's own source files you must
share those changes under MPL-2.0, but the rest of this codebase remains
under MIT.

────────────────────────────────────────────────────────────────────────────
Backend dependencies (selected — full list in backend/requirements.txt)
────────────────────────────────────────────────────────────────────────────

  music21                  — LGPL-3.0           (music theory + MusicXML)
  FastAPI                  — MIT
  defusedxml               — PSF-2.0
  pianoplayer              — MIT                (Parncutt fingering algorithm)
  yt-dlp                   — Unlicense          (YouTube audio extraction)
  pdf2image                — MIT
  Basic Pitch (optional)   — Apache-2.0         (audio → MIDI transcription)

LGPL note (music21): used as a pure Python library import, unmodified.

────────────────────────────────────────────────────────────────────────────
Optional external tools (NOT bundled — user installs separately)
────────────────────────────────────────────────────────────────────────────

  Audiveris 5.x            — AGPL-3.0           (PDF → MusicXML OMR)

Audiveris is invoked as a subprocess if the user places audiveris.jar at
backend/bin/. Because it's distributed separately by the user (and is
optional), the AGPL obligations apply only to anyone redistributing the
JAR or hosting Audiveris itself — not to this codebase.
