news 2026/8/28 10:29:16

如何用Transformers把多人会议录音转成文字

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用Transformers把多人会议录音转成文字

如何用Transformers把多人会议录音转成文字

【免费下载链接】transformers🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers

Transformers 的自动语音识别功能,能把一段多人混在一条音轨上的会议录音转成文字,并用时间戳标出每句话在录音中的位置。想象一下:一场三个人开的会,录音里你一句我一句,你想快速找到“预算”那段讨论,从头听完不现实,转成文字并带上时间戳后,可以直接定位到那几秒。读完本文,你可以在自己的录音上跑通这条转写流程,并知道两个最影响效果的参数怎么调。

🎧 先看效果

输入是一段多人同时说话的 WAV 会议录音,得到的东西是两部分:一段完整文字转写,外加一个“时间点 + 句子”的列表,可以顺着列表找到某句话出现在录音的哪一秒。

下图里两个人并排干活、声音混在一起的场景,就是模型要处理的状态:多路人声同处一条音轨。

安装与环境准备

环境假设:Python 3.10+,Linux 或 macOS。CPU 也能跑,有 GPU 会明显快一些。最短路径是两条命令:

git clone https://gitcode.com/GitHub_Trending/tra/transformers pip install transformers soundfile

soundfile用来读写 WAV 文件,transformers提供识别管道本身。如果你只想看官方怎么调 ASR 训练参数,语音识别示例目录 里有现成脚本可参考。

最小可运行示例

下面是全文唯一的核心代码块,保存为transcribe.py即可直接运行:

from transformers import pipeline import soundfile as sf asr = pipeline("automatic-speech-recognition", model="openai/whisper-large-v3") audio, sr = sf.read("meeting_3people.wav") out = asr(audio, sampling_rate=sr, chunk_length_s=30, batch_size=8, return_timestamps=True) print(out["text"]) for seg in out.get("chunks", []): print(seg["timestamp"], seg["text"])

逐行看它在做什么:

  • pipeline("automatic-speech-recognition")把识别模型和音频特征提取器拼成一条即用管道,首次运行会自动下载模型权重
  • sf.read读出音频数据audio和它的真实采样率sr,两者一起传给管道,采样信息才不会丢
  • chunk_length_s=30让长录音按 30 秒一段切着喂给模型,避免整段一次加载导致显存爆掉
  • return_timestamps=True给每句附加时间段,这是你之后“定位原录音位置”的关键
  • 最后循环打印每个分句的时间戳和文字,meeting_3people.wav换成你自己的文件即可

两个最关键的参数怎么选

参数作用建议值
chunk_length_s长录音切段长度:太短句子容易被拦腰截断,太长显存占用高从 15 到 30 之间试,普通会议录音取 30 通常稳妥
sampling_rate告诉管道“这段音频的真实采样率”,传错会导致语速、音调判断异常永远传sf.read返回的sr,不要手写

其余参数保持默认即可。如果录音明显偏长且机器配置高,可以调大batch_size提高吞吐;反之就调小。

放进真实项目

把转写接进你已有的整理流程,思路是:先拿到带时间戳的句子列表,再按关键词扫描,命中就打印所在位置。比如:

for seg in out["chunks"]: if "预算" in seg["text"]: print("原录音位置(秒):", seg["timestamp"][0])

验收标准很简单:把打印出的时间戳代回原录音播放,对应的发言内容和说话顺序应与转写一致;能对上,说明流程已经可用,下一步再把结果导出成带章节的会议纪要。

踩坑速查

  • 现象:转写整句乱码、漏词多。原因:两人声音重叠。解法:重叠说话是识别里最难的部分,预期会差一些,尽量用不重叠的片段做验收。
  • 现象:长录音一跑就显存不足。原因:一次性处理整段。解法:调小chunk_length_sbatch_size,分段喂入。
  • 现象:听感像变了调,时间对不上。原因:采样率信息传错。解法:把sf.read返回的sr原样传进管道,或先把音频重采样到 16kHz 再读。
  • 现象:第一次运行特别慢。原因:在下载模型。解法:换个带宽好的机器先跑一次把权重下完,之后就走本地缓存。

接下来可以做什么

如果转写在你的目标语言上不够准,可以按 语音识别示例文档 里的流程,用自己的标注数据继续微调 Whisper 模型。若在示例脚本里发现 bug,按 贡献指南 提交 PR 即可,仓库维护者会跟进。

【免费下载链接】transformers🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 10:28:24

File Locksmith 完整指南:不重启也能定位文件占用

File Locksmith 完整指南:不重启也能定位文件占用 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys …

作者头像 李华
网站建设 2026/8/28 10:28:16

数学建模可视化实战:从数据洞察到论文图表优化

1. 从数据到洞察:为什么数学建模离不开可视化 如果你参加过数学建模比赛,或者正在准备,大概率听过这样的说法:“论文里图一定要多,要好看,评委看论文很快,图比文字更抓眼球。” 这话对&#xff…

作者头像 李华
网站建设 2026/8/28 10:28:09

Mac mini本地部署AI大模型:Ollama与Docker跑起Agent实战指南

别再被云平台每个月的推理账单追着跑了。如果你手头有一台苹果 Mac mini,尤其是 M 系列芯片的版本,那你其实已经拥有一台可以 7x24 小时开机的本地 AI 服务器。它体积比路由器还小,满载功耗通常不到 30W,运行时几乎没有风扇噪音&a…

作者头像 李华
网站建设 2026/8/28 10:25:12

ESP32-P4离线部署180.9M参数LLM与Agent实战方案

分享一套将 180.9M 参数 LLM 与轻量 Agent 完整部署到 ESP32-P4 的离线推理实战方案。本文会从嵌入式离线大模型的选型思路讲起,逐步拆解模型量化、ESP-IDF 环境搭建、模型转换、C 推理代码编写、离线 Agent 调度设计,再到性能优化与常见报错排查&#x…

作者头像 李华
网站建设 2026/8/28 10:22:48

Hermes Agent 接入 OpenRouter:一个密钥管 200+ 个 AI 模型

Hermes Agent 接入 OpenRouter:一个密钥管 200 个 AI 模型 【免费下载链接】hermes-agent The agent that grows with you 项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent 如果你现在要在 Claude、GPT 和 Gemini 之间来回切换,每…

作者头像 李华