resemble-perth
Audio Watermarking and Detection Library
What it is and what it does
Perth is a Python library for embedding and extracting imperceptible watermarks in audio files. It implements neural network-based watermarking techniques—primarily the Perth-Net Implicit approach—designed to survive audio transformations like compression and resampling while maintaining perceptual audio quality. The library provides both a command-line interface for quick tasks and a Python API for integration into applications.
You load audio, initialize a watermarker object, apply or extract a watermark, and save the result. The package includes utilities to measure audio quality metrics and compare original and watermarked audio. It supports Python 3.8, 3.9, 3.10, and 3.11 and has no runtime dependencies, making installation straightforward.
Use it for:
- Embed ownership or authenticity markers in audio content for copyright protection or provenance tracking.
- Detect whether audio has been watermarked as part of a content verification or anti-piracy workflow.
- Test audio watermarking robustness by applying transformations and checking if watermarks survive.
- Evaluate perceptual quality of watermarked audio using built-in metrics before deploying to production.
- Integrate watermarking into an audio processing pipeline via the Python API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Embeds imperceptible watermarks into audio files and detects them afterward, using neural network-based techniques that survive common audio transformations.
Yes, if you need audio watermarking. The library has low install friction, permissive licensing, no known vulnerabilities, and an active repository. However, the aging maintenance status and lack of recent updates suggest you should verify that the neural network models and robustness claims meet your specific use case before committing to production deployment.
Install
resemble-perth on PyPI
pip
pip install resemble-perthuv
uv add resemble-perthpoetry
poetry add resemble-perthInstalling resemble-perth
Before you install
Low friction installation with no runtime dependencies. Maintenance status is aging—last release was in May 2025 and the repository has not been updated since then, though it remains active with 533 stars.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install resemble-perth
import perth
watermarker = perth.PerthImplicitWatermarker()
watermarked_audio = watermarker.apply_watermark(wav, watermark=None, sample_rate=sr)
watermark = watermarker.get_watermark(watermarked_audio, sample_rate=sr)
Audio input must be loaded separately; the package does not include audio I/O dependencies.
Verify before relying
- Whether the neural network models are bundled or require separate download/initialization.
- GPU/CUDA requirements and performance characteristics for the PerthImplicitWatermarker.
- Specific audio formats and sample rates supported beyond the examples shown.
- Robustness claims against particular audio transformations (compression codecs, bit rates, etc.).
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 448 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 239,877/month — #8,913 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: resemble_perth-1.0.1-py3-none-any.whl
Keywords: Audio Watermarking, Perceptual Watermarking, Neural Networks, Audio Processing
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
invisible-watermarkEmbeds and decodes invisible watermarks into…
permissive · top 15,000 on PyPI
panns-inferenceProvides pretrained neural network models for…
permissive · top 15,000 on PyPI
encodecEnCodec is a neural audio codec that compresses…
noncommercial · top 15,000 on PyPI
soundfileReads and writes audio files in formats like…
permissive · top 1,000 on PyPI
descript-audio-codecCompresses audio into discrete codes at 8 kbps…
permissive · top 15,000 on PyPI
laion-clapExtracts learned audio and text embeddings…
permissive · top 15,000 on PyPI
audio-separatorSeparates audio files into multiple stems…
permissive · top 15,000 on PyPI
vocosVocos is a neural vocoder that synthesizes…
unclear · top 15,000 on PyPI
pyrnnoisePython bindings for RNNoise that perform…
unclear · top 15,000 on PyPI