--- id: pyloudnorm version: "0.2.0" license: MIT license_treatment: permissive maintenance: aging --- # pyloudnorm — Implementation of ITU-R BS.1770-4 loudness algorithm in Python. License: permissive · Maintenance: aging · Downloads: 4.0M/mo ## What it is and what it does pyloudnorm is a Python implementation of the ITU-R BS.1770-4 loudness metering standard, used in broadcast and audio production to measure perceived loudness. It wraps scipy and numpy to perform frequency weighting and loudness analysis on audio arrays, supporting both measurement and normalization workflows. The package provides a Meter class that analyzes audio at a given sample rate, offering integrated loudness measurement, loudness range calculation per EBU Tech 3342, and peak/loudness normalization functions. It includes multiple filter implementations (BS.1770 standard, DeMan, Fenton/Lee variants, and Dash et al.) and allows customization of block size and custom IIR filters for specialized use cases. Use it for: - Normalize podcast or streaming audio to broadcast-standard loudness levels before distribution - Measure loudness range in music production to assess dynamic variation across a track - Batch-process audio files to ensure consistent perceived volume across a catalog - Implement loudness metering in audio editing or DAW plugins - Validate audio compliance with streaming platform loudness requirements ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Measures and normalizes audio loudness according to the ITU-R BS.1770-4 standard, with support for multiple weighting filters and customizable analysis parameters. Yes. The package solves a specific, well-defined problem (ITU-R BS.1770-4 loudness measurement) with low install friction, permissive licensing, and active maintenance. It is suitable for audio production, streaming, and broadcast workflows where loudness standardization is required. No known vulnerabilities. ## Install pip install pyloudnorm uv add pyloudnorm poetry add pyloudnorm ## Installing pyloudnorm Before you install: Low install friction with only scipy and numpy as dependencies. The package is aging (222 days since last release) but the repository remains active with recent commits and 780 GitHub stars. License in practice: MIT license permits commercial and private use with minimal restrictions, making it suitable for most audio processing workflows. Quickstart: import pyloudnorm as pyln import numpy as np meter = pyln.Meter(rate) # create meter for sample rate audio = np.random.randn(samples, channels) loudness = meter.integrated_loudness(audio) print(f"Loudness: {loudness}") Requires audio data as a numpy array with shape (samples, channels); audio must be loaded separately using soundfile or similar. Verify before relying: - Whether the package handles edge cases like mono audio or very short audio files gracefully - Performance characteristics when processing large audio files or real-time streams - Compatibility with other audio libraries beyond soundfile ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 4.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags audio loudness measurement, ITU-R BS.1770 implementation, loudness normalization python, audio level metering, LUFS loudness calculation, audio peak normalization, loudness range measurement, audio-processing, broadcast-standard, signal-analysis [View on SkillFed](https://skillfed.io/packages/pyloudnorm) · [View on PyPI](https://pypi.org/project/pyloudnorm/)