
Whisper 用于通话转写:面向电话通话的准确语音转文字
Eric King
Author
电话通话转写是语音转文字最常见、也最有价值的应用场景之一。OpenAI Whisper 对噪声、口音与不完美音质具有较强鲁棒性,因此非常适合这一场景。
本文说明 如何将 Whisper 用于通话转写,包括音频格式、说话人分离、准确度优化以及真实世界的部署模式。
为什么选择 Whisper 做通话转写?
与传统 ASR 引擎相比,Whisper 在以下方面表现良好:
- 低质量电话音频(8 kHz)
- 口音与非母语说话人
- 背景噪声
- 长对话(10–120 分钟)
- 多语言通话与语码转换
典型用途:
- 客服通话记录
- 销售通话分析
- 质检与合规
- 通话摘要与洞察
- CRM 自动化
典型的通话转写流水线
Call (PSTN / VoIP)
↓
Call Recording (WAV / MP3)
↓
Preprocessing (resample, channel split)
↓
Whisper Transcription
↓
Speaker Diarization (optional)
↓
Post-processing (punctuation, timestamps, summaries)
音频格式:什么最合适
推荐设置
| 参数 | 取值 |
|---|---|
| 采样率 | 8 kHz 或 16 kHz |
| 声道 | 单声道或立体声 |
| 格式 | WAV(首选)、FLAC |
| 位深 | 16 位 PCM |
Whisper 会在内部重采样,但 更干净的输入有助于提高准确度。
单声道通话与立体声通话
单声道(最常见)
- 双方混在同一声道
- 流水线更简单
- 更难分离说话人
适合:
- 简单转写
- 检索与归档
立体声(最佳实践)
- 左声道:坐席
- 右声道:客户
优势:
- 说话人分离清晰
- 无需说话人分段
- 下游准确度更高
# Split stereo call into two mono tracks
import torchaudio
audio, sr = torchaudio.load("call.wav")
agent = audio[0]
customer = audio[1]
然后分别转写每个声道。
与 Whisper 结合的说话人分段
Whisper 本身不支持说话人分段,但可以与以下方案组合:
- Pyannote.audio
- WebRTC VAD + 聚类
- 基于声道的分离(优先)
常见流程:
- 运行分段模型
- 按说话人片段切分音频
- 用 Whisper 转写每个片段
- 合并结果并附上说话人标签
通话场景下较合适的 Whisper 模型
| 模型 | 准确度 | 速度 | 建议 |
|---|---|---|---|
| base | 中等 | 快 | ❌ 短通话 |
| small | 高 | 中等 | ✅ 大多数情况 |
| medium | 很高 | 较慢 | ✅ 合规场景 |
| large-v3 | 极佳 | 慢 | ✅ 法务 / 质检 |
建议: 呼叫中心通常选 small 或 medium
长通话(30–120 分钟)
对长通话,避免一次性喂入整段音频。
最佳实践
- 将音频切成 2–5 分钟片段
- 使用较小重叠(5–10 秒)
- 保留时间戳
result = model.transcribe(
audio_chunk,
condition_on_previous_text=True
)
这样可在片段之间保留上下文。
提高电话通话的转写准确度
1. 归一化音频
- 去除静音
- 归一化音量
- 必要时降噪
2. 使用语言提示
model.transcribe(audio, language="en")
3. 在 GPU 上启用 FP16
推理更快、更稳定。
4. 避免过度切分
片段过小会降低上下文与准确度。
实时与批量通话转写
| 模式 | 用途 |
|---|---|
| 实时 | 实时监控、告警 |
| 近实时 | 质检看板 |
| 批量 | 分析、归档 |
多数呼叫中心为稳定性与成本,采用近实时或批量。
在呼叫中心扩展 Whisper
小规模(每天 ≤ 100 通)
- 单台 GPU 服务器
- Whisper small
中规模(每天 1k–10k 通)
- GPU 池
- 异步任务队列(RabbitMQ / Kafka)
- 按片段处理
大规模(企业)
- 多 GPU 节点
- 音频预处理服务
- 转写 + 摘要流水线
后处理与价值提取
转写后常见步骤包括:
- 句读与标点
- 说话人标记
- 关键词提取
- 情感分析
- 通话摘要(LLM)
- CRM 集成
Whisper 与云端通话转写 API
| 方面 | Whisper | 云端 API |
|---|---|---|
| 成本 | 低(自建) | 高 |
| 数据隐私 | 完全可控 | 取决于供应商 |
| 准确度 | 很高 | 高 |
| 可定制性 | 完全 | 有限 |
若团队重视隐私、成本与定制,Whisper 是理想选择。
结论
Whisper 是通话转写的有力选择,尤其适合:
- 客户支持
- 销售与质检
- 合规要求高的行业
配合恰当的音频处理、分块与可选的说话人分段,Whisper 可以在规模上提供生产级通话转写。
