Voice100 включает в себя нейронные модели TTS/ASR. Вывод голоса100 является низкой стоимостью, так как его модели крошечные и зависят только от CNN без рекурсии.
Модель TTS предназначена на две подмодели, выравнивайте модель и аудио -модель. Выравнивание текстовых выравниваний модели Align Model с учетом текста. Выровненный текст генерируется из текста и текстовых выравниваний. Аудио -модели прогнозирования мировых функций (F0, оболочка спектра, кодированная апериодичность) с учетом выровненного текста.
Выравнивание сеть
График тд
[Входной текст] -> | Привет | B (встраивание)
B -> C (1d перевернутый остаток x4)
C -> D (свертка)
D -> | H: 0,1 E: 0,2 L: 1,1 L: 1,1 O: 1,2 | E [выравнивание]
Аудио -сеть
График тд
[Выровненное текст] -> | _hee_l_l_oo | B (встраивание)
B -> C (1d перевернутый остаток x4)
C -> D (1D транспонированная свертка)
D -> E (1d перевернутый остаток x3)
E -> f (свертка)
F -> g [мировые параметры]
| Name | Type | Params
-----------------------------------------
0 | embedding | Embedding | 14.8 K
1 | layers | Sequential | 8.6 M
-----------------------------------------
8.6 M Trainable params
0 Non-trainable params
8.6 M Total params
17.137 Total estimated model params size (MB)
| Name | Type | Params
-------------------------------------------
0 | embedding | Embedding | 14.8 K
1 | decoder | VoiceDecoder | 11.0 M
2 | norm | WORLDNorm | 518
3 | criterion | WORLDLoss | 0
-------------------------------------------
11.1 M Trainable params
518 Non-trainable params
11.1 M Total params
22.120 Total estimated model params size (MB)
Ввод модели Align - это последовательность токенов входного текста. Входной текст является нижним регистом и токенизируется на символы и кодируется текстовым энкодером. Текстовый энкодер имеет 28 символов в словаре, который включает в себя нижние алфавиты, пространство и апострофию. Все персонажи, которые не найдены в словаре, удалены.
Вывод модели Align представляет собой последовательность пар времени, которые длина такая же, как и количество входных токенов. Пара имеет два значения, количество кадров перед токеном и количество кадров для токена. Один кадр составляет 20 мс. Выровненный текст генерируется из входного текста и паров времени. Длина выровненного текста - это количество общих кадров для аудио.
Ввод аудио-модели представляет собой кодированный выравниваемый текст, который кодируется так же, как и предварительная обработка модели Align, за исключением того, что он имеет один добавленный токен в словаре для расстояния между токенами для исходного текста.
Вывод аудио -модели представляет собой последовательность существований F0, F0, спектральной конверты логарифмического, кодированной апериодичности. Существование F0 - это логическое значение, которое верно, когда F0 доступен False, в противном случае. F0 вынужден в 0, когда существование F0 является ложным. Один кадр составляет 10 мс. Длина выхода в два раза больше длины входа.
Модель ASR представляет собой 9-слойный мобилентный инвертированный остаток, который обучен прогнозировать потерю CTC.
Сеть ASR
График тд
A [MEL Spectrogram] -> B (1d инвертированный остаток X 12)
B -> c (свертка)
C -> g [logits из выровненного текста]
| Name | Type | Params
----------------------------------------------------------------
0 | encoder | ConvVoiceEncoder | 11.6 M
1 | decoder | LinearCharDecoder | 14.9 K
2 | loss_fn | CTCLoss | 0
3 | batch_augment | BatchSpectrogramAugumentation | 0
----------------------------------------------------------------
11.6 M Trainable params
0 Non-trainable params
11.6 M Total params
23.243 Total estimated model params size (MB)
Модель Align представляет собой двухслойный двунаправленный LSTM, который обучен прогнозировать выравниваемые тексты из аудио-функций MFCC. Модель Align используется для подготовки выровненных текстов для набора данных для обучения моделей TTS.
| Name | Type | Params
----------------------------------------------------------------
0 | conv | Conv1d | 24.7 K
1 | lstm | LSTM | 659 K
2 | dense | Linear | 7.5 K
3 | loss_fn | CTCLoss | 0
4 | batch_augment | BatchSpectrogramAugumentation | 0
----------------------------------------------------------------
691 K Trainable params
0 Non-trainable params
691 K Total params
1.383 Total estimated model params size (MB)
voice100-prepare-dataset
--dataset ljspeech
--language en
--use_phone
voice100-prepare-dataset
--dataset librispeech
--language en
--use_phone
voice100 fit
--config config/asr_en_phone_base.yaml
--trainer.accelerator gpu
--trainer.devices 1
--trainer.precision 16
--trainer.default_root_dir ./outputs/asr_en_phone_base Это генерирует выравниваемый текст как data/${DATASET}-phone-align.txt .
voice100-align-text
--batch_size 4
--dataset ljspeech
--language en
--use_phone
--checkpoint asr_en_phone_small-20230309.ckptvoice100 fit --config voice100/config/align_en_phone_base.yaml
--trainer.accelerator gpu
--trainer.devices 1
--trainer.precision 16
--trainer.default_root_dir=./outputs/align_en_phone_base Это генерирует статистику как data/${DATASET}-stat.pt
voice100-calc-stat
--dataset ljspeech
--language en
--output data/audio-stat.pyvoice100 fit --config voice100/config/tts_en_phone_base.yaml
--trainer.accelerator gpu
--gpus 1
--precision 16
--trainer.default_root_dir=./outputs/tts_en_phone_basevoice100-export-onnx
--checkpoint model/ ${MODEL} /lightning_logs/version_0/checkpoints/last.ckptМодели CMU - это модель, которая использует выход G2P_EN в качестве текстового представления вместо необработанного текста.
Эти команды конвертируют тексты в наборе данных в ./data/[dataset]-phone-[split].txt . Затем запустите voice100-train-[model] с помощью --use-phone .
voice100-prepare-dataset
--dataset ljspeech
voice100-prepare-dataset
--dataset librispeech
--split train
voice100-prepare-dataset
--dataset librispeech
--split valМногозадачная модель CMU - это вариант звуковой модели TTS, которая вход является выровненным текстом, а выходы - это параметры World Vocoder и фонемы CMU. Чтобы обучить модель CMU многозадачной модели, нам нужны данные о выравнивании для английского языка и CMU Phonemes.
./data/ljspeech-align-train.txt./data/ljspeech-phone-align-train.txtЗатем беги
MODEL=ttsaudio_en_mt_conv_base
voice100-train-ttsaudio-mt
--gpus 1
--dataset ${DATASET}
--language ${LANGUAGE}
--batch_size 32
--precision 16
--max_epochs 150
--default_root_dir ./model/ ${MODEL} Используйте время выполнения Voice100 и экспортируют файлы ONNX.
| Имя | Модельный класс | Набор данных | Скачать |
|---|---|---|---|
| ASR_EN_SMALL-20230225 | Audiotoaligntext | Librispeech, LJ Речь 1.1 | скачать |
| ASR_EN_BASE-20230319 | Audiotoaligntext | Librispeech, LJ Речь 1.1 | скачать |
| asr_en_phone_small-20230309 | Audiotoaligntext | Librispeech, LJ Речь 1.1 | скачать |
| asr_en_phone_base-20230314 | Audiotoaligntext | Librispeech, LJ Речь 1.1 | скачать |
| asr_ja_phone_small-20230104 | Audiotoaligntext | Общий голос 12.0 JA | скачать |
| asr_ja_phone_base-20230104 | Audiotoaligntext | Общий голос 12.0 JA | скачать |
| align_en_base-20230401 | TextToalIntext | LJ Речь 1.1 | скачать |
| TTS_EN_BASE-20230407 | AligntextToAudio | LJ Речь 1.1 | скачать |
| align_en_phone_base-20230407 | TextToalIntext | LJ Речь 1.1 | скачать |
| tts_en_phone_base-20230401 | AligntextToAudio | LJ Речь 1.1 | скачать |
| align_ja_phone_base-20230203 | TextToalIntext | Кокоро речь v1.2 большая | скачать |
| tts_ja_phone_base-20230204 | AligntextToAudio | Кокоро речь v1.2 большая | скачать |
| ASR_EN_BASE-20210628 (устарело) | AudioAlignctc | LJ Речь 1.1 | скачать |
| align_en_lstm_base_ctc-20210628 (устарел) | AudioAlignctc | LJ Речь 1.1 | скачать |
| align_en_phone_lstm_base_ctc-20220103 (устарело) | AudioAlignctc | LJ Речь 1.1 | скачать |
| align_ja_lstm_base_ctc-202111116 (устарел) | AudioAlignctc | Кокоро речь v1.1 маленькая | скачать |
| align_ja_phone_lstm_base_ctc-20221230 (устарел) | AudioAlignctc | Кокоро речь v1.1 маленькая | скачать |
| ttsalign_en_conv_base-201220409 (устарел) | TextToalIntextModel | LJ Речь 1.1 | скачать |
| ttsalign_en_phone_conv_base-201220409 (устарел) | TextToalIntextModel | LJ Речь 1.1 | скачать |
| ttsalign_ja_conv_base-201220411 (устарел) | TextToalIntextModel | Кокоро речь v1.1 маленькая | скачать |
| ttsaudio_en_conv_base-201220107 (устарело) | AligntextToAudiomodel | Кокоро речь v1.1 маленькая | скачать |
| ttsaudio_en_phone_conv_base-201220105 (устарело) | AligntextToAudiomodel | LJ Речь 1.1 | скачать |
| ttsaudio_ja_conv_base-201220416 (устарело) | AligntextToAudiomodel | Кокоро речь v1.1 маленькая | скачать |
| TTSAUDIO_EN_MT_CONV_BASE-201220316 (устарел) | AligntextToAudiomultitaskModel | LJ Речь 1.1 | скачать |
| ASR_EN_CONV_BASE_CTC-20220126 (устарело) | Audiototextctc | Librispeech | скачать |
| asr_en_phone_conv_base_ctc-201220107 (устарело) | Audiototextctc | Librispeech | скачать |
| STT_JA_CONV_BASE_CTC-20211127 (устарело) | Audiototextctc | Общий голос 6.1 JA | скачать |
| asr_ja_phone_conv_base_ctc-20221225 (устарело) | Audiototextctc | Общий голос 6.1 JA | скачать |