The work these tools are built on, and the terms it carries.
These tools are built on work other people gave away. This page credits it and records the license terms we are bound by.
Last updated: 31 August 2026
The converter's WebAssembly module is compiled from the following libraries. All three run in your browser; none of them sends your audio anywhere.
| Library | Version | Purpose | License |
|---|---|---|---|
| LAME | 3.100 | MP3 encoding | LGPL-2.1 |
| FLAC (libFLAC) | 1.4.3 | FLAC encoding and decoding | BSD-3-Clause (Xiph.Org) |
| r8brain-free-src | 7.2 | Sample-rate conversion | MIT |
r8brain bundles its own FFT implementations: Ooura's FFT, used under the author's permission grant, and PFFFT under a BSD-style FFTPACK license.
We use LAME unmodified, statically linked into the WebAssembly module your browser downloads. Because that module contains LGPL-2.1 code, you are entitled to the source it was built from and to the means of rebuilding it.
The source is LAME 3.100 exactly as published at lame.sourceforge.io, SHA-256 ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e. We changed none of its code. The build differs from a stock ./configure in exactly two defines, both disabled so the same source compiles identically for WebAssembly as for a native machine:
HAVE_XMMINTRIN_H: off, which selects LAME's plain-C path instead of its x86 SSE routines. WebAssembly has no equivalent, and using one code path on both targets is what lets us verify the encoder produces identical output in each.HAVE_IEEE854_FLOAT80: off, because x86 80-bit extended floating point has no WebAssembly equivalent.Nothing else is altered. Anyone with the tarball above, those two changes and the pinned compiler can reproduce the module we serve.
If you want the exact build configuration or have trouble reproducing it, email info@codeofthegeeks.com and we will send you the configuration file and build scripts.
The normalizer contains no vendored libraries, but its limiter is derived from other people's work, and that lineage matters more than the absence of a dependency.
| Component | Origin | License |
|---|---|---|
| Hyrax limiter | jasper046/reaper_js_effects, our own public JSFX repository | GPL-3.0 |
| which is itself ported from | Matchering by Sergey Grishakov | GPL-3.0 |
The limiter that keeps this tool from clipping is a C++ port of our JSFX hyrax_limiter, which is in turn a port of the Hyrax limiter from Matchering. Its timing constants are Matchering's values, and its gain envelope works in Matchering's "flipped" reduction domain. The algorithm is not ours; the credit belongs to Sergey Grishakov.
Our loudness measurement is separate and is our own implementation of ITU-R BS.1770-4 / EBU R128, which are published standards rather than software, so there is no code to credit there, though the JSFX K-weighting coefficient derivation was our reference for it.
Because Matchering is GPL-3.0, so is our JSFX repository, and the port carries the same terms. The corresponding source for the limiter is public at jasper046/reaper_js_effects.
These two tools separate a song into vocals and instrumental entirely in your browser, using a neural-network model. Nothing is uploaded: the model is downloaded to your device on first use and every separation runs locally.
| Component | Version | Purpose | License |
|---|---|---|---|
| ONNX Runtime Web | 1.27.0 | Runs the model in your browser, on WebGPU or WebAssembly | MIT (Microsoft) |
| MDX-Net | — | The model architecture the separation is built on | MIT (KUIELab) |
| Kim_Vocal_2 model | — | The trained weights that perform the separation | see below |
The Kim_Vocal_2 model was trained by Kimberley Jensen using the MDX-Net architecture and is shared through the Ultimate Vocal Remover community project; we fetch the exact file from its public mirror at TRvlvr/model_repo. It is a community model released for free use. The MDX-Net architecture and training code are MIT-licensed; the trained weights are distributed without a formal license file, so we credit the author and source rather than cite a specific license. If you are the author of a model credited here and want the wording or terms changed, please contact us below.
The stem separator runs on our GPU server (your file is uploaded, not processed locally; see the privacy policy). The following open-source models and libraries produce the output.
| Component | Purpose | License |
|---|---|---|
| BS-Roformer architecture | Neural network architecture used for the 2-stem and hybrid vocals pass; implementation adapted from python-audio-separator and lucidrains/music-source-separation-training | MIT |
BS-Roformer weights (model_bs_roformer_ep_317_sdr_12.9755.ckpt) | Trained weights for the 2-stem vocals/instrumental separation; trained by Roman Solovyev (ZFTurbo) at AI-Forever and distributed through the music source separation community via ZFTurbo/Music-Source-Separation-Training | MIT |
| Demucs v4 (HTDemucs) | Neural network architecture used for the 4-stem pass; source code by Facebook Research (Meta) | MIT |
HTDemucs weights (955717e8-8726e21a.th) | Pre-trained HTDemucs model weights distributed by Facebook Research | MIT |
The text-to-speech tool runs on our GPU server (the text you enter is sent there to be synthesized; see the privacy policy). The speech is produced by an open-source model, used unmodified.
| Component | Purpose | License |
|---|---|---|
| Qwen3-TTS (12Hz-1.7B-CustomVoice) | The neural network and trained weights that turn your text into speech, by the Qwen team at Alibaba Cloud | Apache-2.0 |
The 24 kHz audio the model produces is resampled to 44.1 kHz and encoded to your chosen format in your browser, using the same FLAC and LAME libraries credited under the Audio Format Converter above.
Photo restoration runs on our GPU server (your image is uploaded, not processed locally; see the privacy policy). The following open-source models and libraries produce the output.
| Component | Purpose | License |
|---|---|---|
| GFPGAN v1.4 | Face restoration: the network and trained weights, by TencentARC (a Tencent company) | Apache-2.0 |
| Real-ESRGAN (x2plus) | 2× image upscaling; architecture from BasicSR (Apache-2.0), trained weights by Xintao Wang | BSD-3-Clause |
| facexlib | RetinaFace face detection and alignment, by Xintao Wang | MIT |
| torchvision ResNet50 backbone | Backbone for the face detector, by the PyTorch team (Meta) | BSD-3-Clause |
| Component | Version | Purpose | License |
|---|---|---|---|
| Bootstrap | 5.3.3 | Layout and components | MIT |
| Bootswatch Lux theme | 5.3.3 | Visual theme, by Thomas Park | MIT |
| Noto Sans | — | Typeface, by Google | SIL Open Font License 1.1 |
| Caddy | — | The web server delivering this page | Apache-2.0 |
| GoAccess | — | Visitor statistics from our own server logs | MIT |
Fonts and stylesheets are served from our own server, never from a third-party CDN, which is also why using these tools does not expose you to anyone else's tracking.
Not software, and not licensed to us, but worth naming because the tools claim to follow them: ITU-R BS.1770-4 (loudness measurement), EBU R128 (loudness normalisation), ISO/IEC 11172-3 (MP3), and the FLAC format specification.
If you believe we have used your work without proper credit, or credited it wrongly, please email info@codeofthegeeks.com. We will fix it.