为什么我把 Moonshine 移植到了 JavaScript
I Ported Moonshine to JavaScript
开发者们一直希望能在浏览器中运行 Moonshine,我最终决定亲自完成这项移植工作。虽然核心库是用 C++ 编写的,但要让它在 Web 端真正好用,远不止编译成 WASM 那么简单。我重构了底层以支持内存缓冲,构建了符合 JavaScript 习惯的高层 API,并完善了从单元测试到完整 Web 页面的基础设施。现在,你可以通过 moonshine.ai 体验从极简转录到 Granola 风格会议记录的各种功能。我之所以如此重视 JavaScript 支持,是因为语音交互的未来在于客户端本地运行,而非依赖缓慢昂贵的服务器。就像键盘和摄像头一样,语音输入也应当自由且本地化,而这次移植正是为了让这一愿景在 Web 上成为现实。
语音交互天生就应该在客户端运行,仅仅因为模型曾经太大无法在消费级硬件上运行,就将音频数据流式传输到服务器再获取文本和意图,这种现状纯粹是惯性使然。