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.4.0-cp314-cp314-win_amd64.whl (317.6 kB view details)

Uploaded CPython 3.14Windows x86-64

arctan_vi-0.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.3 MB view details)

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

arctan_vi-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (347.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

arctan_vi-0.4.0-cp313-cp313-win_amd64.whl (311.7 kB view details)

Uploaded CPython 3.13Windows x86-64

arctan_vi-0.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.3 MB view details)

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

arctan_vi-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (346.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arctan_vi-0.4.0-cp312-cp312-win_amd64.whl (314.9 kB view details)

Uploaded CPython 3.12Windows x86-64

arctan_vi-0.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.4 MB view details)

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

arctan_vi-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (350.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arctan_vi-0.4.0-cp311-cp311-win_amd64.whl (323.9 kB view details)

Uploaded CPython 3.11Windows x86-64

arctan_vi-0.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.4 MB view details)

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

arctan_vi-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (354.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arctan_vi-0.4.0-cp310-cp310-win_amd64.whl (321.4 kB view details)

Uploaded CPython 3.10Windows x86-64

arctan_vi-0.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.2 MB view details)

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

arctan_vi-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (358.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file arctan_vi-0.4.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: arctan_vi-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 317.6 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.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9adf639bd68fae95954c69c47b39eaa6ee5acc25fbaebd015a4db70a6dc04ce7
MD5 64f40cdaeeecc7dfb9b39859c536ad7a
BLAKE2b-256 a98092a756a5cc24e9da0c28e5d54fd3b01440d8fdefe70e7e6929caf06c91b7

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-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.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 d43f7d8668d651bc8e2d40f88f92b37b2fd0c08fc053bea4aeec8ec346110d0f
MD5 dbb49d47db013dc2a97cb5273d6bfd8d
BLAKE2b-256 241615d7bb5c93e4b19b732bc182ba01bbe3176ace8e13add67ea71e912bd50d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c84e7216c29671966aa332d114b90e75140243b254dde96d6c1ecad82a10bf11
MD5 354af130667611fbe9f13f189e4eb345
BLAKE2b-256 03740907f7688e243502f7e4320bb32c778b4d9df010cb032aac00ee18e2f76a

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: arctan_vi-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 311.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.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 19512a343b69f19cc51acfd55c30ce3132056b91c3a3f08240ce57d6ae23f37e
MD5 315e1f3e7de163d95ff4c726a8a17851
BLAKE2b-256 89464624c1e628c67751f2e4f4e0e83ab97b8407df3f7fd1e95c11682337e254

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-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.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 72250592d3ada9e648c5de3c1541a4a6ddbe50f1c560ceeda42bf6f7a4c7200e
MD5 7863033dd81d09c9cb79653035b07a83
BLAKE2b-256 ff82880d47f32f3a74dd7248b325ac1ea79ee5967e7dbf30e865684dddc9ec64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69a67c72a209d2454bfbb21f15c484d522720b4db49382facc098c7a088a96bc
MD5 c3b22c7f37a626730faa564763a4c3be
BLAKE2b-256 c21d857e7414ccb3e6c8c31ef3d624e06f96af4c1aa77dbe10617c9d78a4d3fb

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: arctan_vi-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 314.9 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.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 131547719df55defe88d1ec99137cf804d5b6e33a38beace0676842cb85ae177
MD5 e7a05b20beb1c02a21f21bf6fb9bb4d4
BLAKE2b-256 46e604962a7fbc32149612a6cfdf1dea05977d099eab9310e496cd5ec686e06a

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-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.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f1f09948f7147259fdc4182ac5c7a3cfde29c8ba37aab89bbc8903d725961ed3
MD5 4508bb9ef3ea545af0e2bd8e6ad33b00
BLAKE2b-256 19cbe479b0d82d93406502c2983c62317ee9b926ec7119cd5615001e35a7f430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f458b2f884b607cb0b85216b055b9852321a35389761edc539b01668e778ac9a
MD5 ca13cc5d882c0b1fc889f782fef552e6
BLAKE2b-256 345bfa0841686b9998c3ab42e3a9e3b31fd530893a8d8908ad43436d7f64f370

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: arctan_vi-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 323.9 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.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5975d388f283f961ac805306d421a7566cb86034a63bf73ebe3d625ad4a2ce8
MD5 5441be42a3f7f7f75996fd52a6dad12e
BLAKE2b-256 4bbc5b21d0ea33b96fced24f45673d8f1ebbe418e7da3972e398262d0e33e998

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-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.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 eb2a50a24fc95befd89b25094c2d204bd8faafd55bd8b42b5098012e4b73b42a
MD5 dfe985dc0d401e64404f9cf249b876c3
BLAKE2b-256 40c5e8eb239cc45e59abbfcf8482fdbac136bd0e427235355cda9e16b580cf40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 327cdc93bb5e06b57be80ba67066812c678137204ef4665bf1cd07261a7ed86c
MD5 994cfadd27dc454eaad98bd2ba3c2010
BLAKE2b-256 28be1879dd71804a8a0ff4cd99a85e72a424f041c2e87408fb8490f7c5c89aba

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: arctan_vi-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 321.4 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.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c3692e1550987b087f2bd5472f0ee5be8b51bb993e2230086b4386bd937a5baf
MD5 a4a1f715a8c9271e6aac76b8e27e063f
BLAKE2b-256 4e13d757c93cc2ae474dc3fad1e620839c7c1bea124486ee957d5fc8af9edf45

See more details on using hashes here.

File details

Details for the file arctan_vi-0.4.0-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.4.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 7ddccb736c51eeb53d4d52121b54727458f18bc3963f8be57f4e4de501634b07
MD5 98461d1793eeaf58c71c9766c5dd782b
BLAKE2b-256 b073bfaa7e4ddd16aec2c6f7bece547c9fd78e9dac71ea7eff90681a3a44ed3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd672d8f390e94a806aeebb5d6b530f136b8f76cb0c4a9a089928084c04c20fd
MD5 13271bed912d15805037e1634736dbec
BLAKE2b-256 aaa5e90a6f58d7000afaf906c89013bb9b47051392203c0fd2d30a9fce76687c

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