numpy-rms
A fast python library for calculating the RMS of a NumPy array
What it is and what it does
numpy-rms is a specialized NumPy extension that computes Root Mean Square values over sliding windows in arrays using hand-optimized C code with SIMD instructions. It targets audio and signal-processing workflows where RMS calculations are a bottleneck, offering speed gains by leveraging CPU vector instructions (AVX on x86-64, NEON on ARM) and C-level efficiency.
The package wraps a fast C implementation via cffi and provides prebuilt wheels for modern Python versions (3.10–3.14) and common platforms, reducing installation friction. It is tailored for C-contiguous 1-D and 2-D float32 arrays, making it most useful in audio processing, signal analysis, and scientific computing where batch RMS calculations are frequent.
Use it for:
- Audio signal analysis: compute RMS energy levels over time windows for loudness metering or normalization.
- Signal processing pipelines: calculate windowed RMS as a feature for machine learning on time-series data.
- Real-time audio monitoring: efficiently compute RMS metrics in streaming or batch audio processing workflows.
- Accelerometer/sensor data: extract RMS statistics from high-frequency motion or vibration sensor streams.
- Quality assurance in audio production: measure signal integrity and noise floor via windowed RMS metrics.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Calculates Root Mean Square (RMS) values over sliding windows in NumPy arrays using vectorized C code with SIMD acceleration (AVX on x86-64, NEON on ARM).
Yes, if you need fast windowed RMS calculations on NumPy float32 arrays in audio, signal, or scientific workflows. The compiled SIMD implementation and wide platform/Python coverage make it a low-friction drop-in for performance-critical RMS loops. Skip it if you only need occasional RMS calls or work with non-float32 dtypes—standard NumPy is sufficient.
Install
numpy-rms on PyPI
pip
pip install numpy-rmsuv
uv add numpy-rmspoetry
poetry add numpy-rmsInstalling numpy-rms
Before you install
Medium install friction due to compiled C extension with cffi dependency; however, prebuilt wheels cover common platforms (x86-64, ARM64, Windows, macOS, Linux variants) and Python 3.10–3.14, reducing build-from-source scenarios. Active maintenance with recent release.
License in practice
MIT License (permissive) allows unrestricted use, modification, and distribution in both open and closed projects with minimal obligations—only attribution and license inclusion required.
Quickstart
pip install numpy-rms
import numpy_rms
import numpy as np
arr = np.arange(40, dtype=np.float32)
rms_series = numpy_rms.rms(arr, window_size=10)
Requires numpy and cffi; C compiler needed if prebuilt wheel unavailable for your platform/Python version.
Verify before relying
- Whether the package supports non-float32 dtypes or only float32 arrays.
- Performance characteristics and typical speedup vs. pure-NumPy implementations.
- Whether window_size parameter supports stride/overlap configuration.
Package facts
| License | MIT License Copyright (c) 2024 Nomono Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the… (full text in the JSON record) (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — cffi, numpy |
| Maintenance | actively maintained — 49 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 206,054/month — #9,578 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: numpy_rms-0.7.0-cp310-cp310-macosx_10_9_x86_64.whl; numpy_rms-0.7.0-cp310-cp310-macosx_11_0_arm64.whl; numpy_rms-0.7.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; numpy_rms-0.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; numpy_rms-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl; numpy_rms-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl; numpy_rms-0.7.0-cp310-cp310-win_amd64.whl; numpy_rms-0.7.0-cp311-cp311-macosx_10_9_x86_64.whl; numpy_rms-0.7.0-cp311-cp311-macosx_11_0_arm64.whl; numpy_rms-0.7.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; numpy_rms-0.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; numpy_rms-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl; numpy_rms-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl; numpy_rms-0.7.0-cp311-cp311-win_amd64.whl; numpy_rms-0.7.0-cp312-cp312-macosx_10_13_x86_64.whl; numpy_rms-0.7.0-cp312-cp312-macosx_11_0_arm64.whl; numpy_rms-0.7.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; numpy_rms-0.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; numpy_rms-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl; numpy_rms-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
numpy-minmaxFinds the minimum and maximum values in a NumPy…
permissive · top 15,000 on PyPI
fastremapRemap, renumber, and relabel NumPy arrays at…
copyleft · top 15,000 on PyPI
simdkalmanImplements vectorized Kalman filters that run…
permissive · top 15,000 on PyPI
pysimdjsonPython bindings for the simdjson…
unclear · top 5,000 on PyPI
numkongNumKong provides mixed-precision linear algebra…
permissive · top 15,000 on PyPI
soundfileReads and writes audio files in formats like…
permissive · top 1,000 on PyPI
color-operationsApplies color-oriented image operations—gamma…
permissive · top 15,000 on PyPI
awkward0Manipulates complex, non-rectangular data…
permissive · top 15,000 on PyPI
vllm-cpuvllm-cpu provides CPU-optimized inference for…
permissive · top 15,000 on PyPI
nvidia-cublas-cu11Provides NVIDIA CUBLAS native runtime libraries…
unclear · top 5,000 on PyPI