Использование голосового режима с Hermes

Это руководство является практическим дополнением к справочнику возможностей голосового режима.

Если страница возможностей объясняет, что умеет голосовой режим, то это руководство показывает, как эффективно его использовать.

Для чего подходит голосовой режим

Голосовой режим особенно полезен, когда:

Выберите настройку голосового режима

В Hermes есть три различных голосовых режима.

Режим Для чего подходит Платформа
Интерактивный микрофонный цикл Персональное использование без рук во время программирования или исследований CLI
Голосовые ответы в чате Озвученные ответы вместе с обычными текстовыми сообщениями Telegram, Discord
Бот в голосовом канале Групповое или личное живое общение в голосовом канале Голосовые каналы Discord

Хороший путь:

  1. сначала настройте текстовый режим

  2. затем включите голосовые ответы

  3. и только потом переходите к голосовым каналам Discord, если хотите полный функционал

Шаг 1: убедитесь, что обычный Hermes работает

Прежде чем настраивать голосовой режим, проверьте, что:

hermes

Спросите что-нибудь простое:

What tools do you have available?

Если это ещё не работает стабильно, сначала исправьте текстовый режим.

Шаг 2: установите необходимые дополнительные пакеты

Микрофон CLI + воспроизведение

pip install "hermes-agent[voice]"

Платформы обмена сообщениями

pip install "hermes-agent[messaging]"

Премиум TTS ElevenLabs

pip install "hermes-agent[tts-premium]"

Локальный NeuTTS (опционально)

python -m pip install -U neutts[all]

Всё сразу

pip install "hermes-agent[all]"

Шаг 3: установите системные зависимости

macOS

brew install portaudio ffmpeg opus
brew install espeak-ng

Ubuntu / Debian

sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng

Почему это важно:

Шаг 4: выберите STT и TTS провайдеров

Hermes поддерживает как локальные, так и облачные голосовые стеки.

Самая простая / дешёвая настройка

Используйте локальный STT и бесплатный Edge TTS:

Обычно это лучшее место для начала.

Пример файла окружения

Добавьте в ~/.hermes/.env:

# Cloud STT options (local needs no key)
GROQ_API_KEY=***
VOICE_TOOLS_OPENAI_KEY=***

# Premium TTS (optional)
ELEVENLABS_API_KEY=***

Рекомендации по провайдерам

Распознавание речи (STT)

Синтез речи (TTS)

Если вы используете hermes setup

Если вы выберете NeuTTS в мастере настройки, Hermes проверит, установлен ли уже neutts. Если он отсутствует, мастер сообщит, что для NeuTTS требуется Python-пакет neutts и системный пакет espeak-ng, предложит установить их, установит espeak-ng через менеджер пакетов вашей платформы, а затем выполнит:

python -m pip install -U neutts[all]

Если вы пропустите установку или она завершится ошибкой, мастер переключится на Edge TTS.

voice:
  record_key: "ctrl+b"
  max_recording_seconds: 120
  auto_tts: false
  beep_enabled: true
  silence_threshold: 200
  silence_duration: 3.0

stt:
  provider: "local"
  local:
    model: "base"

tts:
  provider: "edge"
  edge:
    voice: "en-US-AriaNeural"

Это хорошая консервативная настройка по умолчанию для большинства пользователей.

Если вы хотите локальный TTS, замените блок tts на:

tts:
  provider: "neutts"
  neutts:
    ref_audio: ''
    ref_text: ''
    model: neuphonic/neutts-air-q4-gguf
    device: cpu

Сценарий 1: голосовой режим в CLI

Включение

Запустите Hermes:

hermes

Внутри CLI:

/voice on

Процесс записи

Клавиша по умолчанию:

Последовательность действий:

  1. нажмите Ctrl+B

  2. говорите

  3. дождитесь автоматической остановки записи по детекции тишины

  4. Hermes транскрибирует и отвечает

  5. если TTS включён, он озвучивает ответ

  6. цикл может автоматически перезапускаться для непрерывного использования

Полезные команды

/voice
/voice on
/voice off
/voice tts
/voice status

Удобные сценарии в CLI

Отладка на ходу

Скажите:

I keep getting a docker permission error. Help me debug it.

Затем продолжайте без клавиатуры:

Исследования / мозговой штурм

Отлично подходит для:

Доступность / сессии с ограниченным набором текста

Если набирать текст неудобно, голосовой режим — один из самых быстрых способов оставаться в полном цикле Hermes.

Настройка поведения CLI

Порог тишины

Если Hermes запускается/останавливается слишком агрессивно, настройте:

voice:
  silence_threshold: 250

Более высокий порог = менее чувствительно.

Длительность тишины

Если вы делаете длинные паузы между предложениями, увеличьте:

voice:
  silence_duration: 4.0

Клавиша записи

Если Ctrl+B конфликтует с вашим терминалом или привычками в tmux:

voice:
  record_key: "ctrl+space"

Сценарий 2: голосовые ответы в Telegram или Discord

Этот режим проще, чем полноценные голосовые каналы.

Hermes остаётся обычным чат-ботом, но может озвучивать ответы.

Запустите шлюз

hermes gateway

Включите голосовые ответы

В Telegram или Discord:

/voice on

или

/voice tts

Режимы

Режим Значение
off только текст
voice_only озвучивать только когда пользователь отправил голос
all озвучивать каждый ответ

Когда какой режим использовать

Удобные сценарии в мессенджерах

Telegram-ассистент на телефоне

Используйте, когда:

Discord DM с голосовым выводом

Полезно, когда нужно личное взаимодействие без упоминаний в серверных каналах.

Сценарий 3: голосовые каналы Discord

Это самый продвинутый режим.

Hermes подключается к голосовому каналу Discord, слушает речь пользователей, транскрибирует её, запускает обычный конвейер агента и озвучивает ответы обратно в канал.

Необходимые разрешения Discord

В дополнение к обычной настройке текстового бота, убедитесь, что бот имеет разрешения:

Также включите привилегированные намерения (Intents) в портале разработчика:

Подключение и отключение

В текстовом канале Discord, где присутствует бот:

/voice join
/voice leave
/voice status

Что происходит после подключения

Лучшие практики использования голосовых каналов Discord

Рекомендации по качеству голоса

Настройка наилучшего качества

Настройка максимальной скорости / удобства

Настройка с нулевой стоимостью

Частые проблемы

«Аудиоустройство не найдено»

Установите portaudio.

«Бот подключается, но ничего не слышит»

Проверьте:

«Транскрибация работает, но ответа нет»

Проверьте:

«Whisper выдаёт мусор»

Попробуйте:

«Работает в ЛС, но не в серверных каналах»

Чаще всего это связано с политикой упоминаний.

По умолчанию боту требуется @упоминание в текстовых каналах Discord, если не настроено иное.

Рекомендуемая настройка на первую неделю

Если вы хотите кратчайший путь к успеху:

  1. настройте текстовый Hermes

  2. установите hermes-agent[voice]

  3. используйте голосовой режим CLI с локальным STT + Edge TTS

  4. затем включите /voice on в Telegram или Discord

  5. и только после этого пробуйте голосовые каналы Discord

Такой подход минимизирует поверхность для отладки.