@desert-ant-labs/ear

中文文档
4.3.0发布于 2026/11/06SEE LICENSE IN LICENSE.mdTypeScriptES Module近 30 天下载 1.7万

JavaScript的On-device口语识别:在转录之前,先取一个录音语言的名称. 在浏览器(WebAssembly + LiteRT.js)和服务器端(native)运行,从一个导入.

中文使用文档
文档目录5 节
  1. 使用
  2. 分会 isReliable ,没有打开 confidence
  3. 它会听什么
  4. 限制
  5. 许可证

@ 沙漠地块/ ear

用于JavaScript的在线语音语言识别. 录下一段录音 标出它使用的语言,所以应用程序可以在它之前选择正确的识别器 开始转写。 所有东西都是本地的 所以录音从不离开 设备或浏览器.

两条共用一条 Ear API : (英语)

  • @desert-ant-labs/ear (默认):一个WebAssembly输油管 LitteRT.js (法语) 推论 (XNNPACK默认加速CPU,可选WebGPU),用于 浏览器。 没有本地的依赖性,所以每个目标都有一个干净的进口建筑 多目标捆绑机(Next.js、Remix、SvelteKit、Nuxt),包括 浏览器捆绑和客户端-组件 SSR 通过这些框架 节点. 这是安全的 导入 服务器侧渲染时, 但 LiteRT.js 需要 浏览器( 或 Web Worker) 以初始化, 所以 Ear.load() 只运行推论 浏览器; 在平面节点中调用它 改为 /native。 。 。 .
  • @desert-ant-labs/ear/native: 预建的本地核心( LiteRT on Linux, 核心ML在macOS上,用于 服务器侧推论 在节点。 没有 @litertjs/core, (中文(简体) ), 没有建造工具,没有旗帜。 从纯服务器代码( API 路由、 服务器) 导入 动作,普通节点脚本). 不要从同样组件导入它 在浏览器中制作.
# Browser (default entry):
npm i @desert-ant-labs/ear @litertjs/core

# Server-side inference in Node (/native entry) needs no extra install:
npm i @desert-ant-labs/ear

使用

import { Ear } from "@desert-ant-labs/ear";          // browser
// import { Ear } from "@desert-ant-labs/ear/native"; // Node

const ear = await Ear.load();                        // downloads once, then cached
const detection = await ear.identify(samples, 16000);

detection.language      // "pt"
detection.confidence    // 0.98
detection.isReliable    // true

ear.dispose();

samples 单数 Float32Array 任何速率; 音频重印, 16 kHz 避免转换.

分会 isReliable,没有打开 confidence

if (detection.isReliable) {
  transcribeWith(detection.language);
} else {
  askTheUser();            // or fall back to a general recognizer
}

isReliable 当前两名候选人离分开太近时是虚假的 对北欧语言来说是虚假的,模型将北欧语言相互混淆 自信的而不是不确定的--所以他们的概率不会揭示 问题和门槛 confidence 无法抓住它。 旗帜决定在 所以SDK的读数都是一样的 判决.

它背后的门槛是用162个录音把它扫去: 上面的答案,98.5%的路由正确,在某一语言的文件上,主要 识别器支持,100%支持.

它会听什么

交给翻译的文件不是演讲结束,所以 Ear 没有 听它结束 要么结束。 它按照候选人窗口的多少排序 音高按音节率不同 - 语音起伏 三到六次 a 第二,词之间有空白,音乐维持,沉默完全没有变化

  • 并听取最上三相语.

过 windows 以更改数量:

await ear.identify(samples, 16000, { windows: 5 });

限制

  • 在响亮的音乐下,演讲混杂在一起 大约60%的时间被正确读取. 选择更好的窗口没有帮助;模型无法读取.
  • 北欧语言 不可靠地区分 isReliable 错误 而不是自信地报告.
  • 记录短于30秒 得到一个单一窗口,所以有 答案不如数字所示的那么肯定.
  • 多语种录音以所选窗口所使用的语言报告 包含,而不是作为混合物.

许可证

沙漠蚂蚁实验室 源头可破坏许可证。为大多数免费提供 应用软件和商务许可证必须规模化。 完整的术语在链接. 许可证发放: 许可@ desertant.com。 。 。 .

SDK的第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .

权重第三方通知: THIRD_PARTY_NOTICES.md。 。 。 .

版本与发布记录

@desert-ant-labs/ear 共发布 14 个版本,首次发布于 2026/08/28;过去 12 个月发布了 14 个版本。

版本发布日期距今
4.3.0latest2026/11/066 天前
4.2.32026/10/3112 天前
4.2.22026/10/3112 天前
4.2.12026/10/2815 天前
4.2.02026/10/2716 天前
4.1.02026/10/2023 天前

关于 @desert-ant-labs/ear 的常见问题

@desert-ant-labs/ear 是什么?

JavaScript的On-device口语识别:在转录之前,先取一个录音语言的名称. 在浏览器(WebAssembly + LiteRT.js)和服务器端(native)运行,从一个导入.

如何安装 @desert-ant-labs/ear?

在项目目录运行 npm install @desert-ant-labs/ear,或使用 pnpm add / yarn add / bun add。

@desert-ant-labs/ear 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@desert-ant-labs/ear 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@desert-ant-labs/ear 可以商用吗?

@desert-ant-labs/ear 使用 SEE LICENSE IN LICENSE.md 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@desert-ant-labs/ear 的下载量有多少?

根据 npm 官方下载统计,@desert-ant-labs/ear 在 2026/10/12 – 2026/11/10 这 30 天内被下载 16,923 次,日均约 564 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@desert-ant-labs/ear 还在维护吗?

最新版本 4.3.0 发布于 2026/11/06(6 天前);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/08/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。