การใช้งาน Pytorch ของ Generspeech (Neurips'22): โมเดลข้อความถึงการพูดไปสู่การถ่ายโอนสไตล์การถ่ายโอนแบบศูนย์ความเที่ยงตรงสูงของเสียงที่กำหนดเองของ OOD
เราจัดทำแบบจำลองการใช้งานและแบบจำลองในที่เก็บนี้
เยี่ยมชมหน้าตัวอย่างของเราสำหรับตัวอย่างเสียง
เราให้ตัวอย่างของวิธีที่คุณสามารถสร้างตัวอย่างความเที่ยงตรงสูงโดยใช้ Generspeech
หากต้องการลองใช้ชุดข้อมูลของคุณเองเพียงแค่โคลน repo นี้ในเครื่องท้องถิ่นของคุณที่ให้มาพร้อมกับ Nvidia GPU + Cuda Cudnn และทำตามคำแนะนำด้านล่าง
คุณสามารถใช้โมเดลที่ผ่านการฝึกอบรมที่เราให้ไว้ที่นี่และข้อมูลที่นี่ รายละเอียดของแต่ละโฟลเดอร์มีดังนี้:
| แบบอย่าง | ชุดข้อมูล (16 kHz) | การถอดความ |
|---|---|---|
| เครื่องประดับ | Libritts, ESD | โมเดลอะคูสติก (config) |
| hifi-gan | Libritts, ESD | ผู้ร้องประสาท |
| เครื่องเข้ารหัส | - | เครื่องเข้ารหัสอารมณ์ |
ชุดข้อมูลที่รองรับเพิ่มเติมกำลังจะมาเร็ว ๆ นี้
สภาพแวดล้อม conda ที่เหมาะสมชื่อ generspeech สามารถสร้างและเปิดใช้งานได้ด้วย:
conda env create -f environment.yaml
conda activate generspeech
โดยค่าเริ่มต้นการใช้งานนี้ใช้ GPU มากในแบบคู่ขนานตามที่ส่งคืนโดย torch.cuda.device_count() คุณสามารถระบุ GPU ที่จะใช้โดยการตั้งค่าตัวแปรสภาพแวดล้อม CUDA_DEVICES_AVAILABLE ก่อนที่จะเรียกใช้โมดูลการฝึกอบรม
ที่นี่เราให้บริการไปป์ไลน์การสังเคราะห์คำพูดโดยใช้ Generspeech
checkpoints/GenerSpeechcheckpoints/trainset_hifigancheckpoints/Emotion_encoder.ptdata/binary/training_setCUDA_VISIBLE_DEVICES= $GPU python inference/GenerSpeech.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --hparams= " text='here we go',ref_audio='assets/0011_001570.wav' " ไฟล์ WAV ที่สร้างขึ้นจะถูกบันทึกไว้ใน infer_out โดยค่าเริ่มต้น
raw_data_dir , processed_data_dir , binary_data_dir ในไฟล์กำหนดค่าและดาวน์โหลดชุดข้อมูลไปยัง raw_data_dirpreprocess_cls ในไฟล์กำหนดค่า โครงสร้างชุดข้อมูลจำเป็นต้องทำตามโปรเซสเซอร์ preprocess_cls หรือคุณสามารถเขียนใหม่ตามชุดข้อมูลของคุณ เราจัดเตรียมโปรเซสเซอร์ Libritts เป็นตัวอย่างใน modules/GenerSpeech/config/generspeech.yamlemotion_encoder_path สำหรับรายละเอียดเพิ่มเติมโปรดดูสาขานี้ # Preprocess step: unify the file structure.
python data_gen/tts/bin/preprocess.py --config $path /to/config
# Align step: MFA alignment.
python data_gen/tts/bin/train_mfa_align.py --config $path /to/config
# Binarization step: Binarize data for fast IO.
CUDA_VISIBLE_DEVICES= $GPU python data_gen/tts/bin/binarize.py --config $path /to/configคุณยังสามารถสร้างชุดข้อมูลผ่าน NatSpeech ซึ่งแบ่งปันขั้นตอนการประมวลผลข้อมูล MFA ทั่วไป นอกจากนี้เรายังให้ชุดข้อมูลที่ประมวลผลของเรา (16KHz Libritts+ESD)
CUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --resetCUDA_VISIBLE_DEVICES= $GPU python tasks/run.py --config modules/GenerSpeech/config/generspeech.yaml --exp_name GenerSpeech --inferการใช้งานนี้ใช้ส่วนหนึ่งของรหัสจาก GitHub repos ต่อไปนี้: FastDiff, NatSpeech ตามที่อธิบายไว้ในรหัสของเรา
หากคุณพบว่ารหัสนี้มีประโยชน์ในการวิจัยของคุณโปรดอ้างอิงงานของเรา:
@inproceedings { huanggenerspeech ,
title = { GenerSpeech: Towards Style Transfer for Generalizable Out-Of-Domain Text-to-Speech } ,
author = { Huang, Rongjie and Ren, Yi and Liu, Jinglin and Cui, Chenye and Zhao, Zhou } ,
booktitle = { Advances in Neural Information Processing Systems }
}องค์กรหรือบุคคลใด ๆ ถูกห้ามไม่ให้ใช้เทคโนโลยีใด ๆ ที่กล่าวถึงในบทความนี้เพื่อสร้างคำพูดของใครบางคนโดยไม่ได้รับความยินยอมจากเขา/เธอรวมถึง แต่ไม่ จำกัด เฉพาะผู้นำรัฐบาลตัวเลขทางการเมืองและคนดัง หากคุณไม่ปฏิบัติตามรายการนี้คุณอาจละเมิดกฎหมายลิขสิทธิ์