Audio separation in Python with the Rapidly SDK
The Rapidly SDK is a model inference library built with audio in mind. Pre-trained models for speech noise suppression, de-reverberation and music stem separation are available out of the box, and we can train models for any use case. Get in touch if you have specific requirements.
Our models are trained specifically for real-time usage, achieving low latencies down to 11 milliseconds in speech separation applications. The models are designed to be small and resource-efficient, with model file sizes down to 241 KB for the smallest noise suppression model.
The Rapidly SDK is built in C++ and is compatible across various architectures. With our Python wrapper, you can easily integrate Rapidly into your Python projects and quickly process files and benchmark our models.
To learn more about Rapidly, visit Rapidly.
Installation
To install the Python wrapper for Rapidly, use pip:
python -m pip install rapidly
Rapidly requires Python 3.
How to Use
To use the API, import it and list the available models:
import rapidly
models = rapidly.list_models()
print(models)
To download and update to the latest models, simply call:
rapidly.update_models()
Process a File
To process a file with Rapidly, use the process_file function:
import rapidly
# List the available models in the models folder.
models = rapidly.list_models()
# Process a file using the first model in the list.
rapidly.process_file(
model_file_path=models[0],
input_file_path="path/to/input.wav",
output_file_path="path/to/output.wav",
selected_output_bus=0 # Bus 0 is the processed result in most models.
)
Every model has named output buses: the speech models expose the cleaned dialogue plus the removed noise (and reverb), the music model exposes vocals, bass, guitar, drums, piano and residual. You can inspect available buses like this:
rapidly_engine = rapidly.RapidlyEngine()
processor = rapidly_engine.create_processor(models[0], 2, 48000)
num_buses = processor.get_number_of_output_buses()
for i in range(num_buses):
print(i, processor.get_output_bus_name(i))
Pass the desired bus index as selected_output_bus in process_file.
Models
The models in the models folder use clear, descriptive names. For example, speech-denoise-32ms.v1.1.rapidly indicates a model designed to denoise speech with a latency of 32 ms. The micro size variant (e.g. speech-denoise-micro-32ms.v1.1.rapidly) is a compact build of the same model for CPU-constrained scenarios.
All models within a family (for example, the speech-denoise family) share similar characteristics. For general denoising, we recommend starting with speech-denoise-96ms.v1.1.rapidly to check if it meets your needs, and moving down to shorter latency variants if needed.
If you have specific requirements or challenging audio conditions, we can build customised models optimised for your use case. Feel free to contact us.
process_file uses PySoundFile to read and write audio files. WAV, FLAC, OGG, and MAT formats are supported natively. Other formats require ffmpeg to be installed.
For more information, see the Rapidly documentation.
Metadata
Release files for rapidly 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| rapidly-1.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| rapidly-1.1.0-py3-none-win32.whl | Python 3 | none | Windows x86-32 | Details |
| rapidly-1.1.0-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| rapidly-1.1.0-py3-none-manylinux1_x86_64.whl | Python 3 | none | Linux glibc 2.5+ x86-64 | Details |
| rapidly-1.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| rapidly-1.1.0-py3-none-macosx_10_9_x86_64.whl | Python 3 | none | macOS 10.9+ x86-64 | Details |
Total release size: 60.0 MB
Release files / rapidly-1.1.0-py3-none-win_amd64.whl
| Download URL | rapidly-1.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fa211062826df7c9c5871623f427f6a567ee3fa69e9a2c3b8a24649e8b2504fd
|
|
BLAKE2b-256 checksum How to use checksums |
c284af2414bf29ba17ae0908aceddc488e8844f43a7e9c0950ab01fba6ab8d43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / rapidly-1.1.0-py3-none-win32.whl
| Download URL | rapidly-1.1.0-py3-none-win32.whl |
|---|---|
| Size | 9.0 MB |
| Tags | Python 3 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
380f3ca675acf90753ba4037d22cd1cb800901a686feba337858e1fe22665a69
|
|
BLAKE2b-256 checksum How to use checksums |
b559bf7794c8789584728ed9ee1920d54b9e22ab4655e84041527dac078ff592
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / rapidly-1.1.0-py3-none-manylinux2014_aarch64.whl
| Download URL | rapidly-1.1.0-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
13270b88cf05dcc07a895790f57133a2b0eae78110701719c468f8a4cf0201d6
|
|
BLAKE2b-256 checksum How to use checksums |
d908319279a90f4b7de23e733f10e969a9af11111833b0277d940c108feb55bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / rapidly-1.1.0-py3-none-manylinux1_x86_64.whl
| Download URL | rapidly-1.1.0-py3-none-manylinux1_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | Linux glibc 2.5+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
537cd4601b45b989e9bab9fe46d88b964be961a9dad0be064e952a76d451a235
|
|
BLAKE2b-256 checksum How to use checksums |
9a3f5d4ac8b9782463dbf9ddd80372b296ab1fbe2f3a2b9d87a7dbfa8284b68d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / rapidly-1.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | rapidly-1.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 11.1 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
155e54c89b69eade449b95b11f7b411056b2521781c1ca9177b9fa898ce1e540
|
|
BLAKE2b-256 checksum How to use checksums |
243507b3dd7eee28c59f3924ce5bd82f22c071991c7ab2c8cc7bcca91c2322a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / rapidly-1.1.0-py3-none-macosx_10_9_x86_64.whl
| Download URL | rapidly-1.1.0-py3-none-macosx_10_9_x86_64.whl |
|---|---|
| Size | 11.1 MB |
| Tags | Python 3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
0cad7de3b794af9c559ee28cd5b961391e2377405b5f28b00fb4d1a8dec02c77
|
|
BLAKE2b-256 checksum How to use checksums |
d84fd9bdf238ca43a1ee9880b14def77c9f5ca8e0713ae9367684eb5db74b4dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|