语音识别 (Transformers.js)¶
体验直接在浏览器中运行的 AI 语音识别模型!借助 Transformers.js,我们可以将音频文件中的语音内容转换成文字。
上传一个英文短音频文件 (例如 .wav, .mp3),模型将尝试转录其中的语音。
转录结果:
-
工作原理¶
此演示利用 Transformers.js 库在浏览器中进行自动语音识别 (ASR):
- 加载库: 通过 CDN 引入 Transformers.js。
- 模型加载: 首次点击“转录音频”按钮时,会从 Hugging Face Hub 下载预训练的语音识别模型 (例如
Xenova/whisper-tiny.en
)。Whisper 是 OpenAI 开发的强大 ASR 模型。模型下载后会被浏览器缓存。 - 音频处理与转录:
- 用户��传的音频文件通过
URL.createObjectURL()
创建一个本地可访问的 URL。 - 该 URL 传递给加载的
automatic-speech-recognition
pipeline。 - Transformers.js 内部处理音频的加载、重采样(如果模型需要特定采样率)和特征提取。
- 模型处理音频数据并输出转录的文本。
- 用户��传的音频文件通过
- 显示结果: 转录后的文本会显示在页面上。
关于 Whisper 模型¶
Whisper 模型由 OpenAI 开发,它在大量的多语种和多任务监督数据上进行训练,展现出非常出色的鲁棒性和准确性。Xenova/whisper-tiny.en
是一个较小的、仅针对英语的版本,更适合在资源受限的浏览器环境中运行。
Transformers.js 使得这类先进的 AI 模型能够直接在用户的设备上运行,带来了许多便利。
客户端 AI 的优势¶
- 隐私性: 音频数据在用户浏览器本地处理,无需上传到服务器。
- 即时性: 一旦模型加载完成,转录过程相对较快。
- 离线能力: 若模型已缓存,理论上可在离线状态下工作(取决于具体实现和浏览器策略)。
- 成本效益: 减少了对服务器端计算资源的需求。
通过 Transformers.js,Web 应用可以集成更多令人兴奋的 AI 功能,如语音控制、实时字幕等。