介绍
# 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` |