# asr-transcribe-to-text

Переводит аудио и видео в текст с таймкодами и метками спикеров: локально через MLX на Apple Silicon или через удалённый API.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1000 установок · ★ 1493
- Автор: daymade
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/daymade/claude-code-skills/tree/HEAD/daymade-audio/asr-transcribe-to-text/SKILL.md
- Обновлён: 2026-10-25
- HTML: https://affpapa.org/nevibecode/skills/asr-transcribe-to-text

## Что делает

Скилл принимает локальный файл, прямую ссылку на медиа или страницу подкаста. Сначала он проверяет, нет ли уже готового транскрипта в каталоге проекта, потому что наличие сырой записи — не повод генерировать текст заново. Если канонического транскрипта нет, выбирается маршрут: обычные встречи и записи с DJI уходят в Feishu Minutes после сжатия в небольшой M4A, а офлайн-обработка или независимая проверка качества запускают локальный ASR.

Локально есть два маршрута. Длинные записи без присмотра идут через whisper.cpp с чекпоинтами и Silero VAD, а метки спикеров pyannote приклеиваются после распознавания. Короткие и средние записи может обработать связка Qwen3-ASR и mlx-whisper. Ни один маршрут не режет вход на репликах: атрибуция спикеров идёт после ASR по непрерывному контексту. По умолчанию каждый прогон даёт строки вида `[start-end] SPEAKER_xx: text` плюс CSV.

Для диаризации нужен токен HuggingFace: pyannote — gated-модель. Первый запуск без него падает с инструкцией по настройке, дальше всё определяется автоматически. Отказ от диаризации (`--no-diarization`) убирает и таймкоды: на выходе остаётся только текст сессии. Настройки хранятся в `${CLAUDE_PLUGIN_DATA}/config.json`, режим выбирается по платформе — на macOS Apple Silicon это local-mlx, на остальных remote-api.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add daymade/claude-code-skills --skill asr-transcribe-to-text -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/asr-transcribe-to-text/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/asr-transcribe-to-text/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add daymade/claude-code-skills --skill asr-transcribe-to-text -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/asr-transcribe-to-text/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add daymade/claude-code-skills --skill asr-transcribe-to-text -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/asr-transcribe-to-text/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install daymade/claude-code-skills asr-transcribe-to-text
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/asr-transcribe-to-text/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add daymade/claude-code-skills --skill asr-transcribe-to-text -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/daymade/claude-code-skills --path daymade-audio/asr-transcribe-to-text
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/asr-transcribe-to-text/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add daymade/claude-code-skills --skill asr-transcribe-to-text -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/daymade/claude-code-skills/tree/HEAD/daymade-audio/asr-transcribe-to-text/SKILL.md

## Когда брать
- расшифровать запись встречи в текст с разбивкой по спикерам
- сделать субтитры с таймкодами из монолога
- перевести запись в M4A и ужать перед загрузкой в Feishu Minutes
- сверить две независимые разметки спикеров на спорной реплике
- сложить сегменты диктофона в один файл и понизить частоту до 16kHz

## Примеры запросов агенту
- расшифруй `meeting.m4a` с метками спикеров
- сделай субтитры из `interview.mp4`, нужны таймкоды по строкам
- подготовь `recording.wav` для Feishu Minutes: сожми и ускорь

## Похожие
- [asr](https://affpapa.org/nevibecode/skills/asr.md) — скилл · 1300 установок
- [auto-editor-transcribe](https://affpapa.org/nevibecode/skills/auto-editor-transcribe.md) — скилл · 668 установок
- [video-understand](https://affpapa.org/nevibecode/skills/video-understand.md) — скилл · 1400 установок
- [claude-real-video](https://affpapa.org/nevibecode/skills/claude-real-video.md) — скилл · 571 установка
- [video-summarizer](https://affpapa.org/nevibecode/skills/video-summarizer.md) — скилл · 524 установки
- [claude-real-video-for-agents](https://affpapa.org/nevibecode/skills/claude-real-video-for-agents.md) — скилл · 507 установок

Из того же набора: [daymade/claude-code-skills](https://affpapa.org/nevibecode/by/daymade/claude-code-skills.md) — 64 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
