Generated banner for Voice Isolator
Generated logo for Voice Isolator

Voice Isolator

ElevenLabsOfficialPublished by ElevenLabs

  • Skill
  • Tool integration
  • Automation and integrations
  • MIT
  • Medium risk

From the author

Remove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API. Use when cleaning up noisy recordings, removing music or background ambience from dialogue, isolating speech from field recordings, preparing audio for transcription, extracting vocals, or any "denoise / clean up / isolate voice" task.
— the description by ElevenLabs

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The ElevenLabs Voice Isolator skill provides an interface to remove background noise and isolate speech from various audio formats. It supports integration via Python, JavaScript, and a command-line interface, allowing users to clean up recordings, extract dialogue from mixed tracks, or prepare audio for transcription services. The tool handles common audio and video containers and offers a low-latency mode for raw PCM input.

What it does

  • Removes background noise and ambience from audio recordings.
  • Isolates vocals and speech from mixed audio tracks.
  • Supports processing of common audio and video file formats.
  • Provides a low-latency mode for raw 16-bit PCM mono audio.
  • Enables programmatic audio cleaning via Python and JavaScript SDKs.
  • Offers a CLI for direct file-based audio isolation tasks.

When to use it

  • Cleaning up noisy interview or podcast recordings before editing.
  • Extracting dialogue from tracks containing music or sound effects.
  • Preparing audio files to improve accuracy for speech-to-text transcription.
  • Isolating source audio before applying voice transformation effects.

Advantages

  • Streamlined integration with existing ElevenLabs SDKs.
  • Supports a wide range of input formats including MP3, WAV, and MP4.
  • Flexible implementation options for both developers and CLI users.
  • Configurable input settings to optimize for latency.

Usage examples

“Clean up my noisy interview recording using the CLI.”
The CLI processes the input file and saves a cleaned version with background noise removed.
“Isolate the vocals from this audio file using Python.”
The script uses the ElevenLabs client to stream the isolated speech to a new file.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/elevenlabs/voice-isolator/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip voice-isolator.zip -d .agents/skills

Documentation by ElevenLabs

ElevenLabs Voice Isolator

Removes background noise from audio and isolates vocals/speech — useful for cleaning up noisy recordings, prepping audio for transcription, or pulling dialogue out of a mixed track.

Setup, before writing any code: if ELEVENLABS_API_KEY isn't set for this project, run npx -y @elevenlabs/cli@latest onboard init from the app's folder first and follow what it prints: it signs the user in and stores a key for the project, so nobody copies one by hand. Otherwise see the Installation Guide. For JavaScript, use @elevenlabs/* packages only.

Quick Start

Python
from elevenlabs import ElevenLabs

client = ElevenLabs()

with open("noisy.mp3", "rb") as audio_file:
    audio_stream = client.audio_isolation.convert(audio=audio_file)

with open("clean.mp3", "wb") as f:
    for chunk in audio_stream:
        f.write(chunk)
JavaScript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createReadStream, createWriteStream } from "fs";

const client = new ElevenLabsClient();

const audioStream = await client.audioIsolation.convert({
  audio: createReadStream("noisy.mp3"),
});

audioStream.pipe(createWriteStream("clean.mp3"));
CLI
elevenlabs audio-isolation convert --audio noisy.mp3 --output clean.mp3

Parameters

ParameterTypeDefaultDescription
audiofile (required)—Audio file with vocals/speech to isolate
file_formatstringotherother for any encoded audio, or pcm_s16le_16 for 16-bit PCM mono @ 16kHz little-endian (lower latency)

Isolating from a URL

import requests
from io import BytesIO
from elevenlabs import ElevenLabs

client = ElevenLabs()

audio_url = "https://example.com/noisy.mp3"
response = requests.get(audio_url)
audio_data = BytesIO(response.content)

audio_stream = client.audio_isolation.convert(audio=audio_data)

with open("clean.mp3", "wb") as f:
    for chunk in audio_stream:
        f.write(chunk)

Low-Latency PCM Input

If you already have raw 16-bit PCM mono @ 16kHz, passing file_format="pcm_s16le_16" skips decoding and reduces latency:

audio_stream = client.audio_isolation.convert(
    audio=pcm_bytes,
    file_format="pcm_s16le_16",
)

Supported Formats

Any common encoded audio/video container works as input (MP3, WAV, M4A, FLAC, OGG, WebM, MP4, etc.). Response is a streamed MP3 by default.

Common Workflows

  • Clean up interview/podcast recordings — strip room tone, HVAC, traffic before editing.

  • Prep noisy audio for Speech-to-Text — isolate voice first, then pass through speech_to_text.convert() for better transcription accuracy.

  • Extract dialogue from mixed tracks — pull vocals out of a track with music/SFX.

  • Pre-processing for Voice Changer — isolate the source voice before applying voice transformation.

Error Handling

try:
    audio_stream = client.audio_isolation.convert(audio=audio_file)
except Exception as e:
    print(f"Voice isolation failed: {e}")

Common errors:

  • 401: Invalid API key

  • 422: Invalid parameters (e.g. wrong file_format for the supplied audio)

  • 429: Rate limit exceeded

References

Files

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an API key, Needs Python, Needs Node.js

The author says: Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).

Security

What our scanner noticed· Medium risk

  • Instructions that use the network
  • Downloads piped into a shell

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
ElevenLabs
Publisher
ElevenLabs (Official)
Source
elevenlabs/skills · voice-isolator · commit 9763c39
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by ElevenLabs or ElevenLabs.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download voice-isolator.zip