https://github.com/netherquartz/webttsproject
Итоговый проект по курсу «Программные средства для задач искусственного интеллекта»
https://github.com/netherquartz/webttsproject
Last synced: 12 months ago
JSON representation
Итоговый проект по курсу «Программные средства для задач искусственного интеллекта»
- Host: GitHub
- URL: https://github.com/netherquartz/webttsproject
- Owner: NetherQuartz
- License: mit
- Created: 2023-12-24T18:24:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-26T03:56:49.000Z (over 2 years ago)
- Last Synced: 2025-03-13T02:18:08.811Z (over 1 year ago)
- Language: Python
- Size: 144 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# WebTTSProject
Итоговый проект по курсу «Программные средства для задач искусственного интеллекта»

## Описание
Сервис предоставляет веб-интерфейс с возможностью ввода текста и получения его озвучки посредством модели [Silero TTS](https://pytorch.org/hub/snakers4_silero-models_tts/).
Пользователь вводит текст, нажимает клавишу `Enter`, и на странице появляется блок с плеером для прослушивания.
История генераций сохраняется и выводится заново при обновлении страницы.
Архитектурно система представляет собой два Docker-контейнера: вебсервис и базу данных PostgreSQL.
Вебсервис реализует API на базе Python и FastAPI и интерфейс взаимодействия с моделью, написанный на HTML и JavaScript. Инференс модели производится с помощью библиотеки PyTorch.
В БД сохраняются файлы озвучки, время их создания и исходный текст.
Перед генерацией текст предобрабатывается: производится транслитерация некириллических слов и запись чисел словами.
Итоговый файл перед сохранением и отправкой конвертируется в MP3.
## Запуск
Для запуска требуется установленный Docker с утилитой `docker-compose`. Для сборки и запуска, находясь в корневой папке проекта, выполните команду:
```bash
docker-compose up --build -d
```
После старта обоих контейнеров окройте в браузере адрес `localhost:8000`. Если порт окажется занят, можно его поменять в файле `docker-compose.yml`.