Ear.
オンデバイスの話し言葉の言語識別。99 言語に対応し、短い音声から、文字起こしを始める前に言語を特定します。
30 秒の音声から、言語を判定。
ボイスメモが届き、文字起こしは英語に設定されています。30 秒のところで Ear がポルトガル語だと告げ、次に動く文字起こしは、自信満々にでたらめを返す英語のものではなく、ポルトガル語のものになります。
Ear はファイル全体を聴くわけではありません。最も話し声らしく聞こえる 30 秒の区間を 3 つ見つけ、ジングルや無音を飛ばして、250 ms で言語を言い当てます。答えには信頼度と、それを信頼してよいかを示すフラグが付きます。
上位 2 つの候補が接近して分けられないとき、Ear はそう伝えます。間違った言語で文字起こしするのではなく、ユーザーに尋ねるか、汎用モデルにフォールバックできます。1 つの SDK で、あらゆるプラットフォームに対応します。Apple では Swift、Android では Kotlin、ブラウザと Node では JavaScript です。何もアップロードされません。
98.5% の確率で、正しい文字起こしへ。
162 件の録音で、Ear が信頼できると印を付けた答えの 98.5% が、正しい文字起こしへ振り分けられました。12 件の通常のアップロードと、ポッドキャストとして作り直した 10 件では、確信を持った答えに誤りは 1 つもありませんでした。
SDK を通してエンドツーエンドで計測し、モデルカードで公開しています。音楽の方が大きく混ざった音声が正しく読まれるのは、およそ 60% です。
まず正しい文字起こしを選ぶ
間違った言語に向けられた文字起こしは、自信満々にでたらめを返します。会議レコーダーやボイスメモアプリで、最初の 30 秒に Ear を走らせ、実際に話されている言語で文字起こし、字幕、翻訳を始めましょう。
録音のアーカイブを仕分ける
ボイスメモ、通話、エピソードのライブラリに、Node スクリプトや Mac アプリで一晩かけて Ear を走らせれば、朝までにすべてのファイルに言語が付きます。何もアップロードされず、ファイルごとの課金もありません。
通話や留守番電話を振り分ける
サポートアプリやメッセージング製品で、着信や留守番電話の言語を、それが人に届く前に言い当てます。その通話は、その言語を話せる担当者か、適切な音声モデルのもとへ届きます。
ブラウザで字幕を付ける
Web の動画ツールが、ブラウザでも Node でも同じ SDK を使い、話されている言語をクライアント側で判定し、字幕の言語を選ぶので、アップロードする人が選ぶ必要はありません。
インスピレーション
Ear で作るためのアイデア。プロンプトをコーディングエージェントにコピーして始めましょう。
Detect a caller's language and route the voicemail.
In a voicemail or call app, run Desert Ant's Ear on the first ~30 seconds of audio to identify the spoken language on-device, then route the message. For a very short voicemail, accumulate audio first, and treat a low-reliability answer as unknown and ask. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Install: SwiftPM desert-ant-core; Maven ai.desertant:ear:3.1.0; npm i @desert-ant-labs/ear @litertjs/core # browser. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Sort an archive of recordings by spoken language.
Build a batch tool that runs Desert Ant's Ear over a folder of recordings to tag each by spoken language, so a mixed archive sorts itself. On-device. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Install: SwiftPM desert-ant-core; Maven ai.desertant:ear:3.1.0; npm i @desert-ant-labs/ear @litertjs/core # browser. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Detect the language of a voice note, then transcribe with the right model.
Before transcribing, run Desert Ant's Ear on the first ~30 seconds to identify the spoken language on-device, then run Voz. Handle low confidence by asking the user instead of guessing. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Voz (Swift). Install and API: https://desertant.com/docs/voz/. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Pick the dominant language of a recording to route it.
Use Desert Ant's Ear on-device to identify the dominant spoken language of a recording (from its most speech-like 30-second windows) and route it to the right transcriber or team. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Install: SwiftPM desert-ant-core; Maven ai.desertant:ear:3.1.0; npm i @desert-ant-labs/ear @litertjs/core # browser. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Detect the language of a voicemail or dictation before transcribing.
Run Desert Ant's Ear on the first ~30 seconds of a voicemail or dictation on-device to identify the language, then pick the right transcriber. Ear needs about 30 seconds, so accumulate audio before deciding on very short clips. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Install: SwiftPM desert-ant-core; Maven ai.desertant:ear:3.1.0; npm i @desert-ant-labs/ear @litertjs/core # browser. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Gate transcription so it only runs on languages you support.
Use Desert Ant's Ear to detect the spoken language on-device and skip or reroute recordings in languages your transcriber does not support. Build it with the Desert Ant SDK. Ear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/ear/. Install: SwiftPM desert-ant-core; Maven ai.desertant:ear:3.1.0; npm i @desert-ant-labs/ear @litertjs/core # browser. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
モデルができること
- アフリカーンス語からヨルバ語まで 99 言語。主要なヨーロッパ、アジア、アフリカの言語を含みます。
- 位置で読むのではなく、最も話し声らしく聞こえる 30 秒の窓を 3 つ選ぶので、音楽のイントロや無音の区間にだまされません。位置で選ぶ方式では、話し声が 10 分の 1 しかない 5 分の録音で、言語を当てられるのは 4% にとどまります。
- 言語、信頼度、順位付きの候補、そして
isReliableフラグを返します。上位 2 つが接近して判定できないときはフラグが false になり、モデルが互いに混同するノルウェー語、スウェーデン語、デンマーク語でも false になります。 - デコード済みの音声はサンプルレートを問わず使え、Apple ではファイル URL も使えます。
- 重みは初回利用時にダウンロードされ、キャッシュされます。インスタンスの生成では何も処理せず、ダウンロードも始めません。
はじめに
話し言葉の言語検出 を、数行のコードで iOS or macOS, Android or web アプリに追加。 Ear のドキュメント.
// 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")
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.
// build.gradle.kts (Maven Central)
implementation("ai.desertant:ear:3.1.0")
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.
npm i @desert-ant-labs/ear @litertjs/core # browser
npm i @desert-ant-labs/ear # Node
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
- 入力
- 録音のうち 30 秒の窓を 3 つ。サンプルレートは問わない
- 速度
- 判定 1 回あたり約 250 ms、窓 3 つ
- プラットフォーム
- iOS、macOS、tvOS、visionOS(Core ML)、Android、Linux、Windows(LiteRT)、ブラウザ(WebAssembly と LiteRT.js)、Node
Ear は言語を言い当てるもので、文字起こしはしません。音楽の方が大きい音声が正しく読まれるのは 10 回中およそ 6 回で、ノルウェー語、スウェーデン語、デンマーク語は互いに混同されるため、Ear は設計上それらを信頼できないと印を付けます。30 秒より短い録音は窓が 1 つになり、答えの確度は下がります。信頼できない答えは、文字起こしの設定ではなく、ユーザーへの問いかけとして扱ってください。
FAQ
Ear とは?
オンデバイスの話し言葉の言語識別。99 言語に対応し、短い音声から、文字起こしを始める前に言語を特定します。
Ear はオンデバイスで動作しますか?
はい。Ear はデバイス上で動作し、サーバーへの通信は発生しません。データはユーザーの手元に残ります。
Ear はどのプラットフォームに対応していますか?
Ear は Swift, Kotlin, JavaScript / TypeScript 向けのネイティブなオンデバイス SDK として提供されます。
Ear の料金はいくらですか?
すべてのモデルは、SDK ごとに月間アクティブデバイス 100k 台まで無料です。各ユーザーがモデルを実行する回数に制限はありません。 カスタムライセンスについては、お問い合わせください。
Ear の精度や速度はどれくらいですか?
162 件の録音で、Ear が信頼できると印を付けた答えの 98.5% が、正しい文字起こしへ振り分けられました。12 件の通常のアップロードと、ポッドキャストとして作り直した 10 件では、確信を持った答えに誤りは 1 つもありませんでした。