Реализация Pytorch CS-Tacotron, синтез речи, переключающего код, сквозняк генеративного TTS, основанного на такотроне. Для обычной версии Tacotron, пожалуйста, посмотрите это репо.
Благодаря широкому успеху недавних моделей машинного обучения текста в речь (TTS), многообещающие результаты по синтезированию реалистичной речи подтверждают способность машины синтезировать человеческие голоса. Тем не менее, был достигнут небольшой прогресс в домене синтеза текста в речь китайско-английского языка, где машина должна научиться обрабатывать как ввод, так и вывод многоязычным образом. Переключение кода происходит, когда говорящий чередуется между двумя или более языками, в настоящее время люди общаются на языках переключения кода в повседневной жизни, поэтому необходимо разработать технологии разговорных языков, такие как TTS для обработки многоязычного ввода и вывода.
В этой работе мы представляем такотрон переключения кода, который основан на современной сквозной генеративной модели текста в речь Tacotron (Wang et al., 2017). CS-Tacotron способен синтезировать речь о переключении кода, обусловленную необработанным текстом CS. Учитывая текстовые пары CS и аудио, наша модель может быть обучена сквозной, с правильной предварительной обработкой данных. В Freemmore мы обучаем нашу модель на наборе данных лекции, китайско-английский набор лекций, основанный на лекциях, который происходит из цифровой обработки цифровых сигналов (DSP), предлагаемой в Национальном университете Тайваня (NTU). Мы представляем несколько ключевых методов реализации, чтобы заставить такотронную модель хорошо выполнять эту сложную многоязычную задачу генерации речи. CS-Tacotron обладает способностью генерировать речь CS из текста CS и ярко говорит со стилем спикера лекции.
См. Отчет.pdf для получения более подробной информации об этой работе.
Приглашаются запросы на вытягивание!
Аудио Образцы CS-Tacotron. Все приведенные ниже фразы невидимы во время обучения.
Установите Python 3.
Установите последнюю версию Pytorch в соответствии с вашей платформой. Для лучшей производительности установите с помощью поддержки GPU (CUDA), если он является жизнеспособной. Этот код работает с Pytorch 1.0 и позже.
(Необязательно) Установите последнюю версию TensorFlow в соответствии с вашей платформой. Это может быть необязательным, но сейчас требуется для обработки речи.
Установить требования:
pip3 install -r requirements.txt
ПРЕДУПРЕЖДЕНИЕ: Вам нужно установить Torch и Tensorflow / Tensorflow-GPU в зависимости от вашей платформы. Здесь мы перечислим версию Pytorch и Tensorflow, которую мы используем, когда создали этот проект.
python3 test.py --interactive --plot --long_input --model 470000
python3 test.py --plot --model 480000 --test_file_path ../data/text/test_sample.txt
* '--long_input' is optional to add
Примечание: мы обучили нашу модель на нашем собственном наборе данных: LecturedSp. В настоящее время этот набор данных не доступен для публичного выпуска и остается частной коллекцией в лаборатории. См. «Отчет.pdf» для получения дополнительной информации об этом наборе данных.
Загрузите набор данных о переключении кода по вашему выбору.
Распаковать набор данных в ~/data/text и ~/data/audio .
После распаковки ваше дерево данных должно выглядеть так для работы по умолчанию:
./CS-Tacotron
|- data
|- text
|- train_sample.txt
|- test_sample.txt
|- audio
|- sample
|- audio_sample_*.wav
|- ...
Примечание. Для следующего раздела установите пути в соответствии с именами файлов вашего набора данных, это просто демонстрация некоторых образцов данных. Формат вашего набора данных должен соответствовать предоставленным примерным данным для работы этого кода.
Предварительно обрабатывать текстовые данные с помощью src/preprocess.py:
python3 preprocess.py --mode text --text_input_raw_path ../data/text/train_sample.txt --text_pinyin_path '../data/text/train_sample_pinyin.txt'
Предварительно обрабатывать аудиоданные с использованием src/preprocess.py:
python3 preprocess.py --mode audio --audio_input_dir ../data/audio/sample/ --audio_output_dir ../data/audio/sample_processed/ --visualization_dir ../data/audio/sample_visualization/
Визуализация различий в предварительной обработке аудио:
Сделайте готовые к модели мета-файлы из текста и аудио с помощью src/preprocess.py:
python3 preprocess.py --mode meta --text_pinyin_path ../data/text/train_sample_pinyin.txt --audio_output_dir ../data/audio/sample_processed/
Обучить модель с помощью src/train.py
python3 train.py
Настраиваемые гиперпараметры обнаруживаются в src/config.py. Вы можете настроить эти параметры и настройки, редактируя файл. Гиперпараметры по умолчанию рекомендуются для лекции и других данных переключения кода китайского языка.
Мониторинг с Tensorboardx (необязательно)
tensorboard --logdir 'path to log dir'
Тренер сдает аудио и выравнивания каждые 2000 шагов по умолчанию. Вы можете найти их в CS-tacotron/ckpt .
Мы хотели бы отдать должное работе Рюичи Ямамото, замечательной внедрения такотрона Pytorch, на которой мы в основном основывались на нашей работе.
Мы показываем график выравнивания фазы тестирования нашей модели, где первый показывает выравнивание монолингального китайского ввода, вторым является китайско-английский ввод кода, а третьим является одноязычный английский ввод, соответственно.