Black technology based on the three giants of artificial intelligence:
OpenAI's whisper, 680,000 hours in multiple languages
Nvidia's bigvgan, anti-aliasing for speech generation
Microsoft's adapter, high-efficiency for fine-tuning
Лора не полностью реализована в этом проекте , но ее можно найти здесь: Lora TTS & Paper
Используйте модель предварительной обработки для Fine Tune
Необходимая предварительная обработка:
Затем поместите набор данных в каталог data_raw в соответствии со следующей структурой файла
data_raw
├───speaker0
│ ├───000001.wav
│ ├───...
│ └───000xxx.wav
└───speaker1
├───000001.wav
├───...
└───000xxx.wav1 программная зависимость
PIP установка -R TEDS.TXT
2 Загрузите Timbre Encoder: Speaker-Encoder от @mueller91, положить best_model.pth.tar в speaker_pretrain/
3 Скачать модель Whisper Menture Medium Medium, обязательно загрузите medium.pt , поместите ее в whisper_pretrain/
Совет: шепот встроен, не установите его дополнительно, он конфликтует и сообщит об ошибке
4 Загрузите модель предварительной обработки MAXGAN_PRETRAIN_32K.PTH и выполнить тест
Python svc_inference.py -config configs/maxgan.yaml -model maxgan_pretrain_32k.pth -spk ./configs/singers/singer0001.npy -Wave test.wav
Используйте эту команду, если вы хотите автоматизировать это:
Python3 подготовить/easyprocess.py
или шаг за шагом, следующим образом:
1 , повторная списания
генерировать звук с скоростью отбора проб 16000 Гц
Python Prepare/preprocess_a.py -w ./data_raw -o ./data_svc/waves-16k -s 16000
генерировать аудио с скоростью отбора проб 32000 Гц
Python Prepare/preprocess_a.py -w ./data_raw -o ./data_svc/waves-32k -s 32000
2 , Используйте 16K Audio для извлечения шага
Python Prepare/preprocess_f0.py -w data_svc/waves -16k/-p data_svc/pitch
3 , Используйте 16K Audio для извлечения PPG
Python Prepare/preprocess_ppg.py -w data_svc/waves -16k/-p data_svc/Whisper
4 , Используйте 16K Audio для извлечения кода Timbre
Python Prepare/preprocess_speaker.py data_svc/waves-16k/data_svc/динамик
5 , Извлеките код певца для вывода
Python Prepare/preprocess_speaker_ave.py data_svc/speaker/data_svc/singer
6 , Используйте 32K Audio для генерации индекса обучения
Python Prepare/preprocess_train.py
7 , Отладка обучения отладки файлов
Python Prepare/preprocess_zzz.py -c configs/maxgan.yaml
data_svc/
└── waves-16k
│ └── speaker0
│ │ ├── 000001.wav
│ │ └── 000xxx.wav
│ └── speaker1
│ ├── 000001.wav
│ └── 000xxx.wav
└── waves-32k
│ └── speaker0
│ │ ├── 000001.wav
│ │ └── 000xxx.wav
│ └── speaker1
│ ├── 000001.wav
│ └── 000xxx.wav
└── pitch
│ └── speaker0
│ │ ├── 000001.pit.npy
│ │ └── 000xxx.pit.npy
│ └── speaker1
│ ├── 000001.pit.npy
│ └── 000xxx.pit.npy
└── whisper
│ └── speaker0
│ │ ├── 000001.ppg.npy
│ │ └── 000xxx.ppg.npy
│ └── speaker1
│ ├── 000001.ppg.npy
│ └── 000xxx.ppg.npy
└── speaker
│ └── speaker0
│ │ ├── 000001.spk.npy
│ │ └── 000xxx.spk.npy
│ └── speaker1
│ ├── 000001.spk.npy
│ └── 000xxx.spk.npy
└── singer
├── speaker0.spk.npy
└── speaker1.spk.npy0 , Если тонкая настройка на основе предварительно обученной модели, вам необходимо загрузить предварительно обученную модель: maxgan_pretrain_32k.pth
Установите предварительное значение: «./maxgan_pretrain_32k.pth» в configs/maxgan.yaml , и соответствующим образом отрегулируйте скорость обучения, например, 1e-5
1 , Начните обучение
Python svc_trainer.py -c configs/maxgan.yaml -n svc
2 , возобновление обучения
Python svc_trainer.py -c configs/maxgan.yaml -n svc -p chkpt/svc/***. pth
3 , Просмотр журнала
Tensorboard -logdir logs/

Используйте эту команду, если вы хотите графический интерфейс, который выполняет все команды ниже:
python3 svc_gui.py
или шаг за шагом, следующим образом:
1 , модель вывода экспорта
Python svc_export.py -config configs/maxgan.yaml -checkpoint_path chkpt/svc/***. Pt
2 , Используйте Whisper, чтобы извлечь кодирование контента, без использования рассуждений в одном клике, чтобы уменьшить использование памяти графических процессоров
Python Whisper/propect.py -w test.wav -p test.ppg.npy
3 , Извлеките параметр F0 в формат текста CSV
python pitch/propect.py -w test.wav -p test.csv
4 , Укажите параметры и выводите
python svc_inference.py -config configs/maxgan.yaml -model maxgan_g.pth -spk ./data_svc/singers/your_singer.npy -wave test.wav -pppg test.ppg.npy --pit.
Когда -PPPG указан, когда один и тот же звук рассуждается несколько раз, он может избежать повторного извлечения кодов аудиоконтента; Если это не указано, он будет автоматически извлечен;
Когда указан -Pit, параметр F0, настроенный вручную, может быть загружен; Если не указано, он будет автоматически извлечен;
Сгенерировать файлы в текущем каталоге: svc_out.wav
| Аргс | -Конфиг | --модель | -Spk | --волна | -pppg | --яма | --сдвиг |
|---|---|---|---|---|---|---|---|
| имя | Путь конфигурации | модельный путь | спикер | волновой вход | волна PPG | волновой шаг | Сдвиг шага |
5, пост Вад
Python svc_inference_post.py -ref test.wav -svc svc_out.wav -out svc_post.wav
Адаптерная расширение модели с несколькими динамиками для новых динамиков для новых динамиков
Adaspeech: адаптивный текст к речи для пользовательского голоса
https://github.com/nii-yamagishilab/project-nn-pytorch-scripts/tree/master/project/01-nsf
https://github.com/mindslab-ai/univnet [Paper]
https://github.com/openai/whisper/ [бумага]
https://github.com/nvidia/bigvgan [Paper]