"Guides WhisperX forced alignment, multilingual alignment model
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill alignment-timestamps --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Alignment Timestamps?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-alignment-timestamps)More formats (shields.io, HTML) on the badges page.
---
name: alignment-timestamps
description: "Guides WhisperX forced alignment, multilingual alignment model
selection, word and character timestamps, and timestamp interpolation
troubleshooting."
disable-model-invocation: true
metadata:
disco-role: operating
license: BSD 2-Clause
---
# Alignment timestamps
Use this sub-skill when a task needs WhisperX forced alignment after ASR: selecting a language-specific wav2vec2 alignment model, calling `load_align_model` and `align`, producing word or character timestamps, preserving timestamps for digits/symbols, or diagnosing why an aligned result lacks timing fields.
## Route here for
- Python alignment workflows that consume ASR `segments` and audio arrays/paths and return aligned `segments` plus `word_segments`.
- CLI/API choices for `--align_model`, `--interpolate_method`, and `--return_char_alignments`.
- Language-specific default alignment model selection, custom Hugging Face wav2vec2 model ids, and languages without whitespace-delimited words.
- Regression-backed guidance for unalignable characters such as digits, comma decimals, currency, and other symbols.
## Route elsewhere
- Initial ASR model loading, audio loading, batching, VAD, and transcription belong to sibling sub-skill `asr-python-api` or `transcription-cli`.
- Speaker diarization and speaker assignment belong to sibling sub-skill `diarization-speakers`.
- Subtitle/SRT/VTT/JSON rendering and writer options belong to sibling sub-skill `outputs-subtitles`.
## Read or run these bundled files
- Read [references/api-reference.md](references/api-reference.md) when writing Python code with `whisperx.load_align_model`, `whisperx.align`, alignment metadata, result schemas, progress callbacks, or char alignment options.
- Read [references/language-models.md](references/language-models.md) before choosing `language_code`, `--language`, `--align_model`, cache-only settings, a custom Hugging Face model, or when handling Japanese/Chinese text without spaces.
- Read [references/alignment-regressions.md](references/alignment-regressions.md) when timestamps are missing for digits, comma decimals such as `4,9`, mixed alphanumeric words, symbols, or when choosing `nearest`, `linear`, or `ignore` interpolation.
- Read [references/troubleshooting.md](references/troubleshooting.md) for failures involving unsupported languages, model cache/download errors, NLTK `punkt_tab`, empty segments, timestamps beyond the audio duration, char alignments, and languages without spaces.
- Run [scripts/check_alignment_contract.py](scripts/check_alignment_contract.py) for a safe CPU-only synthetic contract check that mocks a torchaudio-style alignment model and verifies a numeric comma word such as `4,9` receives timestamps without downloading any model.
## Minimal Python alignment shape
```python
import whisperx
# ASR result creation is owned by asr-python-api; alignment consumes its segments.
model_a, metadata = whisperx.load_align_model(
language_code=result["language"],
device="cpu",
model_name=None, # or a custom wav2vec2 model id/name
model_dir=None, # optional model cache directory
model_cache_only=False,
)
aligned = whisperx.align(
result["segments"],
model_a,
metadata,
audio,
device="cpu",
interpolate_method="nearest", # nearest | linear | ignore
return_char_alignments=False,
)
```
## Safe timestamp sanity check
```bash
python scripts/check_alignment_contract.py --help
python scripts/check_alignment_contract.py
python scripts/check_alignment_contract.py --interpolate-method ignore --text "halt mit 4,9 nicht ins parlament" --required-word "4,9" --language de
```
The helper is a bundled mock-contract check only. It does not validate real acoustic quality, does not download alignment models, and does not replace a real wav2vec2 alignment run when the downstream task requires production timestamps.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!