# Third-party notices Opusseeker uses the following software and model assets, served from the same website as the application. The build does not load third-party scripts or model files from a CDN in visitors' browsers. - **Spotify Basic Pitch** and its ICASSP 2022 model: Copyright 2022 Spotify AB, Apache License 2.0. Model assets are extracted from the pinned npm package `@spotify/basic-pitch@1.0.1`. Sources: https://github.com/spotify/basic-pitch-ts and https://github.com/spotify/basic-pitch/tree/v0.4.0. - `web/lib/notes.mjs` and `web/lib/inference.mjs` are modified JavaScript ports of the Python Basic Pitch 0.4.0 inference and note-creation routines. They preserve the server's thresholds, overlap handling, and time conversion. Inference releases intermediate tensors and note extraction avoids repeatedly scanning the full activation matrix. Pitch bends are omitted because the catalogue matcher uses MIDI pitches and note onsets. - **TensorFlow.js** and its WebAssembly backend, version 4.22.0: Copyright Google LLC, Apache License 2.0. Source: https://github.com/tensorflow/tfjs. - The tuning algorithm and profile reference were copied, with the repository owner's permission, from their `pianosearch` repository at revision `ec343931bf554a0ebddc29986a5b17ae44c5edcb`. The original reference files are in `vendor/reference`. `web/lib/dsp.mjs` ports the estimator to JavaScript; its windowed-sinc resampler differs numerically from the Python libsoxr resampler. See `docs/transcription.md` for validation and limitations. The Apache 2.0 license is included in `vendor/licenses/Apache-2.0.txt` and in the built website. Any notices or license files distributed with the downloaded runtime packages are retained alongside them. Package integrity and individual asset SHA-256 hashes are recorded in each release's `build-manifest.json`. ## Piano playback samples **Salamander Grand Piano**, recorded by **Alexander Holm** on a Yamaha C5, is licensed under [Creative Commons Attribution 3.0](https://creativecommons.org/licenses/by/3.0/). We use the 30 MP3 recordings in the Tone.js audio collection at commit `efd8296360f9526e379bfbe5c1698ff54d6a1d34`: https://github.com/Tonejs/audio/tree/efd8296360f9526e379bfbe5c1698ff54d6a1d34/salamander. The upstream author/license README accompanies the samples at `vendor/piano/README` in the built site. Original MP3 files are redistributed unchanged and checked against `vendor/piano.lock.json`. During browser playback we resample to 24 kHz, mix to mono, limit tails to 12 seconds with a fade, and adjust pitch and volume. These recordings replace the previous oscillator-based piano approximation.