Arctan Voice Isolation for voice agents
Project description
Arctan Voice Isolation
Arctan Voice Isolation is a Python SDK for real-time voice isolation in voice agents and audio pipelines.
The SDK supports:
- standard Numpy audio processing
- LiveKit audio input processing
- Pipecat audio input filtering
An Arctan SDK key is required before audio can be processed.
Installation
Install the base SDK:
pip install arctan-vi
Install with framework adapters:
pip install "arctan-vi[livekit]"
pip install "arctan-vi[pipecat]"
The base SDK and LiveKit adapter support Python 3.10+. The Pipecat adapter requires Python 3.11+.
Set your SDK key in the runtime environment:
export ARCTAN_SDK_KEY="arc_sk_live_..."
You can also pass license_key="arc_sk_live_..." directly to the processor or
adapter constructors. An explicit license_key takes precedence over
ARCTAN_SDK_KEY.
Standard Python
Use arctan.Processor when you already have audio as NumPy arrays.
import numpy as np
import arctan
config = arctan.ProcessorConfig(sample_rate=24000, num_channels=1)
processor = arctan.Processor(config=config)
try:
audio = np.zeros((config.num_channels, config.num_frames), dtype=np.float32)
enhanced = processor.process(audio)
finally:
processor.close()
Processor.process() accepts float32 audio shaped as channels x frames.
Samples must be finite and in [-1.0, 1.0]. The output is a new float32
array with the same shape.
Mono and stereo input are supported. Stereo input is downmixed for voice isolation and returned as dual-mono stereo. The sample rate must remain stable for the lifetime of a processor.
If num_frames is omitted, initialization fills it with the native frame size
for the selected sample rate. If you set num_frames, it must contain a whole
number of native processing blocks.
LiveKit
Install the LiveKit extra:
pip install "arctan-vi[livekit]"
Create an Arctan noise-cancellation processor and pass it to LiveKit audio input options:
from arctan.livekit import arctan_enhancer
from livekit.agents import room_io
await session.start(
agent=Assistant(),
room=ctx.room,
room_options=room_io.RoomOptions(
audio_input=room_io.AudioInputOptions(
noise_cancellation=arctan_enhancer.noise_canceller(),
),
),
)
You can pass SDK options directly to Arctan:
noise_cancellation = arctan_enhancer.noise_canceller(
license_key="arc_sk_live_...",
)
LiveKit mono and stereo frames are supported. Stereo frames are downmixed for voice isolation and returned as dual-mono stereo. The sample rate must remain stable, and each input frame must contain a whole number of native processing blocks.
Pipecat
Install the Pipecat extra:
pip install "arctan-vi[pipecat]"
Create an ArctanAudioFilter and pass it as the input audio filter for your
transport:
from arctan.pipecat import arctan_enhancer
from pipecat.transports.base_transport import TransportParams
audio_filter = arctan_enhancer.ArctanAudioFilter()
transport_params = TransportParams(
audio_in_enabled=True,
audio_in_filter=audio_filter,
)
ArctanAudioFilter implements Pipecat's BaseAudioFilter. Pipecat calls
start(sample_rate), filter(audio), and stop() through the transport
lifecycle.
The Pipecat adapter accepts mono PCM16 input. Arbitrary byte chunks are buffered
until a complete native processing block is available, so filter() may return
b"". FilterEnableFrame can bypass or re-enable processing; toggling clears
any incomplete buffered block.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arctan_vi-0.5.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 451.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8282b085b9978b24816239fd9ff4e49b8b1a6dd9f7c94b621a4e7351a0ba9928
|
|
| MD5 |
340c14ba688ec9ba50eb30e96bcb9e52
|
|
| BLAKE2b-256 |
ec2ceaf162e35a3f2843db80fc420f81126dd0db79fd154b8b7c0874412c23ea
|
File details
Details for the file arctan_vi-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbd3a0ab632da2d2aa2502279e71ec3a6e96d98f83195fca3427879f9b2c524b
|
|
| MD5 |
22f1ee28b4f7e10c0c14bd81d0ef11a1
|
|
| BLAKE2b-256 |
0c1463701f5ed8f600a1d958f483ef89c2e91deacf533f32cbb929238d0e15af
|
File details
Details for the file arctan_vi-0.5.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 497.0 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cd8fb2ddcefda399bf2ef8c88b945165b5d9210435b5057519182657a231505
|
|
| MD5 |
17ce11e1bc693bf6992b028a46acec4c
|
|
| BLAKE2b-256 |
d6caf534133d329f681fe968e6751632c92eb0721a093ade792bdbe26b8f0a36
|
File details
Details for the file arctan_vi-0.5.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 443.7 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a34f67e87d7b720088a00d00806a3f98edcbea03f1044b75b663e3a0d155db5c
|
|
| MD5 |
ea4f3a23eabea81dd5872bf1c91ab032
|
|
| BLAKE2b-256 |
9491149839109f826024a9f1494cfbdf1686201f6cc0dcce9ffe6358feabff11
|
File details
Details for the file arctan_vi-0.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db70ee7242ecd590a0111658cf6e9b5a5eb41ef553ed15d2801c38d1ecd7b7bb
|
|
| MD5 |
a5f1a8a0b25bcb4e94616aba488454e0
|
|
| BLAKE2b-256 |
d49c4ff8aaec5e3a8962a2fa14bc78a39c197c762c94fea6da8f7f9e267560a9
|
File details
Details for the file arctan_vi-0.5.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 494.4 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8dcc458990429a208d6b3c357674bf4790092a0eac34780566dfebbd67de419e
|
|
| MD5 |
0cd5ccf55a650f0ba12eaeff40e49b1f
|
|
| BLAKE2b-256 |
bc67c881e2a27d8deaf9f4abdf889d93a425bc6a01c285730b2018e4177a93f4
|
File details
Details for the file arctan_vi-0.5.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 447.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
309fb7306895d0532c68a0d80be070daccf04bc9f17c31f11b57adca5dce08c3
|
|
| MD5 |
fe12393c348d7c8f4376df72a074c69b
|
|
| BLAKE2b-256 |
76f356756706c29949d69a3e7946fdede2608149c254e43299b60bdb575ec7db
|
File details
Details for the file arctan_vi-0.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9eefcb3b8f08345a4fe08d40739f7a99cdd33a8b9e427b094e77996e321cb3d7
|
|
| MD5 |
01283aa806183c253dabf46c9b02d864
|
|
| BLAKE2b-256 |
02b64ac9801d8b67aa17b17bfc1c221bd622b6a50bd97d0651a593c4162876cd
|
File details
Details for the file arctan_vi-0.5.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 500.0 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7db59d044c9f1da61837cd96d1eeadc64323e6263d6783e2aadc78660a63967f
|
|
| MD5 |
bc3fce7268ac6b63fde2da9675c29191
|
|
| BLAKE2b-256 |
2d9dec9ea99d5b9258483f43e390bd6a38470ba0e3661e35815860d49d911859
|
File details
Details for the file arctan_vi-0.5.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 459.2 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0933cbe242679773b7e8faeb5e449015f1fc183a0a7e361e50517ef0fa231060
|
|
| MD5 |
668d270808b65b77f5bd1992ea68c728
|
|
| BLAKE2b-256 |
d8ef7e311ffe1f19bed37cf7e685ca12ceced2c934f449badaf589fa795f0f78
|
File details
Details for the file arctan_vi-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9db0bf3da00568774eb4d77ec86c26235f8d8ed35053fd9c488b5f49a679f4dd
|
|
| MD5 |
84eb99831bb53cdeefc5432a92985f63
|
|
| BLAKE2b-256 |
656d2831cea5fb09e99bd4721ed2993e8f134abf494f882d785b916df29bfa1c
|
File details
Details for the file arctan_vi-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 504.7 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
035ad93fa1887094b0363b33ec63042f6da6a5d9aa62e6b9b49cecd32b72b7d6
|
|
| MD5 |
d54f7d8a2b47e9b0ab2f77087ce4ff31
|
|
| BLAKE2b-256 |
b4c11a73903999107502b3ff59862d24c3a8cb6f3570aa7686abaa3d5498c022
|
File details
Details for the file arctan_vi-0.5.1-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 456.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ebb37a28a466971dbb04b4711c7bb900b56f0ec658b505b62669c28c3165786
|
|
| MD5 |
92bcaf97ee60579190b1b3428508e133
|
|
| BLAKE2b-256 |
b1157603c0f4d53a3401e4f709ee98285819c460e0b7d6b2edc9f2688ecf5070
|
File details
Details for the file arctan_vi-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e176c532e24f6583906e02ff695cf44c545533cd65794804dd53068cc3d311b9
|
|
| MD5 |
dedec7b5d6f4e994e8b7d3238890c33f
|
|
| BLAKE2b-256 |
412a4ebc992b7ce446a3f11f2ba7034fb205a322adadb14bcd768afae7fdaef0
|
File details
Details for the file arctan_vi-0.5.1-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: arctan_vi-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 511.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5814cae7c4779a47bd72df05f0dfd4d089cc8906c99fbdb3270f9587027a441e
|
|
| MD5 |
0290fa4c92d3667da92669df2c0f6506
|
|
| BLAKE2b-256 |
0cb69fc4fee57744b1db0621bd42605fff59ff99717cd26d7c986daff6bc3b83
|