首页博客 → 如何把通话录音转成文字

如何把通话录音转成文字

发布于 2026-08-05 · 6 分钟阅读

销售和客服团队每天录下上百通电话,但没有人有时间把它们全部听完。转录把录音变成可以检索、可以分析、可以写进 CRM 的文字。下面讲清楚如何在几分钟内完成配置,而且不用重写现有代码。

为什么要转录通话

文字版对话能解决四个音频做不到的问题:

需要准备什么

只有三样东西:

  1. 通话录音,任意常见格式:mp3、wav、ogg、m4a。呼叫中心系统通常导出 mp3 或 wav。
  2. API 密钥。注册只需一分钟,密钥立即发放。
  3. 任意带 HTTP 客户端的编程语言。下面用 Python 和 C# 举例,其他语言同样可行。

不需要单独的服务器、显卡或者下载模型:识别在服务端完成。

第一步:获取 API 密钥

注册后在客户后台的「API」标签页复制形如 vs_live_… 的密钥。密钥等同于密码,请放进环境变量,不要写进源代码。

免费额度足够跑十几通真实对话,在付费之前就能判断识别质量。

第二步:发送第一条录音

协议与 OpenAI Whisper 一致,官方 SDK 可以直接使用。Python:

from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="your key")

with open("call-2026-08-05.mp3", "rb") as f:
    result = client.audio.transcriptions.create(model="whisper-1", file=f)

print(result.text)

C# 同理,使用官方 OpenAI 客户端:

var options = new OpenAIClientOptions { Endpoint = new Uri("https://voicesscribe.com/v1") };
var client = new OpenAIClient(new ApiKeyCredential("your key"), options);
var audio = client.GetAudioClient("whisper-1");
var result = await audio.TranscribeAudioAsync("call.mp3");
Console.WriteLine(result.Value.Text);

不写一行代码,直接在终端里验证也可以:

curl https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer your key" \
  -F file=@call.mp3 -F model=whisper-1

第三步:选择响应格式

response_format 参数决定返回什么:

取值返回内容适用场景
json完整文本写入 CRM、全文检索
verbose_json文本加上带时间轴和语种的分段标注对话、跳转到某个时刻
srtvtt现成的字幕文件会议和网络研讨会的录像
text不带外壳的纯文本快速脚本和处理流水线

第四步:让自有词汇识别得更准

公司名称、人名和产品编号,通过 prompt 参数提示模型之后会准确得多:

result = client.audio.transcriptions.create(
    model="whisper-1", file=f,
    prompt="Plans discussed: Lite, Optimum, Premium; account manager Sawyer",
)

提示词不会出现在返回结果里,它只是把识别向这些词汇偏移。如果音频本来就是单一语种,再加上 language="zh":既加快处理,也消除短句上的语种误判。

第五步:把转录变成常规流程

呼叫中心的常用做法:录音一生成就进入队列送去识别,结果写回商机记录。

import os, pathlib
from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key=os.environ["VS_KEY"])

for path in pathlib.Path("recordings").glob("*.mp3"):
    with path.open("rb") as f:
        text = client.audio.transcriptions.create(model="whisper-1", file=f).text
    path.with_suffix(".txt").write_text(text, encoding="utf-8")
    print(path.name, "done")

处理速度快于实时:一分钟的通话几秒钟就转录完,因此一整天的录音档案也只需几分钟就能跑完。

常见错误及其含义

状态码原因处理办法
401密钥错误或已被停用检查 Authorization: Bearer … 请求头
400文件为空或已损坏确认录音能被播放器打开
413文件超过 25 MB压制成 mp3/opus,或者切分
429请求过于频繁,或额度用尽降低频率或更换套餐

长录音存成 opus 或 mp3 更划算:一小时的通话在 wav 里是几百兆,在 opus 里只有几兆。

用你自己的录音试一试。 注册只需一分钟,免费额度足够判断识别质量。

免费获取 API 密钥

常见问题

转录一通电话要多少钱?

按音频分钟计费,因此成本取决于通话时长。新账号注册后立即获得免费分钟数,足够在自己的录音上验证质量。

电话录音的识别准确率如何?

电话音频经过压缩,频带比录音棚窄,但现代模型处理得很稳。语音清晰时几乎没有错误;噪音、抢话和浓重口音会拉低准确率。

能区分坐席和客户吗?

如果电话系统把双方录成不同声道或不同文件,分别转录即可得到精确的区分。单个混音文件内部的说话人分离目前不做。

处理完之后录音会怎样?

录音和转录文本保存不超过 24 小时,供你核对结果,之后自动删除。

需要自己的服务器或显卡吗?

不需要。识别在服务端完成,你只需要从代码里发一个 HTTP 请求。

相关阅读