Repository navigation
Conversation
luhenry
added a commit
that referenced
this pull request
Oct 5, 2026
Contributor
|
luhenry
force-pushed
the
pyrnnoise
branch
2 times, most recently
from
October 5, 2026 22:24
3880cf6 to
59624e2
Compare
pyrnnoise wraps Xiph's RNNoise, a portable C recurrent-network noise
suppressor: it has no SIMD-only code paths (vec.h falls back to plain
C when neither __AVX__/__SSE2__ nor __ARM_NEON is defined, which is
what riscv64 compiles) and its own x86 RTCD acceleration path is off
by default. Its wheel ships a prebuilt librnnoise.so loaded via
ctypes and ships no ext_modules, so one py3-none build serves every
interpreter, same shape as this repo's capstone/keystone-engine ports.
Upstream tags no commit and stamps VERSION only at release time from
a workflow_dispatch input, never committing the bump; pin the build to
the commit (a4edc69) whose tree is byte-identical to the released
0.4.3 sdist/wheel contents, confirmed by diffing pyrnnoise/pyrnnoise.py
and requirements.txt against the real PyPI wheel. musllinux is dropped:
matplotlib, an unconditional runtime dependency, has no musllinux
riscv64 wheel on this registry.
Two patches: one adds RNNoise's own BSD-3-Clause LICENSE.rnnoise at
the project root, which the wheel has never shipped alongside its own
Apache-2.0 LICENSE despite statically linking the RNNoise C library
into every release; the other fixes setup.py's custom bdist_wheel,
which sets root_is_pure = False for a platform tag but leaves
has_ext_modules() False, so librnnoise.so lands under the wheel's
purelib data category and auditwheel refuses to repair it ("the wheel
has to be platlib compliant"). Verified end to end on x86_64: built,
auditwheel-repaired, installed and smoke-tested with both patches
applied.
luhenry
added a commit
that referenced
this pull request
Oct 5, 2026
luhenry
marked this pull request as ready for review
October 5, 2026 22:54
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pyrnnoise0.4.3Compiles Xiph's RNNoise, a portable C recurrent-network noise suppressor, into a ctypes-loaded
librnnoise.so. Upstream publishes no riscv64 wheel.Mirrors upstream's
release.yml.Differs from upstream
before-all- setup.py expectslibrnnoise.soprebuilt, same as upstream's own job.Matrix: cp312 only - the wheel is tagged py3-none and serves every interpreter.
Testing
create/process_frame/destroyagainst a silent frame - upstream's own CI builds wheels but runs no tests.License: Wheel bundles RNNoise (BSD-3-Clause), statically linked; upstream ships no licence text for it, so the build adds one.
Patches
0001-Add-RNNoise-s-LICENSE-at-project-root.patch- To upstream (not submitted). Without it the wheel ships only pyrnnoise's own Apache-2.0 LICENSE; reproduces on every platform, not riscv64-only.0002-setup.py-force-platlib-placement-for-auditwheel.patch- Inappropriate (upstream runs no auditwheel). Without itlibrnnoise.solands in the wheel's purelib data category and auditwheel refuses to repair it; reproduces on every platform, not riscv64-only.Built on cp312; manylinux passes.