ClawSkills logoClawSkills

Elevenlabs Transcribe

使用 ElevenLabs Scribe 将音频转录为文本。支持批量转录、来自 URL 的实时流、麦克风输入和本地文件。

介绍

# ElevenLabs Speech-to-Text

> **官方 ElevenLabs 语音转文本技能。**

以最先进的准确率将音频转换为文本。支持 90 多种语言、说话人区分和实时流式传输。

## 前置条件

- 已安装 **ffmpeg**(macOS 上使用 `brew install ffmpeg`) - 已设置 `ELEVENLABS_API_KEY` 环境变量 - Python 3.8+(依赖项会在首次运行时自动安装)

## 用法

```bash {baseDir}/scripts/transcribe.sh <audio_file> [options] {baseDir}/scripts/transcribe.sh --url <stream_url> [options] {baseDir}/scripts/transcribe.sh --mic [options] ```

## 示例

### 批量转录

转录本地音频文件:

```bash {baseDir}/scripts/transcribe.sh recording.mp3 ```

包含说话人识别:

```bash {baseDir}/scripts/transcribe.sh meeting.mp3 --diarize ```

获取包含时间戳的完整 JSON 响应:

```bash {baseDir}/scripts/transcribe.sh interview.wav --diarize --json ```

### 实时流式传输

从 URL 流式传输(例如,实时广播、播客):

```bash {baseDir}/scripts/transcribe.sh --url https://npr-ice.streamguys1.com/live.mp3 ```

从麦克风转录:

```bash {baseDir}/scripts/transcribe.sh --mic ```

实时流式传输本地文件(适用于测试):

```bash {baseDir}/scripts/transcribe.sh audio.mp3 --realtime ```

### 智能体静默模式

抑制 stderr 上的状态消息:

```bash {baseDir}/scripts/transcribe.sh --mic --quiet ```

## 选项

| 选项 | 描述 | |--------|-------------| | `--diarize` | 识别音频中的不同说话人 | | `--lang CODE` | ISO 语言提示(例如 `en`、`pt`、`es`、`fr`) | | `--json` | 输出包含时间戳和元数据的完整 JSON | | `--events` | 标记音频事件(笑声、音乐、掌声) | | `--realtime` | 流式传输本地文件而不是批量处理 | | `--partials` | 在实时模式期间显示临时转录结果 | | `-q, --quiet` | 抑制状态消息(推荐用于智能体) |

## 输出格式

### 文本模式(默认)

纯文本转录:

``` The quick brown fox jumps over the lazy dog. ```

### JSON 模式 (`--json`)

```json { "text": "The quick brown fox jumps over the lazy dog.", "language_code": "eng", "language_probability": 0.98, "words": [ {"text": "The", "start": 0.0, "end": 0.15, "type": "word", "speaker_id": "speaker_0"} ] } ```

### 实时模式

最终转录结果在确认后打印。使用 `--partials` 时:

``` [partial] The quick [partial] The quick brown fox The quick brown fox jumps over the lazy dog. ```

## 支持的格式

**音频:** MP3, WAV, M4A, FLAC, OGG, WebM, AAC, AIFF, Opus **视频:** MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP

**限制:** 最大文件大小 3GB,时长 10 小时

## 错误处理

脚本在出错时将以非零状态退出:

- **缺少 API 密钥:** 设置 `ELEVENLABS_API_KEY` 环境变量 - **文件未找到:** 检查文件路径是否存在 - **缺少 ffmpeg:** 使用您的包管理器安装 - **API 错误:** 检查 API 密钥有效性和速率限制

## 何时使用各模式

| 场景 | 命令 | |----------|---------| | 转录录音 | `./transcribe.sh file.mp3` | | 多人会议 | `./transcribe.sh meeting.mp3 --diarize` | | 实时广播/播客流 | `./transcribe.sh --url <url>` | | 用户语音输入 | `./transcribe.sh --mic --quiet` | | 需要词级时间戳 | `./transcribe.sh file.mp3 --json` |

更多产品