Align.
オンデバイスの単語タイムスタンプ。どの文字起こしにも対応し、カット・字幕・ハイライトを単語単位で。誤差は半分、0.7MB。
どんな文字起こしにも、正確な単語タイムスタンプを。
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 のタイミングに手を付けずに素通しします。
タイミングの誤差が半分。
Apple の単語タイミングは平均で 113 ms ずれています。Align はそれを 45 ms にし、4 語のうち 3 語が 50 ms 以内に収まります。0.7MB のモデルによるものです。
参照となる単語境界からの平均絶対距離。9 言語にわたる、クリーンな録音 223 件とノイズのある録音 210 件のホールドアウト。
| 条件 | Apple 素の値 | Align | 50 ms 以内 |
|---|---|---|---|
| Clean | 113.5ms | 44.9ms | 75.1% |
| Noisy | 124.4ms | 50.1ms | 69.4% |
出荷している Swift ランタイムと同梱の Core ML モデルで評価しています。参照データは Qwen3-ForcedAligner による機械的な強制アライメントの推定値であり、人手の注釈ではありません。したがってこの数値は、サンプル単位で正確な正解データではなく、Apple のタイミング誤差を大きく一貫して減らしていることを示すものです。
遅れずについてくる、単語ごとの字幕
字幕ビュー、カラオケ風の歌詞画面、語学学習アプリで、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の値だけがより正確になります。 - 平均タイミング誤差を、クリーンな音声で 113.5 ms から 44.9 ms、ノイズのある音声で 124.4 ms から 50.1 ms へ、60% 削減。強制アライメントの参照データに対し、433 件のホールドアウト録音で計測。
- クリーンな音声では単語の 75.1%、ノイズのある音声では 69.4% が、参照から 50 ms 以内に収まります。
- 補正が無効になる場合、探索窓の端に達した場合、ストリーミングの文脈が足りない場合には、構造的なフォールバックが Apple の元のタイムスタンプを残します。
- 9 言語:英語、スペイン語、フランス語、イタリア語、ポルトガル語、ドイツ語、日本語、韓国語、中国語。それ以外のロケールは、そのまま素通しされます。
- コンパイル済み Core ML で約 0.7MB、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.
仕様
- 精度
- クリーンな音声で平均誤差 44.9 ms、ノイズのある音声で 50.1 ms。Apple の 113.5 ms と 124.4 ms に対して
- オンデバイスサイズ
- コンパイル済み Core ML で約 0.7MB(0.3MB の 2 段に加え、フィルターバンクとキャリブレーター)
- 言語
- 英語、スペイン語、フランス語、イタリア語、ポルトガル語、ドイツ語、日本語、韓国語、中国語
- モデル
- 対数メルスペクトログラム上の、粗から精への 2 段カスケード。1 段あたり約 117k パラメータで、勾配ブースティングのキャリブレーター付き
- プラットフォーム
- SpeechAnalyzer が存在する iOS 26、macOS 26、tvOS 26、visionOS 26(Core ML)
Align は Apple のタイミングを補正するもので、文字起こしはしません。また Apple の SpeechAnalyzer を必要とするため、iOS 26、macOS 26、tvOS 26、visionOS 26 のいずれかが要ります。Align はすべての単語を改善できると約束するものではありません。Apple のタイミングを残すフォールバックが捉えるのは、安全でなさそうな補正であって、間違ったものすべてではありません。現在の参照データでは、英語、イタリア語、日本語、韓国語が 9 言語のなかで最も精度が低くなります。
FAQ
Align とは?
オンデバイスの単語タイムスタンプ。どの文字起こしにも対応し、カット・字幕・ハイライトを単語単位で。誤差は半分、0.7MB。
Align はオンデバイスで動作しますか?
はい。Align はデバイス上で動作し、サーバーへの通信は発生しません。データはユーザーの手元に残ります。
Align はどのプラットフォームに対応していますか?
Align は Swift 向けのネイティブなオンデバイス SDK として提供されます。
Align の料金はいくらですか?
すべてのモデルは、SDK ごとに月間アクティブデバイス 100k 台まで無料です。各ユーザーがモデルを実行する回数に制限はありません。 カスタムライセンスについては、お問い合わせください。
Align の精度や速度はどれくらいですか?
Apple の単語タイミングは平均で 113 ms ずれています。Align はそれを 45 ms にし、4 語のうち 3 語が 50 ms 以内に収まります。0.7MB のモデルによるものです。