MP3 encoding uses LAME, a project by the LAME developers, through the unmodified @breezystack/lamejs 1.2.7 JavaScript port by Alex Zhukov and contributors. LAME project: https://lame.sourceforge.io/ Port: https://github.com/gideonstele/lamejs Published package: https://www.npmjs.com/package/@breezystack/lamejs/v/1.2.7 Matching source revision: 1fb0ef5fa177413107e2e107d054a9b994e3f79c The encoder is distributed under LGPL-3.0. Its original published bytes are served separately at /audio-encoder/lamejs.js, outside AcadCrate's bundles. No modifications have been made to the encoder. Alongside this file: lamejs-source.zip - matching source code, including build configuration LAME-NOTICE.txt - original package notice LGPL-3.0.txt and GPL-3.0.txt - license texts UPSTREAM-README.md - original readme The audio worker imports the encoder only for MP3 exports. To use a modified compatible encoder, replace /audio-encoder/lamejs.js with an ES module exporting Mp3Encoder(channels, sampleRate, kbps), encodeBuffer(Int16Array, optional right), and flush(), returning MP3 byte arrays. No AcadCrate bundle rebuild is required. Reverse engineering to debug modifications of the LGPL library is permitted. The encoder is provided without warranty. See the license texts for details.