Desert Ant Labs

Align

単語タイムスタンプ提供中

どの文字起こしにも使える、オンデバイスの単語タイムスタンプ。5倍の精度で、単語の位置でカット・字幕・ハイライト。0.7 MBから。

どんな文字起こしにも、正確な単語タイムスタンプを。

Apple は「world」が 2.61 秒から 3.04 秒だと言います。Align は 2.57 秒から 2.98 秒だと言います。そこでカットすれば切れ目はきれいで、字幕は単語に合わせて光り、ハイライトは話し手が話し始めたところから始まります。

Apple の文字起こしはそのまま使えます。Align は SpeechAnalyzer がすでに受け取っているのと同じ音声を読み、同じ単語を、より正確な開始・終了時刻とともに、数ミリ秒で返します。ダウンロードは 0.7MB です。クリーンな音声では、Apple の平均的なずれを 113 ms から 45 ms にします。

Align が改善できない単語は Apple のタイミングを保つので、補正は役に立つか、単語をそのままにするかのどちらかにしかなりません。対応は 9 言語で、それ以外のロケールは Apple のタイミングに手を付けずに素通しします。

精度は5倍。

LibriSpeech test-cleanにおけるAppleの単語時刻は平均106.4 msずれています。Alignはこれを20.2 msにし、単語の95%が50 ms以内に収まります。モデルは0.7 MBです。

20.2ms
平均誤差、LibriSpeech test-clean
Apple補正なし: 106.4 ms
5x
高精度
106.4 msから20.2 msへ
45.0ms
人手補正の境界に対して
WhisperX: 53.5 ms
0.7MB
オンデバイス
コンパイル済みCore ML、2段構成

参照の単語境界からの平均絶対距離。LibriSpeechの各公式スプリットから500クリップを抽出して測定し、学習と評価で共通する話者はいません

スプリットApple 素の値Align50 ms 以内
test-clean106.4ms20.2ms95%
test-other111.6ms24.8ms92%

v1.0.0の重みで評価しました。参照はQwen3-ForcedAlignerと第2のアライナを組み合わせた機械的な強制アライメントの推定値であり、人手の注釈ではありません。したがって数値はサンプル単位の絶対的な正解ではなく、時間誤差の大きく一貫した削減を示すものです。例外はWhisperXとの比較で、人が波形を見て手作業で補正した258個の単語境界で測定しています。

ユースケース

どんな文字起こしにも、正確な単語タイムスタンプを。.

遅れずについてくる、単語ごとの字幕

字幕ビュー、カラオケ風の歌詞画面、語学学習アプリで、Apple の文字起こしをもとに、各単語が話されるのに合わせて光らせます。タイミングは、単語から 0.1 秒ずれるのではなく、単語にぴたりと合います。

単語の位置でクリップを切る

ポッドキャストエディターや動画アプリで、録音を引用部分に合わせて切り詰めると、カットは単語の始まるところから始まります。前の単語のフレームが残ることも、子音が切れることも、タイムライン上で手動で微調整することもありません。

文字起こしで、話されている単語をハイライトする

会議レコーダーや講義アプリで、再生に合わせて文字起こしをスクロールします。ハイライトは音声より先にずれていくのではなく、単語に合わせて動きます。

その瞬間に着地する検索

録音のアーカイブのなかで、ある単語が話された瞬間へ、端末上で飛べます。タイミングは十分に正確なので、再生ヘッドは前の単語の途中ではなく、その単語の頭から始まります。

インスピレーション

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

Align

Highlight each word as it's spoken, timed to the audio.

Align

Tighten a system transcriber's word timings so captions land on the word.

Align

Build a text-based video editor where selecting words trims the clip.

Align

Add bouncing word-by-word captions to vertical videos.

Align

Make transcript search jump the audio to the exact word.

モデルができること

  • Apple の SpeechTranscriberSpeechAnalyzer が返す単語単位のタイミングを、置き換えずに補正します。単語も、結果の形も同じまま、audioTimeRange の値だけがより正確になります。
  • 平均時間誤差は124.2 msから43.9 msへ。9言語のマクロ平均なので、特定の言語だけで数値が決まることはありません。英語ではさらに、106.4 msから20.2 msになります。
  • LibriSpeech test-cleanの500クリップのサンプルでは、単語の95%が参照から50 ms以内に収まります(従来は37%)。最も改善するのは下位1割で、230.7 msから33.0 ms、30fps動画のおよそ1フレーム分です。
  • 補正が無効になる場合、探索窓の端に達した場合、ストリーミングの文脈が足りない場合には、構造的なフォールバックが Apple の元のタイムスタンプを残します。
  • 9 言語:英語、スペイン語、フランス語、イタリア語、ポルトガル語、ドイツ語、日本語、韓国語、中国語。それ以外のロケールは、そのまま素通しされます。
  • コンパイル済みCore MLで約0.7 MB、2段構成でCPUとNeural Engine上で動作します。一般的な結果は数ミリ秒で補正されます。

はじめに

単語タイムスタンプ を、数行のコードで iOS or macOS アプリに追加。 Align のドキュメント.

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: "Align", package: "desert-ant-core")
使用例 - Swift
import Align

let refiner = try await SpeechTimestampRefiner(locale: locale)
try await analyzer.start(inputSequence: inputs.recordingAudio(for: refiner))

for try await result in transcriber.results.refiningTimestamps(with: refiner) {
    result.words   // [WordTiming]: text, start, end, refined
}
プロンプトで作る
Add Align from Desert Ant Labs to this Swift project (iOS, macOS).

What it does: Align:どの文字起こしにもオンデバイスの単語タイムスタンプ.

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: "Align", package: "desert-ant-core")

Reference:
- Model page: https://desertant.com/models/align/
- 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近日公開
Web, Node.js近日公開

仕様

精度
LibriSpeech test-cleanで平均誤差20.2 ms(Appleは106.4 ms)、9言語全体で43.9 ms(Appleは124.2 ms)
オンデバイスサイズ
コンパイル済みCore MLで約0.7 MB(0.3 MBの2段に、フィルタバンクとキャリブレータを加えたもの)
言語
英語、スペイン語、フランス語、イタリア語、ポルトガル語、ドイツ語、日本語、韓国語、中国語
モデル
log-melスペクトログラム上の粗密2段カスケード。1段あたり12万1千パラメータ、勾配ブースティングのキャリブレータ付き
プラットフォーム
SpeechAnalyzer が存在する iOS 26、macOS 26、tvOS 26、visionOS 26(Core ML)

Alignは文字起こしの時刻を補正します。文字起こし自体は行わず、Swift SDKはAppleのSpeechAnalyzerを必要とするため、iOS 26、macOS 26、tvOS 26、visionOS 26が前提です。すべての単語を改善すると約束するものではありません。元のタイムスタンプを残すフォールバックは、危険に見える補正を止めるもので、間違った補正をすべて捕まえるわけではありません。最も弱いのは読み上げられた数字で、小規模なサンプルでは補正によって数字の境界が参照から遠ざかりました。

FAQ

Align とは?

どの文字起こしにも使える、オンデバイスの単語タイムスタンプ。5倍の精度で、単語の位置でカット・字幕・ハイライト。0.7 MBから。

Align はオンデバイスで動作しますか?

はい。Align はデバイス上で動作し、サーバーへの通信は発生しません。データはユーザーの手元に残ります。

Align はどのプラットフォームに対応していますか?

Align は Swift 向けのネイティブなオンデバイス SDK として提供されます。

Align の料金はいくらですか?

すべてのモデルは、SDK ごとに月間アクティブデバイス 100k 台まで無料です。各ユーザーがモデルを実行する回数に制限はありません。 カスタムライセンスについては、お問い合わせください

Align の精度や速度はどれくらいですか?

LibriSpeech test-cleanにおけるAppleの単語時刻は平均106.4 msずれています。Alignはこれを20.2 msにし、単語の95%が50 ms以内に収まります。モデルは0.7 MBです。

リソース