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

Uploaded CPython 3.14Windows x86-64

arctan_vi-0.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.4 MB view details)

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

arctan_vi-0.5.0-cp314-cp314-macosx_11_0_arm64.whl (370.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

arctan_vi-0.5.0-cp313-cp313-win_amd64.whl (332.8 kB view details)

Uploaded CPython 3.13Windows x86-64

arctan_vi-0.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.5 MB view details)

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

arctan_vi-0.5.0-cp313-cp313-macosx_11_0_arm64.whl (369.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

arctan_vi-0.5.0-cp312-cp312-win_amd64.whl (335.9 kB view details)

Uploaded CPython 3.12Windows x86-64

arctan_vi-0.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.5 MB view details)

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

arctan_vi-0.5.0-cp312-cp312-macosx_11_0_arm64.whl (374.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

arctan_vi-0.5.0-cp311-cp311-win_amd64.whl (346.0 kB view details)

Uploaded CPython 3.11Windows x86-64

arctan_vi-0.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.5 MB view details)

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

arctan_vi-0.5.0-cp311-cp311-macosx_11_0_arm64.whl (380.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

arctan_vi-0.5.0-cp310-cp310-win_amd64.whl (343.8 kB view details)

Uploaded CPython 3.10Windows x86-64

arctan_vi-0.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl (2.4 MB view details)

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

arctan_vi-0.5.0-cp310-cp310-macosx_11_0_arm64.whl (384.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: arctan_vi-0.5.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 338.1 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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6924a9dc80c5f870d8cebf99d3f3168c35eedc042f04fc4924e3b4e0a9f098d4
MD5 acf009e8d8b20e3ee5b1f93072ae0b7e
BLAKE2b-256 bc9782503c4c788c812ca2c5af3364cd7c7d48207e3a37c007c544480f8d2053

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.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.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 90581d21b322ac964923c1da039e268f1cb440aadb59736bb1ea615d048f984a
MD5 9bc5e65302d8661f64dfe794533c0819
BLAKE2b-256 6aff326e38ae5873b8a7906b7f8750a9647016c2120d09e8effceecdb5137695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.5.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 912d24f38d0b4e80cf2e0b2e8ba20f482b3c8a83d7fc859fdc2e6f7b8c1443c4
MD5 39e27ac3bf42dfb9bd6802e2f34fe13b
BLAKE2b-256 c671391fdc5ce84d5ba4f52a000faaa8949b00e3e1e82bccd28b64b8fff3f64e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arctan_vi-0.5.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 332.8 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 23b60e316962f3991d33dca32893e5a8ebb0722080732bacd2a157781ea01799
MD5 247889487692f1de235db2979b240ba2
BLAKE2b-256 1d86e87c21658c5b98193b00af937956e2ecd5b446d3e9218d6d134b2371d8bc

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.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.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 957249f4d1fdbba5745dd8aaedcad0950252f566212c084ffd2808119d1986e3
MD5 4205e97492efebfdff52ef35593688bc
BLAKE2b-256 9d8af351f95af3699b7373ece31491760d7612b1075a42985e679cad22861e6d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.5.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59bc1e6a9697c66f1d2ad474f382b0251453575f7045b7e668b9747d298a76f3
MD5 b0a45d1046b53eb604c46cf9b2bb9dd3
BLAKE2b-256 fcf1f6a70f577b10a02f6c8ee2268ed99696c52f074a2cfb10d070cc0bf3790e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arctan_vi-0.5.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 335.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.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 83481a8672653765b9bc15087a26f6364f5cbeb8ae0171eb9bdce5df929dda55
MD5 8251a76d9bd6a5ba9cdb7d2cb965a575
BLAKE2b-256 cc892a525238fbc5d244abf87c0429c4ccf6372432bc7e5d1863b63665d0a107

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.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.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 74d1cee361b22518597d63c8b1c8dd4fe06372836c391c5648af573c200d430d
MD5 21ea34c636b2a5c05dae336372818dc2
BLAKE2b-256 efd272b37c2d178123c308b8cb23ad82f783717413e8f26cfb24f595e53b8431

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.5.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee22dd2a06e7f3a9f003ad905428db2212b7c52ee54c41e1abaf13fb957e6202
MD5 8ffe93c4521b5e43e4fd858f27b272ec
BLAKE2b-256 eb8a52fbf4b7a0bd6253bc81ed16f0ab4f44e8bf41c43329725d3009cbf2439a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arctan_vi-0.5.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 346.0 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86ee5cd89080a17b616ebb4e943edc86798d01d8aee693785988c114a1547d84
MD5 b5634271bc95eb1a0691cbd61fe9129c
BLAKE2b-256 6b355ab85b7efcc50b3fe8a923779b327b38e5faa8d465e4a96e671b78e2d110

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.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.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 6cffc2067e5b561f05f924a65bd52ae671d11c8b6edee57667a9d6ec87027640
MD5 d0fe20a11334a30501f224b3870de1f5
BLAKE2b-256 e28762dea383c391e08010fa3925a47ab03a418cfad1169194a1e2fda58a8a8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.5.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 569ec8cd42e0ee4fa3f1baf4e3c18740c24d436469e8ab1a61b05e494f198d7f
MD5 587601f3d63e053ecf2665fd10fea041
BLAKE2b-256 eb043db7cbf2e848f8784d7a55a46ee5e7a06fa7ef9694e19ef52a3c6ba1c4dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arctan_vi-0.5.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 343.8 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c3625beae77f58c9aa02258ec83ca2ef3908f9230dc054265fc5c907d39c062e
MD5 9871a5fab9f61be474a0a9d2022eb5a2
BLAKE2b-256 ae5221e443d4ece52375f3f2441f916616bcccc64b76cba91566a0a148f92771

See more details on using hashes here.

File details

Details for the file arctan_vi-0.5.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.5.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 ec59445942faaaf0765032e43bd27dc1d7edd98987526e2c41c6d6d40f152ac7
MD5 f5f9013e55e59e7669a537e5de981493
BLAKE2b-256 190780fbf06d148a0176e6a2f2bfcb968a8f076bae7378896da27b9efcfec807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arctan_vi-0.5.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62f9b977e0ae52c560fb2deccbae2c3759fe244739bde971c2093d0f80aada91
MD5 fdde8ba7945d8645a24c54fca6640a59
BLAKE2b-256 dbf6944ecc304c4e989c1d6b9a20f834dfbe756a1e2383d6fa0895b42353adab

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