首页博客 → 如何转录访谈录音,而不必手工敲一遍

如何转录访谈录音,而不必手工敲一遍

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

一小时的访谈,手工敲要四到六小时。自动转录把它压缩成几分钟机器时间加二十分钟核对——前提是录音和核对都做对了,而质量恰恰大半在这两处决定。

准确率大半在按下录音键之前就决定了

没有哪个模型能还原从未被录进去的信息。三件事比你之后调的任何参数都重要:

用笔记本电脑接一支便宜的外置麦克风录音,效果远好过塞在口袋里的手机,而且安排起来不花一分钱。

转录本身

一个请求。请求带时间轴的分段——对访谈来说,正是它让引语可以被核对:

from openai import OpenAI

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

with open("interview.mp3", "rb") as f:
    r = client.audio.transcriptions.create(
        model="whisper-1", file=f,
        response_format="verbose_json",
        language="zh",
        prompt="访谈对象:马尔凯蒂博士,流行病学家,主题是污水监测。",
    )

for s in r.segments:
    m, sec = divmod(int(s.start), 60)
    print(f"[{m:02d}:{sec:02d}] {s.text.strip()}")

受访者姓名、所在领域和专业术语都放进 prompt。访谈里专有名词密度极高,而专有名词正是识别最容易滑手的地方,一行提示就能解决其中大部分。

一个文件里的两个声音

单个混音录音不会带说话人标签。这是真实的限制,但有实际可行的绕法:

多数访谈用第二、第三种就够了。在确认自己需要之前,不要先去搭一套说话人分离的流水线。

核对结果

自动转录在普通话语上很准,最不可靠的地方恰恰是访谈里最要紧的:人名、数字、机构和专业术语。围绕这四类做一次二十分钟的检查,几乎能抓住全部问题。

时间轴让这件事变得可行——任何一句你拿不准的话,跳到那一秒听一遍即可。这也是避免已发表访谈中最糟糕故障的办法:一句读起来很顺、但从没有人说过的引语。

# 找出值得亲耳听一遍的位置
for s in r.segments:
    if any(c.isdigit() for c in s.text) or "博士" in s.text:
        print(f"{int(s.start)//60:02d}:{int(s.start)%60:02d}  {s.text.strip()}")

从逐字稿到你真正需要的东西

逐字稿是原料。真正被使用的通常是三样东西之一:

三者都可以由语言模型从文本里起草,只要守住一条规则就不会跑偏:明确要求引语逐字照录,且不得出现文本里没有的内容。然后用时间轴核对引语。

知情同意与存储

两件事值得在录音键按下之前谈定,而不是之后:

做需要伦理审查的研究时,这个保留窗口通常正是委员会会追问的那个细节。

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

免费获取 API 密钥

常见问题

一小时的访谈要转录多久?

机器时间几分钟——处理速度快于实时。真正需要预留的精力在之后核对人名、数字和术语上。

逐字稿会标出谁在说话吗?

单个混音录音不会。把参与者录进不同的轨或声道再分别转录,就能免费得到精确的区分。

带口音的说话准确吗?

支持较好的语种里清晰的口语识别得很有把握,包含不少口音。重口音、抢话和背景噪声会降低准确率——所以麦克风的摆放比任何参数都重要。

能拿到引语的时间戳吗?

可以。请求 verbose_json,每个分段都带精确的起止时间,任何一句引语都能在几秒内对着录音核对。

录音会被保存在什么地方吗?

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

相关阅读