С помощью данного бота вам больше не придется часами слушать голосовые и смотреть кружочки в телеграмме. Благодаря нейросетям можно быстро бесплатно перевести голосовые и кружочки в текст.
- Как это работает?
- Минимальные системные требования
- Установка на Windows
- Установка на Linux
- Материалы для изучения
Файлы форматов .mp4
(кружочки) или .oga
(голосовые) поступаю в бота и преобразовываются в формат .wav
с моно звуковой дорожкой. Далее этот файл поступает на вход Vosk модели, которая преобразует голос в текст. Затем при помощи уже второй Vosk модели добавляется пунктуация в сообщение.
Только x64 архитектура
Более 4GB RAM
От 10GB свободного пространства на диске
-
Скачайте и установите
Python 3.11.7
, если у вас все еще его нет отсюда. -
Установите FFMpeg отсюда. Он нужен для распознавания речи.
-
Добавьте FFMpeg в PATH:
Свойства системы > Переменные среды > Переменные среды пользователя > PATH >
Например:C:\Program Files\ffmpeg-2024-05-27-git-01c7f68f7a-full_build\bin\
Перезагрузите компьютер
-
Клонируйте репозиторий командой:
git clone https://github.com/destraty/TGVoice2Text
- Перейдтие в папку и установите все зависимости
cd TGVoice2Text
pip install -r requirements.txt
- Скачайте модели распознавания речи и пунктуации
- Распакуйте их в любое удобное место.
- Сконфиругируйте файл .env и укажите пути для обоих моделей по своему желанию. Хранить их на рабочем столе настоятельно НЕ РЕКОМЕНДУЕТСЯ!
- Для
TOKEN
укажите токен вашего бота телеграмм. Получить его можно у BotFather. Текствая/видео инструкция тут - Для
SPEECH_MODEL_PATH
укажите путь к папке с моделью. - Для
PUNC_MODEL_PATH
укажите путь к файлу checkpoint.
- Запустите бота
python bot.py
Дождитесь вывода DONE
и пользуйтесь своим ботом)
- Установите Python 3.11 из гайда
- Установите FFMpeg и HDF5
sudo apt update
sudo apt install ffmpeg libhdf5-dev -y
ffmpeg -version
- Клонируйте репозиторий командой:
git clone https://github.com/destraty/TGVoice2Text
- Перейдтие в папку и создайте виртуальное окружение
cd TGVoice2Text
python -m venv env
source env/bin/activate
- Установите зависисмости. Установка
h5py
может занять продолжительное время, так и должно быть. Если на этом этапе возникают ошибки, проверьте наличиеlibhdf5-dev
.
pip install -r requirements.txt
- Создайте папку для моделей и скачайте их:
mkdir models && cd models
wget https://alphacephei.com/vosk/models/vosk-model-ru-0.10.zip
wget https://alphacephei.com/vosk/models/vosk-recasepunc-ru-0.22.zip
- В этой же папке распаковываем модели. Процесс тоже может быть достаточно длительным, общий вес моделей порядка 6ГБ.
unzip unzip vosk-model-ru-0.10.zip
rm vosk-model-ru-0.10.zip
unzip vosk-recasepunc-ru-0.22.zip
rm vosk-recasepunc-ru-0.22.zip
- Отредактируем файл
nano .env
в папкеTGVoice2Text
на что-то подобное:
TOKEN = 'ВАШ ТОКЕН ТГ БОТА'
DOWNLOAD_DIR = './downloads'
SPEECH_MODEL_PATH = "./models/vosk-model-ru-0.10"
PUNC_MODEL_PATH = "./models/vosk-recasepunc-ru-0.22/checkpoint"
- Создадим демон .service для хостинга бота:
sudo nano /etc/systemd/system/v2t_bot.service
[Unit]
Description=v2t
After=network.target
[Service]
Type=simple
User=ПОЛЬЗОВАТЕЛЬ
WorkingDirectory=/home/ПОЛЬЗОВАТЕЛЬ/TGVoice2Text/
ExecStart=/usr/bin/python3.11 /path/to/TGVoice2Text/bot.py
[Install]
WantedBy=multi-user.target
- Запустим бота
sudo systemctl daemon-reload
sudo systemctl enable v2t_bot.service
sudo systemctl start v2t_bot.service
Проверьте правильность запуска используя:
sudo systemctl status v2t_bot.service
P.S В случае вылета из-за нехватки ОЗУ, добавьте в v2t_bot.service
в раздел [Service]
данную строку. Значение 2G можно заменить на свое.
MemoryLimit=2G
Не забудьте выполнить после созранения:
sudo systemctl daemon-reload