# Third-party notices

Waverify itself is (c) 2020-2026 Kris Jakob and licensed under the MIT License
(see `LICENSE.txt`). It includes or loads the following parts by others, which
keep their own licenses.

| Part | Used for | License | Where |
|---|---|---|---|
| **LAME** (MP3 encoder) | MP3 output in the Audio Normalizer | GNU LGPL 2.0 or later | `mp3-encoder.js`, `lame-wasm/` |
| **IBM Plex Sans**, **IBM Plex Mono** | all text | SIL Open Font License 1.1 | `fonts/` |
| **lamejs** (fallback MP3 encoder) | only if a browser lacks WebAssembly; loaded from a CDN, not shipped | GNU LGPL 3.0 | `vendor/lame.min.js` (optional) or jsDelivr / cdnjs |

## LAME - GNU LGPL 2.0 or later

`mp3-encoder.js` contains LAME (https://lame.sourceforge.io), (c) the LAME
developers, compiled to WebAssembly. The LAME sources are used unmodified from
https://github.com/rbrito/lame, commit `af98467` (the LAME 3.99.5 / 3.100 line).

- License text: `lame-wasm/COPYING` (GNU Library General Public License 2.0).
- Corresponding source and build: `lame-wasm/` holds Waverify's glue code
  (`wrap.c`, `libc.c`, `inc/`, `config.h`) and `build.sh`, which rebuilds
  `mp3-encoder.js` from the LAME sources above. The LAME sources themselves are
  available at the address above; on request they are also provided by the
  author of Waverify.
- `mp3-encoder.js` is a separate file loaded at run time. It can be replaced by
  a modified or newer build of LAME without changing anything else; the page
  loads whatever `mp3-encoder.js` it finds next to `normalizer.html`.

## IBM Plex - SIL Open Font License 1.1

IBM Plex Sans and IBM Plex Mono, (c) 2017 IBM Corp., with Reserved Font Name
"Plex". The font files in `fonts/` are unmodified. License texts:
`fonts/OFL-IBMPlexSans.txt`, `fonts/OFL-IBMPlexMono.txt`; overview in
`fonts/README.md`.

## lamejs - GNU LGPL 3.0

lamejs (https://github.com/zhuker/lamejs), a JavaScript port of LAME, is not
part of Waverify. Only where a browser cannot run WebAssembly, the Normalizer
loads it unmodified from `vendor/lame.min.js` (if you add it there) or from a
public CDN.
