
开源无声语音系统Silent Voice:用20美元EMG传感器和摄像头让失声者重新说话
来源标题:Show HN: Open-source silent speech with $20 EMG sensors and a webcam
Cal Hacks 13.0黑客松上,团队开发出开源无声语音系统Silent Voice,让喉切除患者仅凭口型即可实时发声。该系统结合20美元EMG传感器与摄像头,每100毫秒融合唇部、肌电和表情数据进行联合解码,并支持在普通电话通话中使用。该项目获得赛事总排名第二,并赢得Cartesia语音AI挑战奖。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
Silent Voice 让失去喉部的人重新拥有声音。你只需无声地做口型,Silent Voice 就会在你仍在做口型的同时,用你自己的声音把话讲出来,即使是在电话通话中也能做到。我们在 Cal Hacks 13.0 上构建了它,获得全场第二名,并赢得了 Cartesia 的语音 AI 挑战赛。那个周末的经过写在 Thai 的文章里。
喉切除术会切除喉部,通常是在喉癌之后进行。患者保留了嘴唇、舌头和下颌,所以话还在,只是声音没了。许多人通过电子喉说话,那是一个手持蜂鸣器,听起来像机器人,还要占用一只手。我们认为,他们理应拥有一个听起来像自己的声音,能跟上真实对话的节奏,并且能在普通电话通话中工作,而这正是我们在构建的东西。我们的演示说话人是 Austin,他身体健康,演示中没有患者参与。
Silent Voice 只有一种模式:张嘴、无声、实时。三个读取器协同工作,因为每一个都能看到其他两个看不到的东西。每 100 毫秒,一次联合搜索将它们组合起来,并在置信度足够高时立刻锁定每个词。摄像头读取嘴唇,承担大部分工作。它还读取面部表情,用来设定声音的情绪。EMG 模型读取面部肌肉的电信号,因此能看到摄像头看不到的舌头和下颌。它解决在嘴唇上看起来相似的词(“bat”、“mat”、“pat”),提出自己的猜测,并在面部难以看清时继续工作。Claude 跟踪整个对话,双方都跟。它在你开始做口型之前预测可能的词,并修复相似词的错误(在关于药物的问题之后,把“bills”修正为“pills”)。它只替换相似的词,从不添加想法。Cartesia 在每个词锁定后立即用你克隆的声音说出来,不等句子结束。当系统无法判断你说了什么时,它会显示“Please repeat”,而不是猜测。继续阅读了解细节。
演示在两分钟内完成,现场进行,在我们的桌边。
| 部分 | 工具 |
|---|---|
| 实时唇读 | 我们的(lipread/),基于开源的 Auto-AVSR 模型。我们把逐片段读取器改成了实时读取器,在 Austin 做口型时流式输出词语猜测,知道他从何时开始、何时停止,并把每个猜测送入与 EMG 模型和 Claude 的一次联合搜索中。 |
| 面部、嘴部裁剪、表情 | MediaPipe FaceLandmarker |
| 肌肉信号 | BioAmp EXG Pill 板和 Arduino Uno,见 HARDWARE.md |
| EMG 模型 | SVR-1,我们的:PyTorch,在 Berkeley 的无声语音数据上预训练,在 Austin 上微调 |
| 上下文与修复 | Claude,通过 Claude API |
| 声音克隆与语音 | Cartesia Sonic 3.6,Instant Voice Clone |
| 对方的语音转文字 | Cartesia Ink |
| 电话通话 | Twilio |
| 计算 | 一台笔记本电脑,RTX 5060 |
| 代码与数据 | 所有代码都在这个仓库里。 |
数据集、检查点、结果和 Python 环境位于仓库之外的一个工作目录中,代码通过环境变量 RECLAIM_WORKDIR 找到它们(数据集在 silent_speech/ 和 data/ 中,加上 checkpoints/、benchmark_results/、recordings/、third_party/)。如果没有设置它,代码会期望数据就在自己旁边,集群副本就是这样工作的。数据文件夹在 .gitignore 中。
这是一个原型,不是医疗设备。即使在正常说话的录像上,唇读也有大约五分之一的词出错,而无声做口型更难。EMG 模型和 Claude 的作用就是缩小这个差距。EMG 模型是为一个人(Austin)训练的,来自三次录音会话,见 RECORDING.md。声音会稍微落后于嘴唇,因为一个词只有在置信度足够高、可以锁定时才会被说出来。
基于以下工作:
- Digital Voicing of Silent Speech,Gaddy 和 Klein,UC Berkeley,2020,用于电极位置和预训练数据。
- Auto-AVSR,Ma 等,2023,用于唇读。
- Lipflow,MIT 许可证,用于使用 MediaPipe 的实时嘴部裁剪。
团队:Thai(EMG 硬件和 Claude 服务)、Austin(EMG 模型和融合,以及演示中的说话人)、Frank(Cartesia 声音、Twilio 通话和字幕仪表板)、Evan(实时唇读和面部情绪)。
Silent Voice 在 MIT 许可证下开源。捆绑的第三方文件保留它们自己的许可证,分别是 Mermaid(MIT,docs/vendor/mermaid.LICENSE)、Liberation Sans 和 Atkinson Hyperlegible Next 字体(SIL Open Font License 1.1),以及 MediaPipe 的面部网格数据(Apache-2.0)。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。