Skip to content
senshu-devPublic

About

Суфлёр в реальном времени: распознаёт речь из системного звука (браузер, созвоны) локально через Whisper и подсказывает ответы на вопросы с помощью Claude по подписке Pro — без API-ключа.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sufler

Консольный суфлёр для Linux. Захватывает системный звук (браузер, видеозвонок, запись лекции), локально распознаёт речь и выводит в терминал краткие ответы на прозвучавшие вопросы. Ответы генерирует Claude через Claude Code CLI, поэтому достаточно подписки Claude Pro или Max, API-ключ не нужен.

Принцип работы

  1. parec записывает монитор устройства вывода по умолчанию (PulseAudio или PipeWire).
  2. Поток нарезается на фразы по паузам и распознаётся локально моделью faster-whisper large-v3-turbo. На видеокарте NVIDIA распознавание фразы занимает около 0,2 с, без GPU используется CPU.
  3. Когда в реплике есть вопросительный знак (или по нажатию Enter), последние реплики передаются в claude -p. Ответ выводится в терминал по мере генерации.

Claude получает последние реплики разделёнными на уже обработанный контекст и новые фразы. Он отвечает только на новый содержательный вопрос, а риторические вопросы вроде «да?» или «понятно?» пропускает.

Требования

  • Linux с PulseAudio или PipeWire (утилиты pactl и parec)
  • Python 3.10 или новее
  • Claude Code с выполненным входом в аккаунт с подпиской
  • Видеокарта NVIDIA (необязательно). Устанавливать CUDA Toolkit не требуется: библиотеки CUDA 12 ставятся pip-пакетами в виртуальное окружение.

Установка

git clone https://github.com/senshu-dev/sufler.git
cd sufler
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

При первом запуске модель (около 1,6 ГБ) скачивается с Hugging Face автоматически. Её можно загрузить заранее в каталог models/large-v3-turbo, скрипт использует его при наличии:

mkdir -p models/large-v3-turbo
cd models/large-v3-turbo
for f in config.json preprocessor_config.json tokenizer.json vocabulary.json model.bin; do
  curl -fL -C - -O "https://huggingface.co/mobiuslabsgmbh/faster-whisper-large-v3-turbo/resolve/main/$f"
done

Использование

.venv/bin/python sufler.py

Загрузка модели и инициализация GPU занимают около 15 секунд. Распознанные реплики выводятся приглушённым цветом, ответы Claude выделены зелёным. Enter отправляет запрос вручную, Ctrl+C завершает работу.

Параметры

Параметр По умолчанию Описание
--lang ru Язык речи. auto включает автоопределение, которое ошибается на коротких фразах
--claude sonnet Модель Claude: haiku, sonnet или opus
--model large-v3-turbo Модель Whisper: имя (small, medium и др.) или путь к каталогу
--source монитор вывода по умолчанию Источник звука, список: pactl list short sources
--silence 0.01 Порог тишины (RMS). Уменьшите, если теряются тихие слова
--no-auto выключен Отправлять запросы только по Enter

Если Claude Code работает через прокси, задайте его через переменные окружения:

HTTPS_PROXY=socks5://host:port .venv/bin/python sufler.py

Ограничения

  • Каждый запрос расходует лимит сообщений подписки. При частых вопросах используйте --no-auto или --claude haiku.
  • Фразы определяются по громкости, поэтому на фоне музыки и шума нарезка работает хуже.
  • До начала ответа проходит около 5 секунд: на каждый запрос запускается отдельный процесс claude -p.
  • Поддерживается только Linux.

Лицензия

Распространяется по лицензии MIT.

About

Суфлёр в реальном времени: распознаёт речь из системного звука (браузер, созвоны) локально через Whisper и подсказывает ответы на вопросы с помощью Claude по подписке Pro — без API-ключа.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages