Repository navigation
Unofficial Python bindings for NeMo-Speech.cpp, v0.2.0.
Changes
What's Changed
Features
- Build the CUDA 13.0 wheel for Linux aarch64 (DGX Spark, Jetson Thor) by @PNL-toshiyaishihara in #54
- Build the x86-64 CPU backend per CPU generation by @PNL-toshiyaishihara in #57
Fixes
- Load ggml backends from libggml's directory, not the working directory by @PNL-toshiyaishihara in #61
Packaging and CI
- Pin actions to commit SHAs and declare workflow permissions by @PNL-toshiyaishihara in #45
- Add Dependabot for GitHub Actions and Python security updates by @PNL-toshiyaishihara in #44
- Verify the CUDA and Vulkan downloads against pinned hashes by @PNL-toshiyaishihara in #50
- Pin the build tools CI installs from PyPI by @PNL-toshiyaishihara in #51
Documentation
- Mark upstream issues that are worked around here by @PNL-toshiyaishihara in #40
- Add a security policy by @PNL-toshiyaishihara in #47
- Add issue forms for bug reports and feature requests by @PNL-toshiyaishihara in #48
- Correct the Vulkan ASR performance explanation in the README by @PNL-toshiyaishihara in #52
Full Changelog: v0.1.0...v0.2.0
Vendored sources
| Source | Revision | Commit |
|---|---|---|
| NeMo-Speech.cpp | v0.2.0 | 6a3ca3693707 |
| llama.cpp | bd4f514 | bd4f514db14d |
| SentencePiece | v0.2.0 | 17d7580d6407 |
NeMo-Speech.cpp is unchanged since v0.1.0.
Wheels
Python: 3.10, 3.11, 3.12, 3.13, 3.14 (Requires-Python >=3.10). Every wheel is py3-none, so one file serves all of them.
The x86-64 wheels (Linux x86_64 and Windows x64, every variant) carry ggml's CPU backend once per CPU generation and load the best one for the CPU at run time, from plain x86-64 to AVX-VNNI and AVX-512.
| Variant | Platform | Requirements | File |
|---|---|---|---|
| CPU | Linux aarch64 (glibc 2.28+) | nemo_speech-0.2.0-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
|
| CPU | Linux x86_64 (glibc 2.28+) | nemo_speech-0.2.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|
| CPU | Windows x64 | nemo_speech-0.2.0-py3-none-win_amd64.whl |
|
| CPU + Metal | macOS arm64 (13.0+) | nemo_speech-0.2.0-py3-none-macosx_13_0_arm64.whl |
|
| Vulkan | Windows x64 | GPU driver with Vulkan | nemo_speech-0.2.0+vulkan-py3-none-win_amd64.whl |
| CUDA 12.8 | Linux x86_64 (glibc 2.28+) | NVIDIA driver R570+; compute capability 7.5, 8.0, 8.6, 8.9, 9.0, 10.0, 12.0; newer GPUs through PTX (9.0+) | nemo_speech-0.2.0+cu128-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
| CUDA 12.8 | Windows x64 | NVIDIA driver R570+; compute capability 7.5, 8.0, 8.6, 8.9, 9.0, 10.0, 12.0; newer GPUs through PTX (9.0+) | nemo_speech-0.2.0+cu128-py3-none-win_amd64.whl |
| CUDA 13.0 | Linux aarch64 (glibc 2.28+) | NVIDIA driver R580+; compute capability 7.5, 8.0, 8.6, 8.9, 9.0, 10.0, 11.0, 12.0, 12.1; newer GPUs through PTX (9.0+) | nemo_speech-0.2.0+cu130-py3-none-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl |
| CUDA 13.0 | Linux x86_64 (glibc 2.28+) | NVIDIA driver R580+; compute capability 7.5, 8.0, 8.6, 8.9, 9.0, 10.0, 12.0; newer GPUs through PTX (9.0+) | nemo_speech-0.2.0+cu130-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
| CUDA 13.0 | Windows x64 | NVIDIA driver R580+; compute capability 7.5, 8.0, 8.6, 8.9, 9.0, 10.0, 12.0; newer GPUs through PTX (9.0+) | nemo_speech-0.2.0+cu130-py3-none-win_amd64.whl |
Install
All variants share the distribution name nemo-speech, so install the file for your platform and backend directly (a version specifier with -f would let pip pick a GPU variant). For example:
pip install https://github.com/PNL-toshiyaishihara/nemo-speech-python/releases/download/v0.2.0/nemo_speech-0.2.0+cu128-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whlGPU wheels bundle their runtime libraries (CUDA runtime, cuBLAS) and need only the GPU driver. nemo_speech.build_info() reports how an installation was built. SHA256SUMS lists the checksums of all files.
Known issues
Upstream issues worked around in this release: https://github.com/PNL-toshiyaishihara/nemo-speech-python/issues?q=label%3Aupstream