录音转纪要(voice-to-minutes)
把微信输入法「智能文字整理」的体验搬进 WorkBuddy,并升级到纪要级:录音→文字→你要的形态,一条龙自己干完。 不绑会议软件、不绑大厂套件:腾讯会议绑会议、飞书妙记绑飞书、通义听悟绑阿里系,我们服务所有不上大厂套件、但有大量口头沟通要留痕的人(小微企业、个体户、小商家老板)。
触发场景
- 用户发来音频 / 录音文件 / 一条或多条语音消息
- 用户贴来一段口述文字稿(如微信输入法、WorkBuddy 语音输入转好的)
- 说"转纪要""整理这段录音""出会议纪要""转逐字稿""帮我分类""一句话总结"
触发门槛(防误触发):用户明确带"整理 / 纪要 / 分点 / 转文字 / 逐字稿 / 分类 / 总结"类意图时才执行;纯闲聊、问答、与整理无关的消息不触发,正常对话即可——不抢戏、不添乱。
第一步 · 认输入形态(三种都能接)
| 用户怎么给 | 你怎么做 |
|---|---|
| 音频 / 语音消息(单条或多条) | 先转写:运行技能内置的 scripts/transcribe.py(离线 Whisper,见下方「转写引擎」);多条按发送顺序逐个转写再合并 |
| 文字稿(已用微信输入法等工具转好) | 跳过转写,直接进入输出环节 |
| 长录音 / 超长会议 | 分段转写与提炼(每段 ≤ 3000 字),最后合并成一份 |
转写引擎(内置离线 Whisper,转写由技能自行完成)
- 首选:技能内置离线 Whisper——在技能目录执行:
python scripts/transcribe.py "<音频路径>" "<输出txt>"它是开源模型(MIT),本地 CPU 即可跑、不填密钥、不上传;首次运行会自动下载约 140MB 权重(一次性,之后走本地缓存)。 - 每次固定产出两个文件:
<输出>.txt—— 纯文本全文(供整理稿 / 分类 / 总结 / 纪要用)<输出>_ts.txt—— 带时间戳逐字稿(每行[mm:ss] 原句,供逐字稿模式用,也可用于回听定位)
- 环境未装 Whisper 时(脚本会明确报错):按顺序回退——
- 提示用户一条命令安装:
pip install openai-whisper并把ffmpeg加入 PATH,装好即可; - 若 WorkBuddy 当前环境已原生支持音频转写,直接用其转写结果;
- 都不可行 → 明说"请把录音转成文字稿发我,我照样出整理稿或纪要",不假装转写、不凭空编。
- 提示用户一条命令安装:
- ⚠️ 音乐不是语音:歌曲/纯音乐会被 Whisper 当成"唱歌的语音"硬转成乱七八糟的歌词,做不了纪要。遇到明显是音乐的文件,如实告诉用户"这是音频但听感像音乐,ASR 只对人声有效",请换成人声录音。
第二步 · 认输出形态(六种随口点菜,可叠加)
按用户的话对号入座;没说清就默认整理稿,并在末尾附一句菜单;多选可叠加(如"逐字稿+一句话总结"两样都给)。
| 用户说 | 出什么 | 硬规则 |
|---|---|---|
| "逐字稿 / 一字不落 / 带时间戳" | 逐字稿模式 | 用 _ts.txt 的时间戳逐字稿原样呈现:不去口水词、不改一字、不加词;ASR 听错的可疑字词后标 [?],长音频按时间戳自然分段;能分说话人就标,不能就注明"单路录音未分说话人" |
| "整理一下 / 理一理 / 分分段" | 整理稿模式(默认) | 清洗四件事:去口水词、按语义分段、多条事项自动分 1/2/3/4、理顺语序——但忠实原意 |
| "分类 / 归类 / 按主题分" | 分类整理模式 | 把内容按主题/事项归类(用户指定维度就按用户的:按人 / 按时间 / 按事项);每类内部再分 1/2/3/4;每类标题一句话点题;归类依据只来自内容本身,不硬造类别 |
| "一句话总结 / 一句话说清" | 一句话总结模式 | 1-2 句话说清"这段录音核心是什么 / 定了什么";可附 ≤3 个关键词;只提炼有人明确说过的内容 |
| "纪要 / 会议纪要 / 谁负责什么" | 完整纪要模式 | 摘要 + 核心要点(1234) + 关键决策 + 待办(责任人/时限) + 重点原话 + 待确认,见下方骨架 |
| "用原文 / 保留原味" | 「用原文」变体 | 仅去口水词,不改语序、不加词、不分点改写——整理不满意时的退路 |
第三步 · 清洗(只用于整理稿/分类/总结/纪要;逐字稿绝不清洗)
- 去口水词(filler words:嗯 / 啊 / 那个 / 就是 / 然后),但保留关键原话(决策、承诺、数字、客户原话一字不改);
- 智能加标点、按语义分段(semantic segmentation)——话题切换就另起一段,不机械按时间切;
- 长内容自动归纳分点——按分点判据执行(规则自带,弱模型照章执行也能分对):一句话只说一件事;出现"还有 / 另外 / 对了 / 然后还有"等话题转折词即分新条;多条独立事项按 1/2/3/4 编号,有几点列几点、不强行凑数;
- 理顺颠倒语序、补残缺句——"明天下午客户我要对接"理顺成通顺书面语,不改原意。
第四步 · 输出骨架
模式一 · 逐字稿
【逐字稿】(原样记录,未经清洗;可疑听写字词标 [?])
[00:00] 原句原句原句……
[00:12] 原句原句原句……
——
▸ 想要好读的版本?说「整理一下」我出整理稿;说「出纪要」我出完整纪要。
模式二 · 整理稿(默认)
【整理稿】
(清洗后的全文:标点齐全、按语义分段、多条事项自动分 1/2/3/4、
语序通顺但忠实原意——不替用户改意思、不加观点)
——
▸ 输出菜单:逐字稿 / 分类整理 / 一句话总结 / 完整纪要 / 用原文,说一声就换。
模式三 · 分类整理
【分类整理】
一、<类别标题>(一句话点题)
1. ……
2. ……
二、<类别标题>
1. ……
(类别只从内容里来,不硬造;用户指定维度就按用户的)
模式四 · 一句话总结
【一句话总结】
(1-2 句:这段录音核心是什么 / 定了什么)
关键词:A | B | C
模式五 · 完整纪要
📌 一句话摘要
(这场到底定了什么 / 谈成了什么,没参会的人一眼看懂)
一、核心要点(自动分条 1/2/3/4)
1. ……
✅ 关键决策
- 决策 1(谁拍的板)
📋 待办清单
- [ ] 事项 | 责任人 | 时限
💬 重点原话(3-5 句最关键的,带说话人)
- "……"(谁说的)
❓ 待确认 / 悬而未决
- 问题 1(没人拍板,列出等后续)
要更短(只要待办)或更长(逐项展开),说一句就调。
质量铁律(硬约束,违反即不可信)
- 不脑补:金额、日期、人名、数量、条款编号,必须与转写原文逐字一致;拿不准就标「待核实」,绝不凭常识替用户补。
- 不推断:决议、待办、责任人、时限,必须是录音里有人明确说过的;没人说的,归入「待确认」,不替人拍板。
- 不把未定当结论:讨论中的倾向性意见 ≠ 已定决策;决策进"✅",倾向进"❓"。
- 忠实原意:整理稿只清排版与语序,不替用户改意思、不添加观点;原意拿不准就保守处理并标注,不"过度书面化"。
- 逐字稿的忠实在"不改":逐字稿与整理稿方向相反——逐字稿一个字都不许动,清洗规则在逐字稿模式下全部失效。
模型依赖与诚实边界
- 不挑模型,不依赖模型档位:转写由技能内置的本地 Whisper 完成(离线、开源、CPU 可跑);清洗规则、分点判据、质量铁律、结构化流程都是本技能自带逻辑,任何能对话的模型都能执行——就像微信输入法在千元手机端侧小模型上也能完成同类整理。规则写得具体,正是为了让弱模型照章执行也能做对;本技能不推荐、也不要求任何特定模型。
- 说话人分离(speaker diarization,说话人区分)不保证:能区分就标 A/B 或姓名;不能就按内容分角色(如"甲方/乙方"),并注明"说话人区分未经核实"。
- 方言 / 重口音 / 嘈杂环境识别率会下降,这是语音本身的物理现实(与模型档位无关);关键数字、人名请对照
_ts.txt时间戳回听原音频复核。 - ASR base 模型有错字率:正式文书场景建议换 small/medium 模型重转(改脚本里模型名即可),或回听校对。
第五步 · 自检
- [ ] 音频是否真的被转写成了文字(不是凭空编)?两个文件(纯文本 + 时间戳)都在?
- [ ] 用户要的形态给对了吗?逐字稿是否一字未改、整理稿是否没动原意?
- [ ] 分类整理的类别是否都来自内容本身?
- [ ] 金额 / 日期 / 人名 / 数量是否逐字核对,没脑补?
- [ ] 待办是否都有责任人和时限(没有就标"待定")?决议待办是否都有人明确说过?
- [ ] 是否区分了"已定"和"待确认"?
- [ ] 超长录音是否分段处理后再合并,没有截断遗漏?
现场提示
- 拿一段自己上周的真实口述 / 会议 / 谈判录音当场试,再和自己手记对比,体感最强。
- 六种形态按需点菜,可叠加(如"逐字稿+完整纪要"一次都要)。
使用约定(每次执行都遵守)
- 缺必需信息 → 一次性追问:用简洁清单一次问清,不来回挤牙膏;能推断就先给、末尾留修正口子。
- 示例只是框架参考 → 必须按真实情况改写,不要逐字照搬:照抄模板 = 撞款,发出去没效果。结合用户自己的产品、客户、口吻重写。
- 做不出 / 信息不足时 → 给降级版,不硬编:说清缺什么,给一个"用现有条件也能交付"的简化版;涉及数据 / 事实查不到的,标「待核实」,绝不杜撰。
Scan to join WeChat group