Desert Ant Labs

Ear.

口语语种检测可用

设备端口语语种识别,在转写开始前,凭一小段音频判定所说语言,覆盖 99 种语言。

凭 30 秒音频判定语言。

一条语音留言进来,转写器被设成了英语。30 秒后,Ear 说这是葡萄牙语,于是接着运行的是葡萄牙语转写器,而不是一个自信地返回一堆胡话的英语转写器。

Ear 不会听完整个文件。Ear 找出听起来最像语音的三个三十秒片段,跳过片头曲和静音,在 250 毫秒内说出语言。答案附带一个把握度,以及一个标记,告诉你是否该信任它。

当前两个候选太接近、无法区分时,Ear 会如实说明。你可以去问用户,或退回到一个通用模型,而不是用错误的语言去转写。一个 SDK,覆盖每个平台:Apple 上用 Swift,Android 上用 Kotlin,浏览器和 Node 里用 JavaScript。什么都不上传。

98.5% 的情况选对转写器。

在 162 段录音上,Ear 标为可靠的答案里有 98.5% 分流到了正确的转写器;在 12 个普通上传和 10 个重制成播客的样本上,没有一个自信的答案是错的。

98.5%
分流正确
高于可靠度阈值的答案,162 段录音
99
语言
250ms
每次识别
三个三十秒窗口

端到端穿过 SDK 测得,已公布在模型卡上。混在更响音乐下的语音,约有 60% 的情况读对。

先选对转写器

指向错误语言的转写器,会自信地返回一堆胡话。在会议记录器或语音笔记应用里,对前 30 秒运行 Ear,再用真正所说的语言启动转写、字幕和翻译。

整理一批录音存档

在 Node 脚本或 Mac 应用里,通宵把一库语音笔记、通话或节目过一遍 Ear,到早上每个文件都标好了语言。什么都不上传,也不按文件计费。

分流一通电话或一条语音信箱

在客服应用或即时通讯产品里,在一通来电或一条语音信箱到达真人之前,先说出它的语言。这通电话就会落到会说这门语言的人那里,或落到对的语音模型上。

在浏览器里做字幕

一款网页视频工具在客户端识别所说的语言,浏览器和 Node 里用同一个 SDK,并据此选好字幕语言,上传者从此不用自己选。

灵感

用 Ear 构建的点子。把提示词复制到你的编码 agent 里就能开始。

Ear

Detect a caller's language and route the voicemail.

Ear

Sort an archive of recordings by spoken language.

EarVoz

Detect the language of a voice note, then transcribe with the right model.

Ear

Pick the dominant language of a recording to route it.

Ear

Detect the language of a voicemail or dictation before transcribing.

Ear

Gate transcription so it only runs on languages you support.

模型能做什么

  • 99 种语言,从南非荷兰语到约鲁巴语,涵盖主要的欧洲、亚洲和非洲语言。
  • 挑选听起来最像语音的三个三十秒窗口,而不是按位置去读,因此一段音乐片头或一段静音骗不了它。按位置挑选时,一段五分钟、只有十分之一是语音的录音,只有 4% 的概率能找对语言。
  • 返回语言、一个把握度、排好序的候选,以及一个 isReliable 标记。当前两个太接近、难以定夺时该标记为 false,对彼此混淆的挪威语、瑞典语和丹麦语也为 false。
  • 任意采样率、已解码的音频都可用;在 Apple 上文件 URL 也可用。
  • 权重在首次使用时下载并缓存;构造时不做任何工作,也不发起任何下载。

快速上手

只需几行代码,即可为你的 iOS or macOS, Android or web 应用加上 口语语种检测。 Ear 文档.

iOS, macOS
安装
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "3.1.0")
// target dependency
.product(name: "Ear", package: "desert-ant-core")
示例 - Swift
import Ear

let ear = Ear()   // downloads on first use
let detection = try await ear.identify(contentsOf: url)
detection.language      // "pt"
detection.isReliable    // true
用提示词构建
Add Ear from Desert Ant Labs to this Swift project (iOS, macOS).

What it does: Ear:设备端口语语种识别.

SDK:

Swift (iOS, macOS)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "3.1.0")
// target dependency
.product(name: "Ear", package: "desert-ant-core")

Reference:
- Model page: https://desertant.com/models/ear/
- Full catalog and other models: https://desertant.com/llms.txt

Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Android
安装
// build.gradle.kts (Maven Central)
implementation("ai.desertant:ear:3.1.0")
示例 - Kotlin
import ai.desertant.ear.Ear

val ear = Ear(context)   // downloads on first use
val detection = ear.identify(samples, 16_000.0)
detection.language      // "pt"
detection.isReliable    // true
ear.close()
用提示词构建
Add Ear from Desert Ant Labs to this Kotlin project (Android).

What it does: Ear:设备端口语语种识别.

SDK:

Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:ear:3.1.0")

Reference:
- Model page: https://desertant.com/models/ear/
- Full catalog and other models: https://desertant.com/llms.txt

Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Web, Node.js
安装
npm i @desert-ant-labs/ear @litertjs/core   # browser
npm i @desert-ant-labs/ear                  # Node
示例 - TypeScript
import { Ear } from "@desert-ant-labs/ear";

const ear = await Ear.load();
const detection = await ear.identify(samples, 16000);
detection.language      // "pt"
detection.isReliable    // true
用提示词构建
Add Ear from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js).

What it does: Ear:设备端口语语种识别.

SDK:

JavaScript / TypeScript (Web, Node.js)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
npm i @desert-ant-labs/ear @litertjs/core   # browser
npm i @desert-ant-labs/ear                  # Node

Reference:
- Model page: https://desertant.com/models/ear/
- Full catalog and other models: https://desertant.com/llms.txt

Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.

规格

语言
99
输入
录音中的三个三十秒窗口;任意采样率
速度
每次识别约 250 毫秒,三个窗口
平台
iOS、macOS、tvOS、visionOS(Core ML);Android、Linux、Windows(LiteRT);浏览器(WebAssembly 和 LiteRT.js);Node

Ear 说出语言,但不做转写。在更响的音乐下的语音,大约十次里读对六次;挪威语、瑞典语和丹麦语彼此容易混淆,因此 Ear 会按设计把这几种标为不可靠。短于 30 秒的录音只得到一个窗口和一个把握较低的答案。请把不可靠的答案当作一个要问用户的问题,而不是一个转写器设置。

常见问题

Ear 是什么?

设备端口语语种识别,在转写开始前,凭一小段音频判定所说语言,覆盖 99 种语言。

Ear 在设备上运行吗?

是的。Ear 在设备上运行,不调用任何服务器,因此数据始终留在用户手中。

Ear 支持哪些平台?

Ear 以面向 Swift, Kotlin, JavaScript / TypeScript 的原生设备端 SDK 形式提供。

Ear 的价格是多少?

每个模型的每个 SDK 均可免费支持最多 10 万台月活跃设备。每位用户调用模型的次数不设上限。 如需定制授权,请联系我们

Ear 的准确度和速度如何?

在 162 段录音上,Ear 标为可靠的答案里有 98.5% 分流到了正确的转写器;在 12 个普通上传和 10 个重制成播客的样本上,没有一个自信的答案是错的。

资源