DevToolPal
简

实时语音转写

用英语口述,文字实时出现在屏幕上:Moonshine 语音模型在浏览器本地转写,音频不会上传。

本地处理,不上传

选项

模型
排列顺序

检测设置在下次点击「开始」时生效。

麦克风

模型只从 Hugging Face 下载一次并由浏览器缓存,之后打开几秒内即可开始。音频不会离开你的设备。

仅支持英语。Moonshine 只用英语语音训练,其他语言会被转成错乱的英文。

转写结果

点击「开始」后说话,每句话在短暂停顿后出现在这里。

这个工具做什么

实时语音转写会在你说话的同时把语音变成文字。点击「开始」,对着麦克风说话,每说完一句、稍作停顿,这句话就会出现在转写结果里。它的用法类似听写或语音输入,但语音识别完全在浏览器里运行:不用注册账号,没有服务器,音频也不会离开你的电脑。

识别模型是 Moonshine,由 Useful Sensors 发布的开源语音识别模型,专为实时、在设备本地转写而设计。它处理短句很快,正适合一句一句地转写。本工具通过 Transformers.js 和 ONNX Runtime Web 运行它:浏览器支持 WebGPU 时用显卡,否则用 WebAssembly。

本工具只支持英语。

使用方法

  1. 选择模型。Base 更准确;Tiny 更小,在较慢的电脑上更快。
  2. 点击「下载模型并开始」。模型只下载一次(Base 约 120 MB,Tiny 约 50 MB),随后浏览器会请求麦克风权限,请选择允许。
  3. 正常说话。音量条显示输入音量,检测到说话时变成绿色。你一停顿,这段话就会交给模型,文字作为新的一行出现。
  4. 点击「停止」释放麦克风。再次点击「开始」可以继续,时间戳会接着之前的时间计算。
  5. 用「复制」或「下载 .txt」保存转写结果,或用「清空」重新开始。把「排列顺序」设为「倒序(最新在上)」,最新一句就始终显示在最上面;复制和下载也按同样的顺序。

示例

打开时间戳时,一段简短的英语口述笔记是这样的:

[00:00] Let's start with the quarterly numbers.
[00:04] Revenue is up twelve percent compared to last year.
[00:09] Next, I want to talk about hiring.

关闭时间戳则得到纯文本行,可以直接粘贴到邮件、文档或笔记应用里。

调整语音检测

一个简单的语音活动检测器根据麦克风音量判断一句话从哪里开始、到哪里结束。它由三个设置控制:

  • 语音阈值:声音要多响才算说话。如果背景噪音让音量条一直是绿色,就选更「嘈杂」的档位;如果轻声说话被漏掉,就选更灵敏的档位。
  • 断句停顿:安静多久后才转写这段话。停顿越短出结果越快;越长则越能把整句话保持在一起。
  • 单行最长:把很长的连续讲话切开,即使你一直不停顿,转写也会持续更新。

这些设置在下次点击「开始」时生效。模型选择和时间戳开关会保存在页面地址里,可以收藏或分享你常用的设置;转写内容本身永远不会放进链接。

模型、许可与局限

本工具使用 onnx-community/moonshine-base-ONNX 或 onnx-community/moonshine-tiny-ONNX,即英语 Moonshine 模型的 ONNX 版本,采用 MIT 许可;Transformers.js 采用 Apache-2.0 许可。离麦克风较近、单人清晰说话时效果最好;人名、生僻词和口音较重的语音可能识别错误,标点也是模型推测的。如果要转写录好的音频文件,请使用「语音转文字」工具。

常见问题

› 我的声音会被上传吗?

不会。麦克风音频的采集、断句和转写都在你的浏览器标签页里完成。只有第一次点击下载按钮时,会从 Hugging Face 下载模型文件。转写结果只留在页面上,也不会放进分享链接。

› 支持哪些语言?

只支持英语。这里使用的 Moonshine 模型只用英语语音训练。Moonshine 也有其他语言的模型,但它们采用非商业许可,所以本工具没有使用。其他语言的语音会被转成错乱的英文。

› 模型有多大?每次都要下载吗?

Base 模型约 120 MB,Tiny 模型约 50 MB。第一次下载后浏览器会缓存这些文件,之后打开几秒内即可加载,不需要重新下载。

› 哪些浏览器可以用?

较新的 Chrome、Edge、Firefox 或 Safari,并且允许使用麦克风。支持 WebGPU 的浏览器会用显卡运行模型;其他浏览器用 CPU 上的 WebAssembly,速度慢一些,但在大多数笔记本上仍能跟上正常语速。

› 为什么要等我停下来,文字才出现?

Moonshine 以完整的短语为单位识别,所以工具会等你短暂停顿后再转写刚才说的话。可以在选项里缩短断句停顿,或者调低单行最长时长,让长段讲话更频繁地切分。