Egor3f / tg_bot_stt_tts

Telegram bot with voice message recognition and generation. Speech to Text and Text to Speech

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tg_bot_stt_tts

Telegram bot with voice message recognition and generation. Speech to Text and Text to Speech.

Описание

Telegram-бот с распознаванием и генерацией голосовых сообщений. Пока протестирован и работает под Windows!

Технологии

aiogram, torch, vosk, silero, num2words, ffmpeg

Алгоритм работы

  • Распознавание аудио и голосовых сообщений: кидаем боту аудио или голосовое сообщение, получаем текст.
  • Генерация аудио сообщений: кидаем боту текст, получаем аудио сообщение.

Команды

  • /start - Приветствие, появляется при первом старте бота
  • /help - Повторяет сообщение при первом старте бота
  • /test - Отвечает тестовым сообщением

Запуск проекта

Клонируйте репозиторий и перейдите в него в командной строке:

git clone https://github.com/tochilkinva/tg_bot_stt_tts.git
cd tg_bot_stt_tts

Cоздайте и активируйте виртуальное окружение:

python -m venv venv
. env/Scripts/activate

Установите зависимости из файла requirements.txt:

python -m pip install --upgrade pip
pip install -r requirements.txt

Создайте файл .env и укажите токен вашего бота. Пример есть в .env_example. Процесс создания телеграм бота и получения токена не описан.

Скачайте модели и поместите в необходимые папки. Где взять модели описано ниже.

После скачивания моделей запустите код bot.py в Python.

Модели Vosk и Silero, а также FFmpeg

Vosk - оффлайн-распознавание аудио и получение из него текста. Модели доступны на сайте проекта. Скачайте модель, разархивируйте и поместите папку model с файлами в папку models/vosk.

Silero - оффлайн-создание аудио сообщения из текста. В классе TTS проекта указана модель Silero v3.1 ru - 60 Мб, которая сама скачается при первом запуске проекта. Остальные модели можно скачать тут или на сайте проекта.

FFmpeg - набор open-source библиотек для конвертирования аудио- и видео в различных форматах. Скачайте набор exe файлов с сайта проекта и поместите файл ffmpeg.exe в папки models/vosk и models/silero.

Автор

Валентин

About

Telegram bot with voice message recognition and generation. Speech to Text and Text to Speech

License:MIT License


Languages

Language:Python 100.0%