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.
