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です。
参照の単語境界からの平均絶対距離。LibriSpeechの各公式スプリットから500クリップを抽出して測定し、学習と評価で共通する話者はいません
| スプリット | Apple 素の値 | Align | 50 ms 以内 |
|---|---|---|---|
| test-clean | 106.4ms | 20.2ms | 95% |
| test-other | 111.6ms | 24.8ms | 92% |
v1.0.0の重みで評価しました。参照はQwen3-ForcedAlignerと第2のアライナを組み合わせた機械的な強制アライメントの推定値であり、人手の注釈ではありません。したがって数値はサンプル単位の絶対的な正解ではなく、時間誤差の大きく一貫した削減を示すものです。例外はWhisperXとの比較で、人が波形を見て手作業で補正した258個の単語境界で測定しています。
ユースケース
どんな文字起こしにも、正確な単語タイムスタンプを。.
遅れずについてくる、単語ごとの字幕
字幕ビュー、カラオケ風の歌詞画面、語学学習アプリで、Apple の文字起こしをもとに、各単語が話されるのに合わせて光らせます。タイミングは、単語から 0.1 秒ずれるのではなく、単語にぴたりと合います。
単語の位置でクリップを切る
ポッドキャストエディターや動画アプリで、録音を引用部分に合わせて切り詰めると、カットは単語の始まるところから始まります。前の単語のフレームが残ることも、子音が切れることも、タイムライン上で手動で微調整することもありません。
文字起こしで、話されている単語をハイライトする
会議レコーダーや講義アプリで、再生に合わせて文字起こしをスクロールします。ハイライトは音声より先にずれていくのではなく、単語に合わせて動きます。
その瞬間に着地する検索
録音のアーカイブのなかで、ある単語が話された瞬間へ、端末上で飛べます。タイミングは十分に正確なので、再生ヘッドは前の単語の途中ではなく、その単語の頭から始まります。
インスピレーション
Align で作るためのアイデア。プロンプトをコーディングエージェントにコピーして始めましょう。
Highlight each word as it's spoken, timed to the audio.
Run Apple's SpeechTranscriber with Desert Ant's Align attached as a timestamp refiner, then highlight each word using its refined time range. Align tightens Apple's word timings on-device; iOS 26 / macOS 26. Build it with the Desert Ant SDK. Align (Swift). Install and API: https://desertant.com/docs/align/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Tighten a system transcriber's word timings so captions land on the word.
Attach Desert Ant's Align as a refiner to Apple's SpeechAnalyzer / SpeechTranscriber so its word-level timings tighten and captions and cuts land exactly on the word. iOS 26 / macOS 26, on-device. Build it with the Desert Ant SDK. Align (Swift). Install and API: https://desertant.com/docs/align/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Build a text-based video editor where selecting words trims the clip.
Transcribe with Apple's SpeechTranscriber and Desert Ant's Align refiner for word-exact timings, then let the user select words to trim the video to that span. Deleting a sentence deletes the footage. iOS 26 / macOS 26. Build it with the Desert Ant SDK. Align (Swift). Install and API: https://desertant.com/docs/align/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Add bouncing word-by-word captions to vertical videos.
Add animated word-by-word captions to short vertical videos, timed with Desert Ant's Align attached to Apple's SpeechTranscriber so each word pops exactly when it's said. On-device, iOS 26 / macOS 26. Build it with the Desert Ant SDK. Align (Swift). Install and API: https://desertant.com/docs/align/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Make transcript search jump the audio to the exact word.
In an Apple media app, transcribe with SpeechTranscriber and Desert Ant's Align refiner so a search result seeks the audio or video to the precise word, not the sentence. iOS 26 / macOS 26. Build it with the Desert Ant SDK. Align (Swift). Install and API: https://desertant.com/docs/align/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
モデルができること
- Apple の
SpeechTranscriberとSpeechAnalyzerが返す単語単位のタイミングを、置き換えずに補正します。単語も、結果の形も同じまま、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 のドキュメント.
// 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")
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.
仕様
- 精度
- 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です。