Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

arctan_vi-0.5.1-cp314-cp314-win_amd64.whl (451.4 kB view details)

Uploaded CPython 3.14Windows x86-64

arctan_vi-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.35+ x86-64

arctan_vi-0.5.1-cp314-cp314-macosx_11_0_arm64.whl (497.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

arctan_vi-0.5.1-cp313-cp313-win_amd64.whl (443.7 kB view details)

Uploaded CPython 3.13Windows x86-64

arctan_vi-0.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.35+ x86-64

arctan_vi-0.5.1-cp313-cp313-macosx_11_0_arm64.whl (494.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arctan_vi-0.5.1-cp312-cp312-win_amd64.whl (447.6 kB view details)

Uploaded CPython 3.12Windows x86-64

arctan_vi-0.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.35+ x86-64

arctan_vi-0.5.1-cp312-cp312-macosx_11_0_arm64.whl (500.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arctan_vi-0.5.1-cp311-cp311-win_amd64.whl (459.2 kB view details)

Uploaded CPython 3.11Windows x86-64

arctan_vi-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.35+ x86-64

arctan_vi-0.5.1-cp311-cp311-macosx_11_0_arm64.whl (504.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arctan_vi-0.5.1-cp310-cp310-win_amd64.whl (456.0 kB view details)

Uploaded CPython 3.10Windows x86-64

arctan_vi-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.35+ x86-64

arctan_vi-0.5.1-cp310-cp310-macosx_11_0_arm64.whl (511.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Hashes for arctan_vi-0.5.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8282b085b9978b24816239fd9ff4e49b8b1a6dd9f7c94b621a4e7351a0ba9928
MD5 340c14ba688ec9ba50eb30e96bcb9e52
BLAKE2b-256 ec2ceaf162e35a3f2843db80fc420f81126dd0db79fd154b8b7c0874412c23ea

See more details on using hashes here.

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

File hashes

Hashes for arctan_vi-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 cbd3a0ab632da2d2aa2502279e71ec3a6e96d98f83195fca3427879f9b2c524b
MD5 22f1ee28b4f7e10c0c14bd81d0ef11a1
BLAKE2b-256 0c1463701f5ed8f600a1d958f483ef89c2e91deacf533f32cbb929238d0e15af

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arctan_vi-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cd8fb2ddcefda399bf2ef8c88b945165b5d9210435b5057519182657a231505
MD5 17ce11e1bc693bf6992b028a46acec4c
BLAKE2b-256 d6caf534133d329f681fe968e6751632c92eb0721a093ade792bdbe26b8f0a36

See more details on using hashes here.

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

Hashes for arctan_vi-0.5.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a34f67e87d7b720088a00d00806a3f98edcbea03f1044b75b663e3a0d155db5c
MD5 ea4f3a23eabea81dd5872bf1c91ab032
BLAKE2b-256 9491149839109f826024a9f1494cfbdf1686201f6cc0dcce9ffe6358feabff11

See more details on using hashes here.

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

File hashes

Hashes for arctan_vi-0.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 db70ee7242ecd590a0111658cf6e9b5a5eb41ef553ed15d2801c38d1ecd7b7bb
MD5 a5f1a8a0b25bcb4e94616aba488454e0
BLAKE2b-256 d49c4ff8aaec5e3a8962a2fa14bc78a39c197c762c94fea6da8f7f9e267560a9

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arctan_vi-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8dcc458990429a208d6b3c357674bf4790092a0eac34780566dfebbd67de419e
MD5 0cd5ccf55a650f0ba12eaeff40e49b1f
BLAKE2b-256 bc67c881e2a27d8deaf9f4abdf889d93a425bc6a01c285730b2018e4177a93f4

See more details on using hashes here.

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

Hashes for arctan_vi-0.5.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 309fb7306895d0532c68a0d80be070daccf04bc9f17c31f11b57adca5dce08c3
MD5 fe12393c348d7c8f4376df72a074c69b
BLAKE2b-256 76f356756706c29949d69a3e7946fdede2608149c254e43299b60bdb575ec7db

See more details on using hashes here.

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

File hashes

Hashes for arctan_vi-0.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 9eefcb3b8f08345a4fe08d40739f7a99cdd33a8b9e427b094e77996e321cb3d7
MD5 01283aa806183c253dabf46c9b02d864
BLAKE2b-256 02b64ac9801d8b67aa17b17bfc1c221bd622b6a50bd97d0651a593c4162876cd

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arctan_vi-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7db59d044c9f1da61837cd96d1eeadc64323e6263d6783e2aadc78660a63967f
MD5 bc3fce7268ac6b63fde2da9675c29191
BLAKE2b-256 2d9dec9ea99d5b9258483f43e390bd6a38470ba0e3661e35815860d49d911859

See more details on using hashes here.

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

Hashes for arctan_vi-0.5.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0933cbe242679773b7e8faeb5e449015f1fc183a0a7e361e50517ef0fa231060
MD5 668d270808b65b77f5bd1992ea68c728
BLAKE2b-256 d8ef7e311ffe1f19bed37cf7e685ca12ceced2c934f449badaf589fa795f0f78

See more details on using hashes here.

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

File hashes

Hashes for arctan_vi-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 9db0bf3da00568774eb4d77ec86c26235f8d8ed35053fd9c488b5f49a679f4dd
MD5 84eb99831bb53cdeefc5432a92985f63
BLAKE2b-256 656d2831cea5fb09e99bd4721ed2993e8f134abf494f882d785b916df29bfa1c

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arctan_vi-0.5.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 035ad93fa1887094b0363b33ec63042f6da6a5d9aa62e6b9b49cecd32b72b7d6
MD5 d54f7d8a2b47e9b0ab2f77087ce4ff31
BLAKE2b-256 b4c11a73903999107502b3ff59862d24c3a8cb6f3570aa7686abaa3d5498c022

See more details on using hashes here.

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

Hashes for arctan_vi-0.5.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1ebb37a28a466971dbb04b4711c7bb900b56f0ec658b505b62669c28c3165786
MD5 92bcaf97ee60579190b1b3428508e133
BLAKE2b-256 b1157603c0f4d53a3401e4f709ee98285819c460e0b7d6b2edc9f2688ecf5070

See more details on using hashes here.

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

File hashes

Hashes for arctan_vi-0.5.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 e176c532e24f6583906e02ff695cf44c545533cd65794804dd53068cc3d311b9
MD5 dedec7b5d6f4e994e8b7d3238890c33f
BLAKE2b-256 412a4ebc992b7ce446a3f11f2ba7034fb205a322adadb14bcd768afae7fdaef0

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for arctan_vi-0.5.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5814cae7c4779a47bd72df05f0dfd4d089cc8906c99fbdb3270f9587027a441e
MD5 0290fa4c92d3667da92669df2c0f6506
BLAKE2b-256 0cb69fc4fee57744b1db0621bd42605fff59ff99717cd26d7c986daff6bc3b83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page