Desert Ant Labs

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 つもありませんでした。

98.5%
正しく振り分け
信頼度のしきい値を超えた答え、162 件の録音
99
言語
250ms
判定 1 回あたり
30 秒の窓を 3 つ

SDK を通してエンドツーエンドで計測し、モデルカードで公開しています。音楽の方が大きく混ざった音声が正しく読まれるのは、およそ 60% です。

まず正しい文字起こしを選ぶ

間違った言語に向けられた文字起こしは、自信満々にでたらめを返します。会議レコーダーやボイスメモアプリで、最初の 30 秒に Ear を走らせ、実際に話されている言語で文字起こし、字幕、翻訳を始めましょう。

録音のアーカイブを仕分ける

ボイスメモ、通話、エピソードのライブラリに、Node スクリプトや Mac アプリで一晩かけて Ear を走らせれば、朝までにすべてのファイルに言語が付きます。何もアップロードされず、ファイルごとの課金もありません。

通話や留守番電話を振り分ける

サポートアプリやメッセージング製品で、着信や留守番電話の言語を、それが人に届く前に言い当てます。その通話は、その言語を話せる担当者か、適切な音声モデルのもとへ届きます。

ブラウザで字幕を付ける

Web の動画ツールが、ブラウザでも Node でも同じ SDK を使い、話されている言語をクライアント側で判定し、字幕の言語を選ぶので、アップロードする人が選ぶ必要はありません。

インスピレーション

Ear で作るためのアイデア。プロンプトをコーディングエージェントにコピーして始めましょう。

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 言語。主要なヨーロッパ、アジア、アフリカの言語を含みます。
  • 位置で読むのではなく、最も話し声らしく聞こえる 30 秒の窓を 3 つ選ぶので、音楽のイントロや無音の区間にだまされません。位置で選ぶ方式では、話し声が 10 分の 1 しかない 5 分の録音で、言語を当てられるのは 4% にとどまります。
  • 言語、信頼度、順位付きの候補、そして isReliable フラグを返します。上位 2 つが接近して判定できないときはフラグが 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
入力
録音のうち 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 つもありませんでした。

リソース