voice-isolator

Par elevenlabs · skills

Supprimez le bruit de fond et isolez les voix/la parole depuis l'audio grâce à l'API ElevenLabs Voice Isolator (isolation audio). À utiliser pour nettoyer des enregistrements bruités, supprimer la musique ou l'ambiance sonore d'un dialogue, isoler la parole depuis des enregistrements de terrain, préparer l'audio pour la transcription, extraire des voix, ou toute tâche de type « débruitage / nettoyage / isolation de voix ».

npx skills add https://github.com/elevenlabs/skills --skill voice-isolator

ElevenLabs Voice Isolator

Supprime le bruit de fond de l'audio et isole les voix/parole — utile pour nettoyer les enregistrements bruyants, préparer l'audio pour la transcription, ou extraire le dialogue d'une piste mixte.

Setup: Voir Installation Guide. Pour JavaScript, utilisez uniquement les packages @elevenlabs/*.

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"));

cURL

curl -X POST "https://api.elevenlabs.io/v1/audio-isolation" \
  -H "xi-api-key: $ELEVENLABS_API_KEY" \
  -F "audio=@noisy.mp3" \
  --output clean.mp3

Parameters

Parameter Type Default Description
audio file (required) Fichier audio avec voix/parole à isoler
file_format string other other pour tout audio encodé, ou pcm_s16le_16 pour PCM 16-bit mono @ 16 kHz little-endian (latence réduite)

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

Si vous avez déjà du PCM brut 16-bit mono @ 16 kHz, passer file_format="pcm_s16le_16" ignore le décodage et réduit la latence :

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

Supported Formats

Tout conteneur audio/vidéo encodé courant fonctionne en entrée (MP3, WAV, M4A, FLAC, OGG, WebM, MP4, etc.). La réponse est un MP3 streamé par défaut.

Common Workflows

  • Clean up interview/podcast recordings — supprimez la tonalité ambiante, la climatisation, le trafic avant l'édition.
  • Prep noisy audio for Speech-to-Text — isolez d'abord la voix, puis passez par speech_to_text.convert() pour une meilleure précision de transcription.
  • Extract dialogue from mixed tracks — extraire les voix d'une piste avec musique/effets sonores.
  • Pre-processing for Voice Changer — isolez la voix source avant d'appliquer la transformation vocale.

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: Clé API invalide
  • 422: Paramètres invalides (ex. mauvais file_format pour l'audio fourni)
  • 429: Rate limit dépassé

References

Skills similaires