|
Download README.md from malper/CallCleaner: direct link, hf CLI and curl.
- Browser
- Download file 3.94 kB
-
https://huggingface.co/malper/CallCleaner/resolve/main/README.md
- Command line
-
hf download hf://malper/CallCleaner/README.md
-
curl -L -o README.md https://huggingface.co/malper/CallCleaner/resolve/main/README.md
3.94 kB
| license: other | |
| license_name: sam-license | |
| license_link: LICENSE | |
| pipeline_tag: audio-to-audio | |
| library_name: pytorch | |
| tags: | |
| - bioacoustics | |
| - audio | |
| - denoising | |
| - animal-vocalizations | |
| - knowledge-distillation | |
| # CallCleaner | |
| **Lightweight bioacoustic denoising from an audio foundation model.** | |
| CallCleaner removes background noise (wind, rain, vehicles, other animals) from recordings of | |
| animal vocalizations. It is a 19M-parameter waveform-to-waveform model that needs no detector, | |
| text prompt or GPU, and runs about 90× faster than real time on a laptop CPU. | |
| [Project page](https://callcleaner.github.io) · [Paper (arXiv)](https://arxiv.org/abs/2611.11491) · [Code (GitHub)](https://github.com/morrisalp/CallCleaner) | |
| ## How it was made | |
| The source-separation foundation model **SAM-Audio** (`facebook/sam-audio-small`), prompted with | |
| "animal sound" and with time spans from a simple animal voice-activity detector, removes more noise | |
| from animal calls than dedicated bioacoustic denoisers, but it is slow and inherits detector errors. | |
| CallCleaner distills it into a small model: | |
| - **Architecture:** the Demucs denoiser from [Biodenoising](https://github.com/earthspecies/biodenoising) | |
| (`biodenoising16k_dns48`, 16 kHz, mono), initialized from Biodenoising's weights. | |
| - **Teacher:** SAM-Audio with VAD-span prompts. Its target stream is the pseudo-label; its residual | |
| stream is a noise estimate. Half of each batch is remixed (another segment's residual added to a | |
| pseudo-label), as in bootstrapped remixing. | |
| - **Data:** 4 s segments (1.8 h) from the public corpora Biodenoising was trained on (DCASE few-shot | |
| bioacoustics, Orchive and five bird corpora), none shared with its benchmark. | |
| - **Training:** 2,000 steps. | |
| On Biodenoising's benchmark (47 clips × 4 SNRs), CallCleaner leaves **11 dB less noise around the call** | |
| than Biodenoising, the leading neural bioacoustic denoiser with public weights, and among fast, | |
| CPU-capable systems it pushes the Pareto frontier of noise removal vs. call fidelity. See the paper | |
| for full results. | |
| ## Usage | |
| ```bash | |
| pip install biodenoising safetensors huggingface_hub librosa soundfile | |
| ``` | |
| ```python | |
| import librosa, soundfile as sf, torch | |
| from biodenoising.denoiser.pretrained import biodenoising16k_dns48 | |
| from huggingface_hub import hf_hub_download | |
| from safetensors.torch import load_file | |
| model = biodenoising16k_dns48(pretrained=False) | |
| model.load_state_dict(load_file(hf_hub_download("malper/CallCleaner", "model.safetensors"))) | |
| model.eval() | |
| y, _ = librosa.load("noisy.wav", sr=16000, mono=True) # the model works at 16 kHz, mono | |
| with torch.no_grad(): | |
| clean = model(torch.tensor(y)[None, None])[0, 0, : len(y)].numpy() | |
| sf.write("clean.wav", clean, 16000) | |
| ``` | |
| For long recordings, process overlapping chunks (e.g. 60 s with a 1 s cross-fade); the command-line | |
| script in the [code repository](https://github.com/morrisalp/CallCleaner) does this, and handles folders and other sample rates. | |
| ## Limitations | |
| - Output is 16 kHz: content above 8 kHz (e.g. many bat and some bird and insect calls) is not restored. | |
| - Trained to keep one caller's vocalizations; overlapping calls from other animals may be treated as noise. | |
| - Distilled from a teacher that can miss quiet calls or keep loud non-target sounds; it inherits some | |
| of these errors. Listen to outputs before using them for analysis. | |
| ## License | |
| The weights are a derivative of SAM-Audio and are released under the **SAM License** | |
| (see [LICENSE](LICENSE)); by using or redistributing them you agree to its terms. The Biodenoising | |
| architecture and initialization are MIT-licensed. | |
| ## Citation | |
| ```bibtex | |
| @article{xie2026callcleaner, | |
| title = {CallCleaner: Lightweight Bioacoustic Denoising from an Audio Foundation Model}, | |
| author = {Michael Xie and Ga{\v{s}}per Begu{\v{s}} and Morris Alper}, | |
| year = {2026}, | |
| eprint = {2611.11491}, | |
| archivePrefix = {arXiv} | |
| } | |
| ``` | |