Skip to content

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

License

Notifications You must be signed in to change notification settings

tochilkinva/tg_bot_stt_tts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages