silk-python
silk encode and decode
Decision gist · record as of 2026-08-14
Yes, if you need SILK codec support. The package is actively maintained, has no known vulnerabilities, supports Python 3.8–3.13, and offers a clean API for both encoding and decoding. Medium install friction is typical for compiled audio libraries. The BSD license poses no restrictions. Install it if your application requires SILK compression or decompression; otherwise, it is not necessary.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Medium install friction due to compiled wheels; the package is actively maintained with recent commits and provides prebuilt binaries for Python 3.8–3.13 across macOS, Linux, and Windows.
- Depends only on cffi, a stable low-level FFI library.
License · maintenance · safety
BSD (permissive) — BSD license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
last release 2025-11-12 (275 days) · last repo commit 2026-05-07 · 27 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 111,744 downloads/mo, #12,401 on PyPI
Alternatives
Verify before relying
pip install silk-python
with open("input.pcm", "rb") as pcm, open("output.silk", "wb") as silk:
encode(pcm, silk, 24000, 24000)
with open("output.silk", "rb") as silk, open("decoded.pcm", "wb") as pcm:
decode(silk, pcm, 24000)- Whether the package works correctly with PyPy's CFFI backend in production environments
- Performance characteristics and compression ratios compared to other speech codecs
- Compatibility with SILK files encoded by other implementations or versions
What it is and what it does
silk-python is a Python binding for the SILK v3 audio codec, a compression format designed for efficient speech encoding. It provides encode and decode functions that work with file-like objects (including BytesIO for in-memory operations), making it suitable for streaming large audio files without loading them entirely into memory. The package wraps the full C interface of SILK with sensible defaults for parameters like sample rate, bit rate, packet loss handling, and forward error correction.
The implementation uses Cython for performance-critical sections on CPython and falls back to CFFI on PyPy, automatically selecting the appropriate backend. You pass binary streams and specify audio parameters (sample rate, bit rate), and the codec handles the rest. It raises SilkError on encoding or decoding failures, allowing you to handle audio processing errors explicitly.
Use it for
- Compress PCM audio files to SILK format for efficient storage or transmission in speech-heavy applications
- Decode incoming SILK-encoded audio streams in real-time communication or messaging systems
- Process large audio files in a streaming fashion without loading entire files into memory
- Integrate SILK codec support into applications that need compatibility with systems using SILK encoding
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need SILK codec support.
The package is actively maintained, has no known vulnerabilities, supports Python 3.8–3.13, and offers a clean API for both encoding and decoding. Medium install friction is typical for compiled audio libraries. The BSD license poses no restrictions. Install it if your application requires SILK compression or decompression; otherwise, it is not necessary.
Install
silk-python on PyPI
Before you install
Medium install friction due to compiled wheels; the package is actively maintained with recent commits and provides prebuilt binaries for Python 3.8–3.13 across macOS, Linux, and Windows. Depends only on cffi, a stable low-level FFI library.
License in practice
BSD license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install silk-python
with open("input.pcm", "rb") as pcm, open("output.silk", "wb") as silk:
encode(pcm, silk, 24000, 24000)
with open("output.silk", "rb") as silk, open("decoded.pcm", "wb") as pcm:
decode(silk, pcm, 24000)
Verify before relying
- Whether the package works correctly with PyPy's CFFI backend in production environments
- Performance characteristics and compression ratios compared to other speech codecs
- Compatibility with SILK files encoded by other implementations or versions
Package facts
| License | BSD permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagecffi |
| Maintenance | Actively maintained 275 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 111,744 / month, #12,401 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: CProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Multimedia :: Sound/Audio |
Evidence: silk_python-0.2.8-cp310-cp310-macosx_10_9_universal2.whl; silk_python-0.2.8-cp310-cp310-macosx_10_9_x86_64.whl; silk_python-0.2.8-cp310-cp310-macosx_11_0_arm64.whl; silk_python-0.2.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; silk_python-0.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; silk_python-0.2.8-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl; silk_python-0.2.8-cp310-cp310-musllinux_1_2_aarch64.whl; silk_python-0.2.8-cp310-cp310-musllinux_1_2_riscv64.whl; silk_python-0.2.8-cp310-cp310-musllinux_1_2_x86_64.whl; silk_python-0.2.8-cp310-cp310-win32.whl; silk_python-0.2.8-cp310-cp310-win_amd64.whl; silk_python-0.2.8-cp310-cp310-win_arm64.whl; silk_python-0.2.8-cp311-cp311-macosx_10_9_universal2.whl; silk_python-0.2.8-cp311-cp311-macosx_10_9_x86_64.whl; silk_python-0.2.8-cp311-cp311-macosx_11_0_arm64.whl; silk_python-0.2.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; silk_python-0.2.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; silk_python-0.2.8-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl; silk_python-0.2.8-cp311-cp311-musllinux_1_2_aarch64.whl; silk_python-0.2.8-cp311-cp311-musllinux_1_2_riscv64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “silk audio codec encode decode”
- silk-pythonEncodes and decodes audio in SILK format, a codec optimized for…
- opuslibProvides Python bindings to libopus, the IETF low-delay audio codec,…
- opuslib-nextProvides Python bindings to libopus, the IETF low-delay audio codec,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Sound/Audio packages
Reads and writes audio files in formats like WAV, FLAC, OGG, and MAT through libsndfile, exposing audio data as NumPy arrays.
Pydub provides a high-level Python interface for loading, manipulating, and exporting audio files with simple operations like slicing, concatenation, and format conversion.
However, the abandoned status since 2021-03-10 means no future fixes or compatibility updates—use it only if you can tolerate potential issues with newer Python…
Mutagen reads and writes audio metadata (tags) across many audio formats including MP3, FLAC, OGG, MP4, WavPack, and others, supporting ID3v2 and APEv2 tag editing.
Install it if you need to read or edit audio tags programmatically.
Provides PyTorch-based audio processing, transforms, and dataloaders for machine learning tasks, with GPU acceleration and autograd support for trainable audio features.
MoviePy is a Python library for video editing that reads, processes, and writes video and audio files by converting them to numpy arrays for frame-level manipulation and effect application.
Reads metadata (artist, title, duration, bitrate, and more) from audio files in formats including MP3, MP4, FLAC, OGG, WAV, and others, without writing or modifying tags.
Install it if you need to extract metadata from audio files without the overhead of a heavier library.
See also miniaudio · descript-audio-codec · lameenc · opuslib · encodec · snac · audioread · opuslib-next · sox