/diplom

Диплом

Primary LanguagePython

Дипломная работа бакалавра на тему: Генерация аудиоданных для замещения и добавления их в аудиопоток

Проект "Генерация аудиоданных для замещения и добавления их в аудиопоток” направлен на создание приложения, которое автоматически улучшает качество аудиоконтента, заменяя сленговые слова на литературные аналоги. Программа использует передовые технологии синтеза речи, чтобы воспроизвести замененные слова голосом говорящего, сохраняя естественность и индивидуальность аудиозаписи. Это позволяет создавать более профессиональный и привлекательный аудиоконтент, очищенный от нежелательного сленга.

Требования

  1. Оперативная память >= 8 Гб
  2. Python, версия >= 3.10
  3. PostgreSQL 14.11

Тестировалось приложение на ОС Ubuntu 22.04.

Архитектура проекта

Проект реализован с применением монолитной архитектуры, которая обеспечивает единое и цельное функционирование системы. Программа состоит не нескольких модулей (все они объединены цветом на рисунке).

  1. модуль поиска слов:
  • расчет MFCC-коэффициентов;
  • определение возможных мест с запретными словами, с использованием алгоритма DTW;
  • сегментация фрагмента аудио на отдельные слова.
  1. модуль генерации аудиоданных, содержащий модель нейросети, которая синтезирует речь.
  2. модуль, объединяющий поиск и генерацию. Именно здесь происходит замена запретного слова на сгенерированный отрезок.
  3. модуль по взаимодействию с БД. База данных служит хранилищем для референсов – слов, которые необходимо заменить. В ней хранятся MFCC-коэффициенты, расчитанные заранее, и слова на замену.

архитектура

Подготовка к запуску

Рекомендуется создать виртуальное окружение и проделывать все работы в нем. Команда для создания виртуального окружения python -m venv <название_виртуального_окружения> Репозиторий необходимо склонировать в виртуальное окружение.

  1. После скачивания репозитория, установите все зависимости: pip install -r ./requirements.txt
  2. Необходимо создать базу данных в PostgeSQL.
  3. Выполните скрипт ./sqlTemplate/create-table-template.sql для создания необходимых таблиц
  4. Создайте файл configDataBases.ini и заполните данные о вашей БД:
    [Database]
     host = ваш хост
     dbname = имя созданной БД
     user = имя пользователя СУБД, у которого есть доступ к БД
     password = пароль пользователя
    
  5. Запустите приложение командой: python3 interface.py

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

Запустив приложение, вы увидите две вкладки: «База данных» и «TalkSlang». Соответственно, на первой вкладке происходит взаимодействие с базой данных, на второй выполняется основная функция приложения.

Вкладка База данных

Вы видите референсы, которые загружены в базу данных, и их количество. Вы можете взаимодействовать с БД, добавляя, удаляя, изменяя слова. Следуйте инстукциям, указанным при выполнении действий. Примеры работы:

Добавление:

add_new

Обновление:

update_new

Удаление:

delete_new

Вкладка TalkSlang

На данной вкладке вы можете запустить обработку аудио. Выберите необходимый файл и нажмите кнопку "Перевести". Ожидайте выполнения. По готовности будет выведено сообщение. Запускать обработку нескольких файлов нельзя. Примеры работы: translate_start progress_bar translate_result