Перейти к содержанию

Voice Mode With Hermes

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

Что хорошо умеет голосовой режим

Голосовой режим особенно полезен, когда: * вам нужен CLI-процесс без использования рук * вы хотите получать голосовые ответы в Telegram или Discord * вы хотите, чтобы Hermes находился в голосовом канале Discord для живого общения * вы хотите быстро фиксировать идеи, отлаживать или общаться на ходу вместо того, чтобы печатать

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

В Hermes есть три различных голосовых режима. Режим| Для чего лучше всего подходит| Платформа ---|---|--- Интерактивный микрофонный цикл| Личное использование без рук во время программирования или исследований| CLI Голосовые ответы в чате| Голосовые ответы вместе с обычной перепиской| Telegram, Discord Бот в голосовом канале| Групповое или личное общение в голосовом канале| Discord voice channels Хороший путь: 1. сначала настройте текстовый режим 2. затем включите голосовые ответы 3. переходите к голосовым каналам Discord в последнюю очередь, если хотите полный опыт

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

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

[code] hermes

[/code] Задайте что-нибудь простое: [code] What tools do you have available?

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

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

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

[code] pip install "hermes-agent[voice]"

[/code]

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

[code] pip install "hermes-agent[messaging]"

[/code]

Премиум TTS от ElevenLabs

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

[/code]

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

[code] python -m pip install -U neutts[all]

[/code]

Всё и сразу

[code] pip install "hermes-agent[all]"

[/code]

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

macOS

[code] brew install portaudio ffmpeg opus
brew install espeak-ng

[/code]

Ubuntu / Debian

[code] sudo apt install portaudio19-dev ffmpeg libopus0
sudo apt install espeak-ng

[/code] Почему это важно: * portaudio → ввод с микрофона / воспроизведение для голосового режима CLI * ffmpeg → конвертация аудио для TTS и доставки сообщений * opus → поддержка голосового кодека Discord * espeak-ng → бэкенд фонемизатора для NeuTTS

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

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

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

Используйте локальный STT и бесплатный Edge TTS: * STT провайдер: local * TTS провайдер: edge

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

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

Добавьте в ~/.hermes/.env: [code] # Cloud STT options (local needs no key)
GROQ_API_KEY=
VOICE_TOOLS_OPENAI_KEY=

# Premium TTS (optional)  
ELEVENLABS_API_KEY=***

[/code]

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

Speech-to-text

  • local → лучший выбор по умолчанию для приватности и бесплатного использования
  • groq → очень быстрая облачная транскрипция
  • openai → хороший платный запасной вариант

Text-to-speech

  • edge → бесплатно и достаточно хорошо для большинства пользователей
  • neutts → бесплатный локальный TTS на устройстве
  • elevenlabs → наилучшее качество
  • openai → хороший компромисс
  • mistral → мультиязычный, нативная поддержка Opus

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

Если вы выберете NeuTTS в мастере настройки, Hermes проверяет, установлен ли neutts. Если он отсутствует, мастер сообщает, что NeuTTS требует Python-пакет neutts и системный пакет espeak-ng, предлагает установить их, устанавливает espeak-ng через пакетный менеджер вашей платформы, а затем запускает: [code] python -m pip install -U neutts[all]

[/code] Если вы пропустите эту установку или она не удастся, мастер переключится на Edge TTS.

Шаг 5: рекомендуемая конфигурация

[code] 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"

[/code] Это хорошая консервативная настройка по умолчанию для большинства людей. Если вы хотите локальный TTS, замените блок tts на: [code] tts:
provider: "neutts"
neutts:
ref_audio: ''
ref_text: ''
model: neuphonic/neutts-air-q4-gguf
device: cpu

[/code]

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

Включение

Запустите Hermes: [code] hermes

[/code] Внутри CLI: [code] /voice on

[/code]

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

Клавиша по умолчанию: * Ctrl+B

Рабочий процесс: 1. нажмите Ctrl+B 2. говорите 3. дождитесь автоматической остановки записи по детекции тишины 4. Hermes транскрибирует и отвечает 5. если TTS включён, он озвучивает ответ 6. цикл может автоматически перезапускаться для непрерывного использования

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

[code] /voice
/voice on
/voice off
/voice tts
/voice status

[/code]

Хорошие сценарии работы в CLI

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

Скажите: [code] I keep getting a docker permission error. Help me debug it.

[/code] Затем продолжайте без рук: * «Прочитай последнюю ошибку ещё раз» * «Объясни первопричину проще» * «Теперь дай точное решение»

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

Отлично подходит для: * размышлений на ходу * диктовки наполовину сформированных идей * просьбы к Hermes структурировать ваши мысли в реальном времени

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

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

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

Порог тишины

Если Hermes реагирует слишком агрессивно, настройте: [code] voice:
silence_threshold: 250

[/code] Более высокий порог = меньшая чувствительность.

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

Если вы делаете длинные паузы между предложениями, увеличьте: [code] voice:
silence_duration: 4.0

[/code]

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

Если Ctrl+B конфликтует с вашим терминалом или привычками tmux: [code] voice:
record_key: "ctrl+space"

[/code]

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

Этот режим проще, чем полноценные голосовые каналы. Hermes остаётся обычным чат-ботом, но может озвучивать ответы.

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

[code] hermes gateway

[/code]

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

В Telegram или Discord: [code] /voice on

[/code] или [code] /voice tts

[/code]

Режимы

Режим Значение
off только текст
voice_only говорить только если пользователь отправил голосовое сообщение
all озвучивать каждый ответ
### Когда какой режим использовать
* /voice on если хотите голосовые ответы только на голосовые сообщения
* /voice tts если хотите всегда получать полностью озвученные ответы

Хорошие сценарии работы в мессенджерах

Telegram-ассистент на вашем телефоне

Используйте, когда: * вы не за компьютером * хотите отправлять голосовые заметки и получать быстрые голосовые ответы * хотите, чтобы Hermes работал как портативный исследовательский или операционный ассистент

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

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

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

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

Требуемые разрешения Discord

В дополнение к обычной настройке текстового бота, убедитесь, что бот имеет: * Connect * Speak * желательно Use Voice Activity

Также включите привилегированные намерения в портале разработчика: * Presence Intent * Server Members Intent * Message Content Intent

Присоединение и выход

В текстовом канале Discord, где присутствует бот: [code] /voice join
/voice leave
/voice status

[/code]

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

  • пользователи говорят в голосовом канале
  • Hermes определяет границы речи
  • расшифровки публикуются в связанном текстовом канале
  • Hermes отвечает текстом и аудио
  • текстовый канал — тот, в котором была введена команда /voice join

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

  • держите DISCORD_ALLOWED_USERS строгим
  • сначала используйте выделенный канал для бота/тестирования
  • проверьте, что STT и TTS работают в обычном текстовом голосовом режиме, прежде чем пробовать голосовой канал

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

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

  • STT: локальный large-v3 или Groq whisper-large-v3
  • TTS: ElevenLabs

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

  • STT: локальный base или Groq
  • TTS: Edge

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

  • STT: локальный
  • TTS: Edge

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

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

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

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

Проверьте: * ваш ID пользователя Discord есть в DISCORD_ALLOWED_USERS * вы не в режиме без звука * привилегированные намерения включены * у бота есть разрешения Connect/Speak

«Транскрибирует, но не говорит»

Проверьте: * конфигурацию TTS провайдера * API-ключ / квоту для ElevenLabs или OpenAI * установку ffmpeg для путей конвертации Edge

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

Попробуйте: * более тихое окружение * больший silence_threshold * другого STT провайдера/модель * более короткие чёткие фразы

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

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

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

Если вы хотите кратчайший путь к успеху: 1. настройте текстовый Hermes 2. установите hermes-agent[voice] 3. используйте голосовой режим CLI с локальным STT + Edge TTS 4. затем включите /voice on в Telegram или Discord 5. только после этого пробуйте режим голосового канала Discord

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

Куда читать дальше