voice-isolator について
ElevenLabsで録音の背景ノイズを除去し、音声やボーカルを分離するスキルです。音声のクリーニングや前処理に使え、SDKまたはCLIからファイルを入力できます。
主な機能
- 01背景ノイズの除去
- 02音声とボーカルの分離
- 03一般的な音声・動画形式に対応
- 04低レイテンシのPCM入力
- 05MP3を既定でストリーミング出力
活用シーン
- 01インタビューやポッドキャストの録音を整える
- 02ノイズの多い音声を文字起こし用に前処理
- 03音楽や効果音から会話を抽出
- 04ボイス変換前に声を分離
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ elevenlabs/ skills --skill voice-isolatorインストール後、Claude Code で/voice-isolatorを入力して読み込まれたか確認します。
同梱ファイルreferences/installation.md
詳細
ElevenLabs Voice Isolator
音声から背景ノイズを除去し、ボーカルや音声を分離します。ノイズの多い録音のクリーニング、文字起こし用の音声の準備、ミックスされたトラックからの会話音声の抽出に便利です。
コードを書く前のセットアップ: このプロジェクトで
ELEVENLABS_API_KEYが設定されていない場合は、まずアプリのフォルダーからnpx -y @elevenlabs/cli@latest onboard initを実行し、表示される指示に従ってください。ユーザーのサインインとプロジェクト用キーの保存が行われるため、キーを手動でコピーする必要はありません。それ以外の場合は、インストールガイドを参照してください。JavaScript では、@elevenlabs/*パッケージのみを使用してください。
クイックスタート
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
パラメーター
| パラメーター | 型 | デフォルト | 説明 |
|---|---|---|---|
audio | file (required) | — | 分離するボーカル/音声を含むオーディオファイル |
file_format | string | other | エンコードされた任意の音声には other、16 ビット PCM モノラル @ 16kHz リトルエンディアン(低レイテンシー)には pcm_s16le_16 |
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)
低レイテンシーの PCM 入力
すでに 16 ビット PCM モノラル @ 16kHz の生データがある場合は、file_format="pcm_s16le_16" を指定するとデコードを省略でき、レイテンシーを低減できます。
audio_stream = client.audio_isolation.convert(
audio=pcm_bytes,
file_format="pcm_s16le_16",
)
対応フォーマット
一般的なエンコード済みのオーディオ/ビデオコンテナ(MP3、WAV、M4A、FLAC、OGG、WebM、MP4 など)を入力として使用できます。デフォルトでは、レスポンスは MP3 のストリームです。
一般的なワークフロー
- インタビュー/ポッドキャストの録音をクリーニングする — 編集前に、部屋の環境音、空調音、交通騒音を取り除きます。
- ノイズの多い音声を音声認識用に準備する — まず音声を分離してから、
speech_to_text.convert()に渡すことで、文字起こしの精度を高めます。 - ミックスされたトラックから会話音声を抽出する — 音楽や効果音を含むトラックからボーカルを抽出します。
- Voice Changer の前処理 — 音声変換を適用する前に、元の音声を分離します。
エラー処理
try:
audio_stream = client.audio_isolation.convert(audio=audio_file)
except Exception as e:
print(f"Voice isolation failed: {e}")
一般的なエラー:
- 401:API キーが無効です
- 422:パラメーターが無効です(例:指定した音声に対して
file_formatが不適切) - 429:レート制限を超過しました
参考資料
コメント
Markdown 対応