Питстрон

- Просодия передачи инструментарий, с помощью которого вы можете генерировать стильные речи, даже если ваш тренировочный DB - это нейтральные голоса от обычных людей.
- Мы можем перенести корейские диалекты (Kyongsang, Cheolla) и эмоциональные просу, а также нейтральные диалоги.
- Жесткий витстрон предназначен для строгого передачи просодии.
- Soft Pitchtron преследует естественную передачу просодий, даже эталонный аудио и целевой предложение совершенно отличается по содержанию.
- DB, который мы выпускаем с этим проектом, доступен на Emotion_tts
- Образцы аудио доступны по адресу http://jsh-tts.tistory.com/entry/pitchtron
- Pitchstron Paper: https://arxiv.org/abs/2005.10456
Различия трех ветвей
- Все три филиала, предоставленные здесь, предназначены для передачи просодии.
- Вы можете генерировать речь желаемого стиля, предложения и голоса.
- Спикер справочного звука может быть кем -либо, и этот человек не обязательна, чтобы быть включенным в данные обучения.
- Целевой динамик (голос синтезированного звука) должен быть включен в учебные данные.
- Используя жесткий и мягкий виттерн, вы можете синтезировать в диалекте «Kyongsang», диалекте Cheolla 'и эмоциональном стиле, даже если модель обучена только простой нейтральной речи.
- С другой стороны, для токена Global Style вам нужен DB желаемого стиля во время тренировки.
- Я предложил этот Питстрон , чтобы выступить на корейском диалекте Кёнгсанг Ан Ан Ан Челла.
- ДБ этих диалектов очень ограничен, а «контур высоты высоты» является ключом к естественным ссылкам на них. Это также верно для многих других языков (японский), тонального лангауге (китайского) и эмоционального разговора.
| Временное разрешение | Линейный контроль | Регулировка вокала | Непараллельные ссылки | Невидимый стиль поддержка | Требование анализа измерений |
|---|
| Гф | Х | Х | Х | О | Х | О |
| Мягкий витстрон | О | * | О | О | О | Х |
| Жесткий витстрон | О | О | О | ** | О | Х |
- *: Soft Pitchstron позволит вам контролировать высоту до тех пор, пока он может звучать естественно. Если он находится вне вокального диапазона целевого динамика, он будет обрезан, чтобы издать естественный звук.
- **: Hard Pitchtron допускает ограниченные непараллельные ссылки.
- Ограниченная непараллель: текст может отличаться, но структура предложения должна соответствовать.
| Предложение |
|---|
| Ссылка | "아니요 지는 이야기허고 싶지 않아요" |
| Цель | "그래요 갸는 나들이가고 싶은것 같아요" |
- Временное разрешение: можем ли мы контролировать стиль по -разному с помощью TimeStep?
- Линейный элемент управления: могу ли я контролировать именно то, какую сумму будет масштабирован высота (примечание)? Мне не нужно исследовать в пространстве встраивания, чтобы выяснить изменение масштаба в измерении встроения в качестве входных изменений?
- Регулировка вокального диапазона: если вокальный диапазон справочного динамика и целевого динамика резко отличается, могу ли я естественным образом ссылаться на вокальный диапазон целевого динамика?
- Непараллельные ссылки: если эталонное предложение и целевое предложение различны, могу ли я синтезировать его естественным образом?
- Невидимый стиль поддержка: если желаемый справочный звук имеет стиль, который никогда не был замечен во время тренировки, может ли его быть передано естественным образом?
- Требование к анализу измерений: я должен проанализировать, какой контроль токена/измерения, какой атрибут контролирует эту модель?
1. Мягкий витстрон
- Эта филиал предоставляет неконтролируемую передачу просодий параллельных, ограниченных непараллельных и непараллельных предложений.
- Параллель: справочные предложения аудио и предложения целевого синтеза.
- Ограниченный непараллель: упомянуто выше.
- Непараллельно: справочное звуковое предложение и предложение целевого синтеза не должно соответствовать.
- Подобно токену глобального стиля, но есть несколько преимуществ.
- Это гораздо более надежно для стилей, которые невидимы во время тренировки.
- Это намного проще контролировать.
- Вам не нужно анализировать токены или измерения, чтобы увидеть, что делает каждый токен.
- Вы можете масштабировать диапазон эталонного звука, чтобы соответствовать целевому динамику, так что межполевая передача более естественна.
- Вы также можете управлять шагом для каждого ввода фонем
- Диапазон опорного звука масштабируется, чтобы соответствовать целевому динамику, так что межполеночная передача более естественна.
- Ваш контроль над шагом не настолько строг, что он будет масштабироваться только до той суммы, которая звучит естественно.
2. жесткий витстрон
- Эта филиал предоставляет неконтролируемую параллельную и «ограниченную непараллельную» неконтролируемую передачу просодии.
- Вместо этого ритм и шаг точно такие же, как справочный звук.
- Диапазон опорного звука масштабируется, чтобы соответствовать целевому динамику, так что межполеночная передача более естественна.
- У вас есть строгий контроль над диапазоном высоты, до количества, где оно будет масштабироваться, даже если оно приведет к неестественному звуку.
3. Global Style Token
- Глобальное внедрение токенов стиля. Global Style Token
- В отличие от Pitchstron, токен глобального стиля, как правило, хорошо работает только для стилей, которые можно увидеть на этапе тренировок.
- Диапазон высоты тона не может быть масштабирован, в результате которого звучат шумный звук, если справочный звук не выходит из голосового диапазона целевого динамика.
- Поскольку он не является устойчивым к новому стилю невидимого во время тренировок, он иногда генерирует речь с слишком громкой энергией или слишком длинной паузой.
Шаги предварительной обработки для работы для многопрофильных корейских TTS
python preprocess.py --dataset={following keywords}
Запустите их в следующем порядке. Вы можете отказаться от некоторых деталей в зависимости от ваших потребностей.
- selvas_multispeaker_pron
- public_korean_pron
- Integrate_dataset
- check_file_integrity
- GENERATE_MEL_F0
1. selvas_multispeaker_pron
- RAW PCM в WAV_22050 под каждым динамиком
- src: '{data_root}/{speaker}/raw/*. pcm'
- DST: '{data_root}/{speaker}/wav_22050/*. wav'
- Обрезка с 25 топ -дБ
- Разделение данных: на каждые 400 аудио, сделайте его оценкой и то же самое для теста
- Поезд: 33194 WAVS
- Eval: 83 Wavs
- Тест: 84 волны
- Сгенерировать мета -файл с помощью скрипта, который находится в phoneme *filelists/single_language_selvas/train_file_list_pron.txt
2. public_korean_pron
- где скачать: 서울말 낭독체 발화 말뭉치
- регуляризовать скорость отбора проб до 22050 Гц (этот DB имеет нерегулярное SR)
- Обрезка с топ -25 дБ
- источник:
- wav_16000/{speaker}/*. wav
- PRON/{Speaker}/T **. TXT
- Исключено из сценария:
- Сценарий для разобщенности и перемещения WAVS в WAV_16000 не включен. Вам нужно сделать это в этой форме
- Текстовый файл для всех динамиков одинаково в этом БД, поэтому я разделил этот общий сценарий по литературе вручную. (Он включает в себя отсутствующие ошибки в новой линии, поэтому я должен был сделать его вручную)
- Кроме того, сценарий для G2P также не включен
- Дополнительные ошибки в этом БД
1. Missing speaker: fy15, mw12
2. Wrong data format: mw13_t01_s11.wav, mw13_t01_s12.wav, mw02_t10_s08.wav
3. Overlapping files and naming mistakes: mv11_t07_s4' (==mv11_t07_s40), fy17_t15_s18(==fy17_t16_s01), fv18_t07_s63(==fv18_t07_s62)
- DST: wav_22050/{speaker}/*. wav
3. Integrate_dataset
- Я интегрирую выше двух корейских DBS.
- Это может быть обобщено на многоязычные TTS, где существует несколько DB разных языков.
- Таким образом, языковой код Corproding для каждого БД добавляется к интегрированному мета -текстовому файлу, созданному на этом шаге.
- Как
- Измените списки исходных файлов ('train_file_lists', 'eval_file_lists', 'test_file_lists') и списки целевых файлов (target_train_file_list, target_eval_file_list, target_test_file_list) из preprocess.preprocess.integrate_dataSet (args)
- Возможно, вы захотите изменить метод _integrate () для обозначения языкового кода для каждого БД. Извините, что сейчас жестко.
- Запустить preprocess.py
python preprocess.py --dataset=integrate_dataset
4. check_file_integrity
- Этот шаг генерирует мета -файл с путями WAV, которые не смогли прочитать.
- Вы можете удалить их из своих последних файлов или пройти расследование. Это на тебе. Этот шаг не удаляет эти обнаруженные файлы из файлов.
- OUT: Проблемация_merge_korean_pron _ {}. TXT
5. Generate_mel_f0 (необязательно)
- Этот шаг необязательно. Этот шаг извлекает функции для обучения и сохранения в качестве файлов.
- SRC: WAV_22050/*. WAV
- DST: mel/*. Pt и f0/*. Pt
6. Инициализируйте первые несколько эпох с одним динамиком DB
- Подготовьте отдельный поезд, действительные файлы для одного динамика
- Файлы для обучения и валидации отдельных динамиков также включены в Multipeaker Filelists.
- Я экспериментировал с обучением начальных 30 эпохах с одним динамиком DB, и это помогло многое изучить выравнивание Encoder-Decoder.
Как тренироваться?
1. Команды
python train.py {program arguments}
2. Программные аргументы
| Вариант | Обязательный | Цель |
|---|
| -О | О | Путь каталога для сохранения контрольных точек. |
| -c | Х | Путь предварительной контрольной точки для загрузки. |
| -Л | О | Справочник журнала, чтобы сбросить журналы для Tensorboard. |
3. Предварительные модели
*Предварительные модели обучаются на фонеме. Они ожидают, что фонем введет вклад, когда вы даете тексты синтезировать.
| Модель | Предварительно проведенный контрольно -пропускной пункт | Сопоставление гиперпараметров |
|---|
| Мягкий витстрон | Мягкий витстрон | конфигурации |
| Жесткий витстрон | Жесткий витстрон | конфигурации |
| Global Style Token | Гф | конфигурации |
| Волновой вокадер | Волновой хлопот | - |
Как синтезировать?
1. Мягкий витстрон
python inferent_soft_pitchtron.py
2. жесткий витстрон
python inference_hard_pitchtron.py
3. GST
python inference_gst_tts.py
Советы!
- Чтобы предотвратить взломать звук, эталонный звук вокальный диапазон должен быть масштабирован до целевого диапазона вокала.
- Эта часть реализована в нашем коде, но целевой диапазон голосового оратора рассчитывается грубо путем выборки всего 10 аудио и принятия максимальной мины в качестве дисперсии.
- Вы получите гораздо лучший звук, если вы используете более точную статистику для целевого громкоговорота.
Благодарности
- Этот материал основан на работе, поддерживаемой Министерством торговли, промышленности и энергетики (Motie, Korea) в рамках Программы инноваций в промышленных технологиях (№ 10080667, Разработка технологии разговорного синтеза речи для выражения эмоций и личности роботов посредством диверсификации источника звука).
- У меня есть помощь в отношении Grapheme to Phoneme Coversion от этого удивительного парня => jeongpil_lee
- Этот репозиторий является автором реализации следующего Paper => (pitchstron) https://arxiv.org/abs/2005.10456
- Ссылки на репозитории
| Вклад | URL |
|---|
| Такотрон2 | https://github.com/nvidia/tacotron2 |
| Меллотрон | https://github.com/nvidia/mellotron |
| Волновой хлопот | https://github.com/nvidia/waveglow |
| Корейская текстовая обработка | https://github.com/keithito/tacotron |