Skip to content
bobberdolle1 edited this page Jan 6, 2026 · 1 revision

🎤 Голосовые сообщения

PersonaForge умеет распознавать голосовые сообщения через Whisper API.

Как это работает

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Голосовое  │ ──▶ │   Whisper   │ ──▶ │    Текст    │
└─────────────┘     └─────────────┘     └─────────────┘
                                               │
                                               ▼
                                        ┌─────────────┐
                                        │  Обработка  │
                                        │  как текст  │
                                        └─────────────┘
  1. Пользователь отправляет голосовое сообщение
  2. Бот скачивает аудио из Telegram
  3. Отправляет в Whisper API для транскрипции
  4. Полученный текст обрабатывается как обычное сообщение
  5. Ответ генерируется через активную персону

Настройка Whisper

Вариант 1: whisper.cpp (рекомендуется)

# Клонируй whisper.cpp
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp

# Собери
make

# Скачай модель
./models/download-ggml-model.sh base

# Запусти сервер
./server -m models/ggml-base.bin --port 8080

Вариант 2: faster-whisper

pip install faster-whisper

# Запусти с API
faster-whisper-server --model base --port 8080

Вариант 3: OpenAI Whisper API

Если используешь OpenAI API, укажи их endpoint.

Конфигурация

# Включить голос
VOICE_ENABLED=true

# URL Whisper API
WHISPER_URL=http://localhost:8080/inference

Поддерживаемые форматы

  • ✅ Голосовые сообщения Telegram (.ogg)
  • ✅ Аудиофайлы (.mp3, .wav, .m4a)
  • ✅ Видеосообщения (кружки) — извлекается аудио

Видеосообщения (кружки)

Для видеосообщений бот делает двойную обработку:

  1. Аудио → Whisper → транскрипция
  2. Видео → Vision → описание

Оба результата объединяются для полного понимания контекста.

Языки

Whisper автоматически определяет язык. Поддерживаются:

  • 🇷🇺 Русский
  • 🇬🇧 Английский
  • 🇩🇪 Немецкий
  • 🇫🇷 Французский
  • И 90+ других языков

Troubleshooting

Бот не отвечает на голосовые

  1. Проверь VOICE_ENABLED=true в .env
  2. Проверь что Whisper запущен:
    curl http://localhost:8080/inference -F "file=@test.ogg"
  3. Проверь логи бота

Плохое качество распознавания

  • Используй модель побольше (medium или large)
  • Проверь качество микрофона
  • Говори чётче и без фонового шума

Долгая обработка

  • Модель base — быстрая, но менее точная
  • Модель large — точная, но медленная
  • Для баланса используй medium

➡️ Далее: Vision

🏠 Начало

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

⚡ Возможности

🛠️ Разработка

Clone this wiki locally