> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# 人声分离快速入门

本指南将介绍如何使用人声分离 API 移除音频文件中的背景噪声。

> **Tip**
>
> 使用 [ElevenLabs voice-isolator skill](https://github.com/elevenlabs/skills/tree/main/voice-isolator)，通过 AI 编程助手移除音频文件中的背景噪声：
>
> ```bash
> npx skills add elevenlabs/skills --skill voice-isolator
> ```

## 使用人声分离 API

#### 创建 API 密钥

[在控制台中创建 API 密钥](https://elevenlabs.io/app/api/api-keys)，用于安全地[访问 API](/docs/zh/api-reference/authentication)。

将密钥作为受管理的机密信息存储，并根据偏好，通过 `.env` 文件将其作为环境变量传递给 SDK，或直接写入应用配置。

**`.env`**

```js title=".env"
ELEVENLABS_API_KEY=<your_api_key_here>
```

#### 安装 SDK

#### SDK

我们还会使用 `dotenv` 库从环境变量加载 API 密钥。

```python
pip install elevenlabs
pip install python-dotenv
```

```typescript
npm install @elevenlabs/elevenlabs-js
npm install dotenv
```

#### CLI

安装 ElevenLabs CLI。推荐使用 Homebrew（macOS）和 Scoop（Windows）。

**`Homebrew（macOS）`**

```bash title="Homebrew（macOS）"
brew install elevenlabs/tap/elevenlabs
```

**`Scoop（Windows）`**

```powershell title="Scoop（Windows）"
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs
```

**`npm`**

```bash title="npm"
npm install -g @elevenlabs/cli
```

**`curl`**

```bash title="curl"
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh
```

> **Tip**
>
> 正在使用 AI 编程助手？在项目中运行 `elevenlabs generate-skills`，即可将每个命令组的
> `SKILL.md` 写入 `skills/`，无需粘贴文档，助手就能了解 CLI 的完整功能。使用 `--output-dir`
> 可将其放到其他位置。该命令会读取 CLI 内置的 API 定义，因此无需 API 密钥且可离线运行——还能始终与已安装的 CLI 版本保持同步。

然后进行身份验证——这会打开浏览器以授权 CLI：

```bash
elevenlabs auth login
```

> **Note**
>
> 如需通过扬声器播放音频，系统可能会提示你安装 [MPV](https://mpv.io/)
> 和/或 [ffmpeg](https://ffmpeg.org/)。

#### 发起 API 请求

#### SDK

根据所选语言，新建名为 `example.py` 或 `example.mts` 的文件，然后添加以下代码：

```python maxLines=0
# example.py
import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import requests
from io import BytesIO

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

audio_url = "https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/voice_with_background.mp3"
response = requests.get(audio_url)
audio_data = BytesIO(response.content)

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

play(audio_stream)
```

```typescript maxLines=0
// example.mts
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

const audioUrl =
  "https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/voice_with_background.mp3";
const response = await fetch(audioUrl);
const audioBlob = new Blob([await response.arrayBuffer()], {
  type: "audio/mp3",
});

const audioStream = await elevenlabs.audioIsolation.convert({
  audio: audioBlob,
});

await play(audioStream);
```

然后运行：

```python
python example.py
```

```typescript
npx tsx example.mts
```

应该会听到扬声器播放分离后的人声。

#### CLI

下载示例音频，然后分离人声：

```bash
curl -O https://storage.googleapis.com/eleven-public-cdn/documentation_assets/audio/voice_with_background.mp3

elevenlabs audio-isolation convert \
  --audio voice_with_background.mp3 \
  --output isolated.mp3
```

打开 `isolated.mp3`，即可听到分离后的人声。

## 后续步骤

#### [变声器](/docs/zh/eleven-api/guides/cookbooks/voice-changer)

将音频文件中的声音转换为另一种声音

#### [语音转文本](/docs/zh/eleven-api/guides/cookbooks/speech-to-text)

使用语音转文本 API 将分离出的人声转录为文本

#### [API 参考文档](/docs/zh/api-reference/audio-isolation/convert)

查看所有人声分离参数和响应格式