/transcribe-audio-local - Локальная транскрибация аудио
Локальный движок: faster-whisper (CUDA) + опц. диаризация sherpa-onnx GPU (CUDA) с моделями pyannote-segmentation-3.0 + 3D-Speaker eres2net. Нет затрат, ничего не уходит наружу.
На RTX 5070 Ti Laptop: ~6-7 мин на 30 мин аудио (RTF ~0.24). Только аудио, видео не поддерживается.
Установка (один раз)
python scripts/setup.py
Подробнее в README.md. После установки venv-whisper и venv-sherpa создаются рядом со скилом, модели качаются в models/.
Для агента (Claude Code и подобные)
Workflow первого использования:
Проверь, установлен ли скил - есть ли файл ~/.claude/skills/transcribe-audio-local/venv-whisper/Scripts/python.exe (на Linux: venv-whisper/bin/python). Если есть - переходи к шагу 4.
Если не установлен - запусти setup. Установка занимает 10-20 минут (faster-whisper + ctranslate2-CUDA + sherpa-onnx + скачивание моделей). Дефолтный Bash-таймаут 2 минуты не подходит:
- В Claude Code Bash tool используй
run_in_background: true или timeout: 1500000 (25 мин).
- В других runtime - аналогичный длинный таймаут.
python ~/.claude/skills/transcribe-audio-local/scripts/setup.py
Что setup сделает сам:
- Создаст venv-whisper и venv-sherpa
- Если
ffmpeg нет в PATH - поставит static-ffmpeg (pip-пакет с бинарниками) в venv-whisper. Без прав админа.
- Скачает модели диаризации
- Проверит версию драйверов NVIDIA и предупредит, если они старее 525.x
Что setup НЕ может сделать сам (нужны действия пользователя):
- Установить системные драйверы NVIDIA / CUDA Toolkit (нужны админ-права)
- Поставить NVIDIA GPU в машину 😉
Если у машины нет GPU - setup упадет с FAIL. Уточни у пользователя, согласен ли на CPU-режим (в 10+ раз медленнее), и перезапусти с --allow-cpu.
Проверь установку smoke-тестом (1-2 минуты, с реальной транскрипцией):
python ~/.claude/skills/transcribe-audio-local/scripts/verify.py --full
Без --full (5 сек) - только проверка наличия venv'ов и моделей, без реального прогона.
Транскрибируй файл (см. секцию "Инструкция" ниже). На CPU добавляй --device cpu --compute-type int8.
Режимы
Без диаризации (default)
Выходные файлы:
<имя> - транскрипция.md - таймкоды + текст
<имя> - транскрипция.txt - plain text
С диаризацией (--diarize)
Дополнительно:
<имя> - со спикерами.md - реплики с метками [SPEAKER_XX, MM:SS]
Аргументы
| Параметр |
Обязательный |
По умолчанию |
Описание |
| AudioPath |
да |
- |
Путь к аудиофайлу |
| --output-dir |
нет |
<каталог>/Транскрипция/<имя>/ |
Каталог результатов |
| --diarize |
нет |
выкл |
Разделение по спикерам (sherpa-onnx) |
| --num-speakers N |
нет |
автодетект |
Точное число спикеров |
| --threshold |
нет |
0.5 |
Порог кластеризации (меньше -> больше кластеров) |
| --language |
нет |
ru |
Язык транскрипции |
| --model |
нет |
mobiuslabsgmbh/faster-whisper-large-v3-turbo |
Модель faster-whisper |
| --device |
нет |
cuda |
cuda или cpu |
| --compute-type |
нет |
float16 |
Точность вычислений |
Поддерживаемые форматы
mp3, wav, ogg, m4a, flac, aac, wma, opus.
Зависимости
- venv-whisper (рядом со скилом):
faster-whisper, ctranslate2-CUDA, av, nvidia-cublas/cudnn/cuda-runtime
- venv-sherpa (рядом со скилом, для
--diarize): sherpa_onnx (GPU CUDA сборка), onnxruntime-gpu, soundfile
ffmpeg в PATH
- NVIDIA GPU + CUDA 12 + cuDNN 9 (для GPU режима, рекомендуется)
Инструкция
Получи AudioPath от пользователя. Проверь что расширение - аудио из поддерживаемого списка.
Запусти транскрипцию:
PYTHONUNBUFFERED=1 PYTHONIOENCODING=utf-8 \
python ~/.claude/skills/transcribe-audio-local/scripts/transcribe.py \
"<AudioPath>" [--output-dir "<OutputDir>"] [--diarize] [--num-speakers N]
Время работы:
- Без диаризации: ~1.5-2 мин на 27-мин файл (RTF ~0.07)
- С диаризацией: ~10 мин на 27-мин файл (RTF ~0.4, параллельно)
- Часовое аудио с диаризацией: ~25 мин
- После завершения покажи пользователю пути к файлам и прочитай начало транскрипции.
ВАЖНО: PYTHONUNBUFFERED=1 обязательно для прогресса.
Ограничения
- Только аудио, видео не поддерживается. Если нужно из видео - извлеките аудиодорожку через ffmpeg отдельно.
- Требуется NVIDIA GPU с CUDA 12+ (CPU-режим работает, но в 10+ раз медленнее).
- Точность таймкодов +/- несколько секунд.
- Кириллические имена файлов обрабатываются скриптом.
Установка диагностика
Если транскрипция или диаризация падает - см. README.md секция "Troubleshooting".
1---2name: transcribe-audio-local3description: Локальная транскрибация аудиофайлов без отправки в облако. Используй когда пользователь просит транскрибировать запись, расшифровать аудио, сделать конспект встречи, преобразовать речь в текст. Только для аудио (m4a/mp3/wav/ogg/flac/aac/wma/opus). Движок: faster-whisper CUDA + опц. диаризация sherpa-onnx GPU (CUDA, RTF ~0.24). Поддерживает разделение по спикерам.4---56# /transcribe-audio-local - Локальная транскрибация аудио78Локальный движок: `faster-whisper` (CUDA) + опц. диаризация `sherpa-onnx GPU` (CUDA) с моделями pyannote-segmentation-3.0 + 3D-Speaker eres2net. Нет затрат, ничего не уходит наружу.910На RTX 5070 Ti Laptop: ~6-7 мин на 30 мин аудио (RTF ~0.24). Только аудио, видео не поддерживается.1112## Установка (один раз)1314```bash15python scripts/setup.py16```1718Подробнее в `README.md`. После установки venv-whisper и venv-sherpa создаются рядом со скилом, модели качаются в `models/`.1920## Для агента (Claude Code и подобные)2122**Workflow первого использования:**23241. **Проверь, установлен ли скил** - есть ли файл `~/.claude/skills/transcribe-audio-local/venv-whisper/Scripts/python.exe` (на Linux: `venv-whisper/bin/python`). Если есть - переходи к шагу 4.25262. **Если не установлен - запусти setup**. Установка занимает 10-20 минут (faster-whisper + ctranslate2-CUDA + sherpa-onnx + скачивание моделей). Дефолтный Bash-таймаут 2 минуты не подходит:2728 - В Claude Code Bash tool используй `run_in_background: true` или `timeout: 1500000` (25 мин).29 - В других runtime - аналогичный длинный таймаут.3031 ```bash32 python ~/.claude/skills/transcribe-audio-local/scripts/setup.py33 ```3435 Что setup сделает сам:36 - Создаст venv-whisper и venv-sherpa37 - Если `ffmpeg` нет в PATH - поставит `static-ffmpeg` (pip-пакет с бинарниками) в venv-whisper. Без прав админа.38 - Скачает модели диаризации39 - Проверит версию драйверов NVIDIA и предупредит, если они старее 525.x4041 Что setup НЕ может сделать сам (нужны действия пользователя):42 - Установить системные драйверы NVIDIA / CUDA Toolkit (нужны админ-права)43 - Поставить NVIDIA GPU в машину 😉4445 Если у машины нет GPU - setup упадет с FAIL. Уточни у пользователя, согласен ли на CPU-режим (в 10+ раз медленнее), и перезапусти с `--allow-cpu`.46473. **Проверь установку** smoke-тестом (1-2 минуты, с реальной транскрипцией):4849 ```bash50 python ~/.claude/skills/transcribe-audio-local/scripts/verify.py --full51 ```5253 Без `--full` (5 сек) - только проверка наличия venv'ов и моделей, без реального прогона.54554. **Транскрибируй файл** (см. секцию "Инструкция" ниже). На CPU добавляй `--device cpu --compute-type int8`.5657## Режимы5859### Без диаризации (default)6061Выходные файлы:62- `<имя> - транскрипция.md` - таймкоды + текст63- `<имя> - транскрипция.txt` - plain text6465### С диаризацией (`--diarize`)6667Дополнительно:68- `<имя> - со спикерами.md` - реплики с метками `[SPEAKER_XX, MM:SS]`6970## Аргументы7172| Параметр | Обязательный | По умолчанию | Описание |73|----------|:---:|---|---|74| AudioPath | да | - | Путь к аудиофайлу |75| --output-dir | нет | `<каталог>/Транскрипция/<имя>/` | Каталог результатов |76| --diarize | нет | выкл | Разделение по спикерам (sherpa-onnx) |77| --num-speakers N | нет | автодетект | Точное число спикеров |78| --threshold | нет | 0.5 | Порог кластеризации (меньше -> больше кластеров) |79| --language | нет | ru | Язык транскрипции |80| --model | нет | mobiuslabsgmbh/faster-whisper-large-v3-turbo | Модель faster-whisper |81| --device | нет | cuda | cuda или cpu |82| --compute-type | нет | float16 | Точность вычислений |8384## Поддерживаемые форматы8586mp3, wav, ogg, m4a, flac, aac, wma, opus.8788## Зависимости8990- **venv-whisper** (рядом со скилом): `faster-whisper`, `ctranslate2-CUDA`, `av`, nvidia-cublas/cudnn/cuda-runtime91- **venv-sherpa** (рядом со скилом, для `--diarize`): `sherpa_onnx` (GPU CUDA сборка), `onnxruntime-gpu`, `soundfile`92- `ffmpeg` в PATH93- NVIDIA GPU + CUDA 12 + cuDNN 9 (для GPU режима, рекомендуется)9495## Инструкция96971. Получи `AudioPath` от пользователя. Проверь что расширение - аудио из поддерживаемого списка.98992. Запусти транскрипцию:100101```bash102PYTHONUNBUFFERED=1 PYTHONIOENCODING=utf-8 \103 python ~/.claude/skills/transcribe-audio-local/scripts/transcribe.py \104 "<AudioPath>" [--output-dir "<OutputDir>"] [--diarize] [--num-speakers N]105```106107Время работы:108- Без диаризации: ~1.5-2 мин на 27-мин файл (RTF ~0.07)109- С диаризацией: ~10 мин на 27-мин файл (RTF ~0.4, параллельно)110- Часовое аудио с диаризацией: ~25 мин1111123. После завершения покажи пользователю пути к файлам и прочитай начало транскрипции.113114**ВАЖНО:** `PYTHONUNBUFFERED=1` обязательно для прогресса.115116## Ограничения117118- Только аудио, видео не поддерживается. Если нужно из видео - извлеките аудиодорожку через ffmpeg отдельно.119- Требуется NVIDIA GPU с CUDA 12+ (CPU-режим работает, но в 10+ раз медленнее).120- Точность таймкодов +/- несколько секунд.121- Кириллические имена файлов обрабатываются скриптом.122123## Установка диагностика124125Если транскрипция или диаризация падает - см. `README.md` секция "Troubleshooting".