Към всички skills
audio-transcription
Transcribe local audio/video and Apple Voice Memos quickly with cached MLX Whisper models, including bad/low-quality audio.
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 3147
- Лиценз
- Apache-2.0
- Последна проверка на записа
- 22.09.2026 г.
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add mitsuhiko/agent-stuffСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
Use this skill whenever the user asks to transcribe an audio/video file, a Voice Memos export, dictation, lecture, meeting recording, or "bad audio".
Core rules
- Preserve temporary inputs immediately. Voice Memo share-sheet paths under
~/Library/Containers/com.apple.VoiceMemos/Data/tmp/.com.apple.uikit.itemprovider...can disappear. Before probing or experimenting, copy the file to stable/private/tmp/audio-transcription-inputs/. - Use cached local models, not cloud APIs. Prefer MLX Whisper via
uvx --from mlx-whisper mlx_whisper; Hugging Face models must be cached in~/.cache/huggingface/hub/. - Force language when known. For Armin's own dictations this is usually English with an Austrian/German accent, even when the filename is German. Do not infer language from filename alone.
- For bad audio, run a hallucination-resistant pass. Use
--condition-on-previous-text False,--word-timestamps True, and--hallucination-silence-threshold 2. - Deliver a cleaned best-effort transcript. Compare model output with timestamps/JSON, remove obvious Whisper loops, and mark uncertain spans as
[unclear]rather than inventing words.
Fast path
Run from this skill directory:
cd /Users/mitsuhiko/Development/agent-stuff/skills/audio-transcription
./transcribe-audio.py "/path/to/audio.m4a" --language en --quality balanced
The script:
- stages a stable copy of the input under
/private/tmp/audio-transcription-inputs/ - ensures the selected model is cached (downloads only if missing)
- writes
txt,srt,vtt,tsv, andjsonto/private/tmp/audio-transcriptions/<name>-<timestamp>/ - detects obvious hallucination loops and, in
balancedmode, reruns with the full model if needed
Useful variants:
# Quick draft, fastest cached model
./transcribe-audio.py audio.m4a --language en --quality fast
# Bad/important audio, slower full model
./transcribe-audio.py audio.m4a --language en --quality best \
--prompt "Armin Ronacher dictating about AI, data centers, Vienna, Donauinsel, shareholder value."
# Auto language detection when language is genuinely unknown
./transcribe-audio.py audio.m4a --language auto --quality balanced
Cached models
Default model IDs:
- Fast/balanced:
mlx-community/whisper-large-v3-turbo - Best fallback:
mlx-community/whisper-large-v3-mlx
Pre-cache / refresh both models: