A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
🎤 Локальная транскрибация через Whisper без OpenAI API. Push-to-talk диктовка, вшитые сабы в MP4 (CapCut-стиль), мастер
🎤 Локальная транскрибация речи на любом железе. Бесплатно. Без OpenAI API.
Готовый комплект Whisper + 3 killer-фичи: push-to-talk диктовка во все приложения, вшитые сабы в MP4 в стиле CapCut, и интерактивный мастер настройки одной командой.
Скилл подключается к твоему ИИ-ассистенту (Claude Code, Cursor, ChatGPT и т.д.) и даёт ему точные знания про Whisper-стек. Без скилла нейронка путает имена бэкендов, пакетов и параметров. Со скиллом — даёт рабочий код с первого раза.
git clone https://github.com/Mobiss11/Whisper-Skill.git ~/.claude/skills/whisper-skill
Перезапусти Claude Code. Теперь спроси:
Помоги поставить локальный Whisper для диктовки голосом.
Claude автоматически найдёт скилл и проведёт за руку.
В корне твоего проекта создай .cursor/rules/whisper.mdc:
---
description: Используй для задач транскрибации, голосового ввода, и сабов через Whisper
globs: ["**/*.py", "**/*.md"]
alwaysApply: false
---
# Whisper Skill
Когда задача связана с речью, транскрибацией, диктовкой, сабами:
1. Читай @../whisper-skill/SKILL.md
2. Запусти @../whisper-skill/scripts/detect_env.py для определения железа
3. Используй обвязку @../whisper-skill/examples/common.py
4. Карточки бэкендов: @../whisper-skill/backends/
Поправь пути под фактическое расположение клона.
SKILL.md + всё содержимое backends/, docs/, models/Когда задача про Whisper, транскрибацию, голосовой ввод или сабы — сначала ищи нужный файл в knowledge, потом отвечай.
Спроси у нейронки:
Какой бэкенд Whisper мне ставить на Mac M-чип? Что делает
detect_env.py?
Правильный ответ упомянет mlx-whisper (нативный Metal) и опишет что детектор автоматически рекомендует бэкенд + модель + команды установки. Если ответ общий — скилл не подцепился, перечитай инструкцию.
Если хочешь просто поставить и пользоваться без всяких Claude Code:
# 1. Склонируй
git clone https://github.com/Mobiss11/Whisper-Skill.git
cd Whisper-Skill
# 2. Запусти мастер
python3 wizard.py
Мастер задаст 3 вопроса (что хочешь делать → какая ОС → поставить?) и автоматически:
Готово. Можешь начинать пользоваться.
Заменяет Superwhisper ($8.49/мес), Wispr Flow ($12/мес), Aqua Voice — за $0.
python -m examples.voice_dictation --setup # одноразово
python -m examples.voice_dictation # запуск (висит в трее)
Как работает:
Ctrl+Shift+Space)Где работает: в любом приложении с текстовым полем — Slack, iMessage, Telegram, VS Code, Obsidian, Notion, браузер, любое нативное окно.
Скорость на M2 Pro: для фразы 5 сек — транскрибация 0.3 сек. Realtime feel.
Подробно: docs/voice-dictation.md (настройка хоткеев, permissions per OS, autostart, расширение через LLM для пост-обработки)
Заменяет CapCut Pro ($10/мес), Adobe Premiere ($23/мес), Submagic ($19/мес) — за $0.
python -m examples.bake_subs input.mp4 --style tiktok --output ready.mp4
Что внутри:
tiktok / youtube_shorts / reels / podcast_clip / minimalСкорость на M2 Pro:
Кастомизация под бренд:
# В examples/bake_subs.py добавь свой стиль:
STYLES["my_brand"] = Style(
font="Geist",
font_size=58,
primary_color="&H00FFFFFF", # белый
secondary_color="&H000088FF", # оранжевая подсветка слова
bold=True, outline_width=4, alignment=2
)
Подробно: docs/subtitle-baker.md (BGRA-цвета, ASS-разметка, A/B тесты, кастомные шрифты)
Превращает «прочитай 5 страниц документации» в «запусти и работает».
python wizard.py
5 шагов:
Все шаги цветные, с подсказками, графитично оформлены. Не нужно знать терминологию — мастер сам выберет правильный бэкенд, модель и compute-type под твоё железо.
После подключения нейронка получает структурированные знания про:
Концепция: AI + структурированный контекст = надёжный код без галлюцинаций.
Авто-детектор (scripts/detect_env.py) сам выберет нужный, но если интересно:
| Бэкенд | Когда брать | Скорость | Карточка |
|---|---|---|---|
| mlx-whisper | Mac M1/M2/M3/M4/M5 — нативный Metal | до 18x realtime | backends/mlx-whisper.md |
| faster-whisper | Linux/Windows + NVIDIA GPU; универсальный CPU | до 17x realtime | backends/faster-whisper.md |
| openvino | Intel Core Ultra / Intel Arc — нативный iGPU + NPU | ~10x realtime на iGPU | backends/openvino.md |
| whisper.cpp | Один бинарник без Python; edge-устройства; AMD GPU через Vulkan | 7-15x realtime | backends/whisper-cpp.md |
| whisperx | Speaker diarization (подкасты) или word-level alignment | ~7 мин на 1 час подкаста | backends/whisperx.md |
Все скрипты в examples/ используют общую обвязку examples/common.py — автовыбор бэкенда и устройства, единый формат Result независимо от того что под капотом.
# Один файл → SRT + TXT (по дефолту)
python -m examples.transcribe_one audio.mp3
# С указанием языка и модели
python -m examples.transcribe_one audio.mp4 --language ru --model large-v3 --format srt,vtt,json
# В конкретную папку
python -m examples.transcribe_one audio.mp3 --output ./transcripts/
# Вся папка с авто-определением языка
python -m examples.batch_folder ./videos/
# С фильтром по расширению + форс-перезапись
python -m examples.batch_folder ./videos/ --pattern "*.mp4" --force --language ru
# Все .srt в отдельную папку
python -m examples.batch_folder ./videos/ --output ./transcripts/
Скрипт пропускает уже обработанные файлы (если .srt рядом существует), показывает прогресс и среднее время на файл.
# TikTok
python -m examples.from_url "https://www.tiktok.com/@user/video/1234567890123456789"
# YouTube с указанием языка
python -m examples.from_url "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --language en
# Instagram Reel в конкретную папку, без удаления mp3
python -m examples.from_url "https://www.instagram.com/reel/Cv1AbcXXXX/" --output ./content/ --keep-audio
# Получить HF token (бесплатно): https://huggingface.co/settings/tokens
# Принять условия: https://huggingface.co/pyannote/speaker-diarization-3.1
export HF_TOKEN=hf_xxxxxxxx
# Подкаст 1-на-1 (хост + гость)
python -m examples.podcast_diarize podcast.mp3 --speakers 2
# Дискуссионный — диапазон спикеров
python -m examples.podcast_diarize debate.mp3 --min-speakers 2 --max-speakers 5
# С указанием языка и модели
python -m examples.podcast_diarize interview.wav --speakers 2 --language ru --model large-v3
# Одноразовая настройка — создаст конфиг в ~/.config/whisper-skill/voice_dictation.json
python -m examples.voice_dictation --setup
# Запуск (висит в трее, слушает Ctrl+Shift+Space по дефолту)
python -m examples.voice_dictation
# Со своим конфигом
python -m examples.voice_dictation --config my_dictation.json
Кастомизация через JSON — хоткей (любая комбинация pynput-формата), модель, режим ptt / toggle, auto-paste, бипы для feedback'а. Полные опции: docs/voice-dictation.md.
Чтобы не запускать каждый раз руками из терминала:
# 1) Сгенерить .ico из assets/icon.png (один раз)
python -m scripts.build_icon
# 2) Ярлык в меню «Пуск» (опционально + на рабочем столе)
powershell -ExecutionPolicy Bypass -File .\tools\install_shortcut.ps1
powershell -ExecutionPolicy Bypass -File .\tools\install_shortcut.ps1 -Desktop
# 3) Автостарт при логине пользователя
powershell -ExecutionPolicy Bypass -File .\tools\install_autostart.ps1
# Снять автостарт / удалить ярлык:
powershell -ExecutionPolicy Bypass -File .\tools\uninstall_autostart.ps1
powershell -ExecutionPolicy Bypass -File .\tools\install_shortcut.ps1 -Remove
Под капотом — launcher\voice_dictation_silent.vbs, который тихо
стартует pythonw.exe из venv (без окна терминала). Скрипт ожидает
venv по ~\.venvs\whisper; если у тебя другое расположение — поправь
путь в .vbs. Состояние диктовки видно по tray-иконке: серая = idle,
красная точка = идёт запись, оранжевая = транскрибируем.
# Базовый TikTok-стиль
python -m examples.bake_subs input.mp4
# Указать стиль и язык
python -m examples.bake_subs input.mp4 --style youtube_shorts --language en --output ready.mp4
# Подкаст-клип, по 3 слова на строку
python -m examples.bake_subs clip.mp4 --style podcast_clip --max-words-per-line 3
# Несколько вариантов разом — для A/B
for style in tiktok youtube_shorts reels minimal; do
python -m examples.bake_subs input.mp4 --style $style --output "out_${style}.mp4"
done
OpenAI Whisper API: $0.006/мин.
Локальный Whisper: $0 после первой установки.
| Сценарий | Аудио в день | OpenAI API/мес | Локально |
|---|---|---|---|
| Творец shorts (10 виралок/день) | 10 мин | $1.80 | $0 |
| Подкастер (4 эп/нед × 1 час) | 35 мин | $6 | $0 |
| Контент-creator full-time | 5 ч | $54 | $0 |
| Агентство (10 клиентов) | 10 ч | $108 | $0 |
| Студия дубляжа (50 ч/нед) | 7 ч | $72 | $0 |
Плюс:
Подробный расчёт: docs/cost-comparison.md
Whisper мультиязычный из коробки — 99 языков, включая редкие.
Лучшая модель large-v3 для всех языков. Облегчённая large-v3-turbo хороша на популярных (EN/ES/DE/FR/IT/PT/JP/ZH/RU), но проседает на редких (KK/UZ/TT/AR — потеря 5-10%).
WER (Word Error Rate) бенчмарки:
| Модель | EN | RU | KK |
|---|---|---|---|
tiny | 12% | 35% | 50%+ |
small | 6% | 18% | 30% |
medium | 4% | 12% | 22% |
large-v3-turbo | 2.5% | 11% | 22% |
large-v3 ⭐ | 2% | 9% | 15% |
Полные бенчмарки + рекомендации: methodology/quality-vs-speed.md
whisper-skill/
├── SKILL.md # Точка входа для AI-ассистента (frontmatter + правила)
├── README.md # Этот файл (для людей)
├── wizard.py # 🧙 Интерактивный мастер
├── scripts/
│ └── detect_env.py # Авто-детектор железа (под капотом wizard'а)
├── backends/ # Карточки 4 бэкендов с командами установки
│ ├── mlx-whisper.md
│ ├── faster-whisper.md
│ ├── whisper-cpp.md
│ └── whisperx.md
├── models/
│ └── README.md # Какую модель брать — таблицы и бенчмарки
├── docs/
│ ├── installation-mac.md # Установка под Mac
│ ├── installation-linux.md # Установка под Linux
│ ├── installation-windows.md # Установка под Windows
│ ├── voice-dictation.md # 🎤 Killer feature #1
│ ├── subtitle-baker.md # 🎬 Killer feature #2
│ ├── diarization.md # Разметка спикеров
│ ├── speed-tuning.md # Ускорение
│ ├── cost-comparison.md # vs OpenAI API
│ └── known-issues.md # Грабли
├── examples/ # Готовые рабочие скрипты
│ ├── common.py # Универсальная обвязка (auto-backend, унифицированный output)
│ ├── transcribe_one.py # Один файл → SRT/VTT/TXT/JSON
│ ├── batch_folder.py # Пакетная обработка папки
│ ├── from_url.py # URL TikTok/YouTube/etc → транскрипт
│ ├── podcast_diarize.py # Подкаст с разметкой спикеров
│ ├── voice_dictation.py # 🎤 Push-to-talk диктовка (tray app)
│ └── bake_subs.py # 🎬 Вшить сабы в MP4
└── methodology/
└── quality-vs-speed.md # Шпаргалка «задача → модель → железо»
Если строишь свой агент / бота / автоматизацию через прямой вызов Anthropic SDK:
import os
from pathlib import Path
from anthropic import Anthropic
REPO = Path(__file__).resolve().parent.parent # путь к whisper-skill
def load_skill_context() -> str:
"""SKILL.md + ключевые карточки в один контекст."""
parts = [(REPO / "SKILL.md").read_text(encoding="utf-8")]
for f in [
"backends/faster-whisper.md",
"backends/mlx-whisper.md",
"models/README.md",
"docs/known-issues.md",
]:
parts.append(f"\n# === {f} ===\n\n")
parts.append((REPO / f).read_text(encoding="utf-8"))
return "\n\n".join(parts)
client = Anthropic()
skill_context = load_skill_context()
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=2048,
system=[
{"type": "text", "text": "Ты помощник по локальной транскрибации через Whisper."},
{
"type": "text",
"text": skill_context,
"cache_control": {"type": "ephemeral"}, # ⭐ кешируем skill — снижает стоимость в 10x
},
],
messages=[
{"role": "user", "content": "У меня Mac M2 16GB. Какой бэкенд ставить и какой моделью пользоваться?"}
],
)
print(response.content[0].text)
print(f"Cache hit: {response.usage.cache_read_input_tokens} tokens")
Главная фишка — Anthropic prompt caching снижает стоимость skill-контекста в 10 раз при повторных запросах в течение 5 минут. Без него каждый запрос будет тащить 30k токенов skill'а в полную цену.
Зависит от объёма и приватности. Локально — выгоднее при >100 минут аудио в месяц, и обязательно если нужны diarization, word-level timestamps, или ты не хочешь грузить контент в OpenAI. См. docs/cost-comparison.md.
По дефолту — large-v3-turbo. Для редких языков (казахский, узбекский, татарский) или translation-task — large-v3. См. models/README.md.
Да. Бери faster-whisper в режиме compute_type="int8". На современном x86 8c CPU large-v3-turbo работает ~0.5x от realtime. Терпимо для коротких клипов, медленно для подкастов. Альтернатива — whisper.cpp с AVX2/AVX512 оптимизациями.
large-v3-turbo — 1.6 GB (или 800 MB в int8). Все модели лежат в ~/.cache/huggingface/hub/, шарятся между бэкендами.
См. docs/speed-tuning.md — там 9 проверенных шагов. Главные: указывай язык явно, включай VAD-фильтр, используй large-v3-turbo вместо large-v3.
VAD-фильтр (vad_filter=True в faster-whisper). См. docs/known-issues.md.
Чаще всего — не дано Accessibility-разрешение. System Settings → Privacy & Security → Accessibility → добавить Terminal. Перезапустить терминал. См. docs/voice-dictation.md.
Если auto_paste: false в конфиге — это by design. Если true, но не работает — на macOS опять Accessibility-разрешение, на Linux Wayland — глобальные хоткеи частично сломаны (workaround в docs/voice-dictation.md).
Шрифт не установлен в системе. На Mac: brew install --cask font-montserrat font-inter font-impact font-roboto. На Linux: sudo apt install fonts-montserrat fonts-inter fonts-roboto. Или поменяй в examples/bake_subs.py стиль на тот шрифт что у тебя есть.
Близкие голоса. Помогает: фиксировать num_speakers=N если знаешь точно, denoise + normalize loudness через ffmpeg, использовать длинную запись (на коротком хуже). См. docs/diarization.md.
Сам скилл (этот репо) — MIT. Делай что хочешь, копируй, форкай, продавай — всё ок.
Design enforcement with memory — keeps your UI consistent across a project
1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Claude Code skill for YouTube creators — channel audits, video SEO, retention scripts, thumbnails, content strategy, Sho
AI image generation skill for Claude Code -- Creative Director powered by Gemini