如何把讲座或网络研讨会转成可用的笔记
一场九十分钟的讲座大约是一万两千字。为了一个公式重看一遍太浪费,手写笔记又要花掉同样的时间。转录几分钟就能解决:文字可以搜索、可以压缩成提纲,考试前或落地前随时回看。
文字版解决了什么
重看录像的三个理由,转录都能覆盖:
- 搜索。一个术语、一个库名、一位作者,一秒钟就能定位,不用来回拖进度条。
- 笔记。把文字压缩成提纲只需一遍,人工或交给语言模型都行。
- 无障碍。通勤中、开放式办公室里、听力不便的人,都更依赖文字。
课程作者还有额外好处:带转录的页面能被搜索引擎收录,视频本身不能。
先准备音频
讲座通常是视频。先抽出音轨并压缩,识别用不到画面,多余的体积只会拖慢上传:
ffmpeg -i lecture.mp4 -vn -ac 1 -ar 16000 -c:a libopus -b:a 24k lecture.ogg
单声道、16 kHz、opus 能把文件缩小一个数量级,而清晰度毫无损失——模型本来就按 16 kHz 处理。
带时间戳的转录
讲座适合用分段格式,之后可以直接跳回视频的对应分钟。
from openai import OpenAI
client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="your key")
with open("lecture.ogg", "rb") as f:
r = client.audio.transcriptions.create(
model="whisper-1", file=f, response_format="verbose_json",
)
for seg in r.segments:
print(f"[{int(seg['start'])//60:02d}:{int(seg['start'])%60:02d}] {seg['text'].strip()}")
输出是带时间标记的分句文本。把它放在视频旁边,每个时间点都是一个跳转链接。
术语、人名和公式
讲座满是专业词汇,任何模型都在这里出错。把词表通过提示词传进去:
r = client.audio.transcriptions.create(
model="whisper-1", file=f,
prompt="计量经济学讲座:异方差、德宾-沃森检验、最小二乘法",
)
提示词不会出现在结果里,只是把识别推向正确的词。如果讲课只用一种语言,再传一个语言代码,可以消除停顿处的误判。
处理完整的九十分钟
长录音放不进一次请求,按停顿切开再拼回来:
ffmpeg -i lecture.ogg -f segment -segment_time 900 -c copy part%03d.ogg
十五分钟一段可以并行处理,按文件名顺序合并即可。切点尽量落在静音处,句子就不会被拦腰截断。
用你自己的录音试一试。 注册只需一分钟,免费额度足够判断识别质量。
免费获取 API 密钥常见问题
一小时的讲座要处理多久?
处理速度快于实时:一小时音频大约两分钟出结果,切成小段并行发送还会更快。
教室里录得不好也能识别吗?
靠近话筒的讲话识别很稳。混响大的教室、后排提问和投影仪噪音会降低准确率,用领夹麦或调音台输出效果最好。
能直接得到视频字幕吗?
可以,请求 srt 或 vtt 格式,返回的就是能直接挂到播放器上的字幕文件。
怎么区分讲师和提问者?
系统不做自动说话人分离。如果提问走另一支话筒并录到独立声道,把声道分别转录即可。
相关阅读
- 如何把会议录音转成可用的会议纪要 — 把 Zoom、Teams 和 Google Meet 的录音变成可检索的文字和结构化纪要:文件在哪里、如何转录、如何提取决议和待办事项。
- 从视频和网络研讨会自动生成 SRT 与 VTT 字幕 — 如何从录播视频或网络研讨会得到带时间轴的现成字幕:提取音轨、SRT 与 VTT 的区别、代码示例,以及常见问题的解决办法。
- 把 YouTube 视频转成文字的三种办法 — 把 YouTube 视频变成文字的三种方法:平台自动字幕、下载音轨自己转录、批量处理整个频道——附代码以及各自的边界。