Desert Ant Labs

Align

Word timestampsAvailable

Word timestamps on device, for any transcriber. Cut, caption, and highlight on the word, five times more accurately, from 0.7MB.

Accurate word timestamps for any transcript.

Apple says "world" runs from 2.61 to 3.04 seconds. Align says 2.57 to 2.98. Cut there and the cut is clean, the caption lights up on the word, and the highlight starts where the speaker did.

You keep Apple's transcriber. Align reads the same audio SpeechAnalyzer already gets and returns the same words with tighter start and end times, in a few milliseconds, from a 0.7MB download. On clean audio that takes Apple's average miss from 113ms to 45ms.

A word Align can't improve keeps Apple's timing, so a correction can only help or leave the word alone. Nine languages, and a locale outside them passes through with Apple's timings untouched.

Five times more accurate.

Apple's word timings on LibriSpeech test-clean are off by 106.4ms on average; Align brings that to 20.2ms, and 95% of words land within 50ms, from a 0.7MB model.

20.2ms
Mean error, LibriSpeech test-clean
Apple raw: 106.4ms
5x
More accurate
106.4ms to 20.2ms
45.0ms
Against hand-corrected boundaries
WhisperX: 53.5ms
0.7MB
On device
compiled Core ML, two stages

Mean absolute distance from the reference word boundary, on a 500-clip sample of each official LibriSpeech split, with no speaker shared between training and evaluation

SplitApple rawAlignWithin 50ms
test-clean106.4ms20.2ms95%
test-other111.6ms24.8ms92%

Evaluated on the v1.0.0 weights. The references are machine forced-alignment estimates from Qwen3-ForcedAligner averaged with a second aligner, not human annotations, so the figures show a large and consistent reduction of the timing error rather than sample-accurate ground truth. The one exception is the comparison against WhisperX, which is scored on 258 word boundaries a person corrected by hand against the waveform.

Use cases

Accurate word timestamps for any transcript.

Word-by-word captions that keep up

Light up each word as it is said in a captions view, a karaoke-style lyric screen, or a language-learning app, from Apple's transcript. The timings land on the word instead of a tenth of a second off it.

Cut a clip on a word

Trim a recording to a quote in a podcast editor or a video app and have the cut start where the word starts. No frame of the previous word, no clipped consonant, and no manual nudge on the timeline.

Highlight the spoken word in a transcript

Scroll a transcript in step with playback in a meeting recorder or a lecture app, with the highlight moving on the word rather than drifting ahead of the audio.

Search that lands on the moment

Jump to the second a word was said in an archive of recordings, on the device. The timings are tight enough that the playhead starts on the word and not in the middle of the previous one.

Inspiration

Ideas to build with Align. Copy a prompt into your coding agent and go.

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.

What the model does

  • Corrects the word-level timings Apple's SpeechTranscriber and SpeechAnalyzer return, without replacing them: same words, same result surface, tighter audioTimeRange values.
  • Mean timing error from 124.2ms to 43.9ms, macro-averaged across all nine languages so no single language carries the figure. On English it goes further: 106.4ms to 20.2ms.
  • On a 500-clip sample of LibriSpeech test-clean, 95% of words land within 50ms of the reference, up from 37%. The worst tenth improves most: from 230.7ms to 33.0ms, about one frame of 30fps video.
  • A structural fallback keeps Apple's original timestamp whenever a correction would be invalid, hits the search window's edge, or lacks streaming context.
  • Nine languages: English, Spanish, French, Italian, Portuguese, German, Japanese, Korean, and Chinese. Other locales pass through unchanged.
  • About 0.7MB of compiled Core ML in two stages, run on the CPU and Neural Engine; a typical result is refined in a few milliseconds.

Getting started

Add word timestamps to your iOS or macOS app in a few lines of code. Align docs.

iOS, macOS
Install
// 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")
Example - 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
}
Build with a prompt
Add Align from Desert Ant Labs to this Swift project (iOS, macOS).

What it does: On-device Word Timestamps for Any Transcript.

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.
AndroidComing soon
Web, Node.jsComing soon

Specs

Accuracy
20.2ms mean error on LibriSpeech test-clean against Apple's 106.4ms, and 43.9ms across all nine languages against Apple's 124.2ms
On-device size
About 0.7MB compiled Core ML (two 0.3MB stages plus the filter bank and calibrator)
Languages
English, Spanish, French, Italian, Portuguese, German, Japanese, Korean, Chinese
Model
Two-stage coarse-to-fine cascade over a log-mel spectrogram, 121k parameters per stage, with a gradient-boosted calibrator
Platforms
iOS 26, macOS 26, tvOS 26, visionOS 26 (Core ML), where SpeechAnalyzer lives

Align corrects a transcriber's timings; it doesn't transcribe, and the Swift SDK needs Apple's SpeechAnalyzer, which means iOS 26, macOS 26, tvOS 26, or visionOS 26. Align can't promise to improve every word.

The fallback that keeps the original timing catches corrections that look unsafe, not every wrong one. Spoken numbers are the weakest case: on a small sample, refinement moved digit boundaries further from the reference than leaving them alone.

FAQ

What is Align?

Word timestamps on device, for any transcriber. Cut, caption, and highlight on the word, five times more accurately, from 0.7MB.

Does Align run on device?

Yes. Align runs on the device, with no server call, so the data stays with the user.

Which platforms does Align support?

Align ships as a native on-device SDK for Swift.

How much does Align cost?

Every model is free up to 100k monthly active devices per SDK. Unlimited inference per user. Contact us for custom licenses.

How accurate or fast is Align?

Apple's word timings on LibriSpeech test-clean are off by 106.4ms on average; Align brings that to 20.2ms, and 95% of words land within 50ms, from a 0.7MB model.

Resources