พื้นที่เก็บข้อมูลนี้มีแบบจำลอง FastSpeech2 สำหรับ 8 ภาษาอินเดีย (ชายและหญิงทั้งสอง) ดำเนินการโดยใช้ Montreal Forced Aligner (MFA) สำหรับการสังเคราะห์คำพูด แบบจำลองมีความสามารถในการสร้าง mel-spectrograms จากอินพุตข้อความและสามารถใช้ในการสังเคราะห์คำพูด
repo มีขนาดใหญ่: เราใช้ Git LFs เนื่องจากข้อ จำกัด ขนาดของ GitHub (โปรดติดตั้ง GIT LFS ล่าสุดจากลิงค์เราได้จัดเตรียมสิ่งที่อยู่ด้านล่างปัจจุบัน)
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.python.sh | bash
sudo apt-get install git-lfs
git lfs install
ไฟล์โมเดลภาษาถูกอัปโหลดโดยใช้ GIT LFS ดังนั้นโปรดใช้:
git lfs fetch --all
git lfs pull
เพื่อรับไฟล์ต้นฉบับในไดเรกทอรีของคุณ
โมเดลสำหรับแต่ละภาษามีไฟล์ต่อไปนี้:
config.yaml : ไฟล์การกำหนดค่าสำหรับรุ่น FastSpeech2energy_stats.npz : สถิติพลังงานสำหรับการทำให้เป็นมาตรฐานในระหว่างการสังเคราะห์feats_stats.npz : คุณสมบัติสถิติสำหรับการทำให้เป็นมาตรฐานในระหว่างการสังเคราะห์feats_type : ข้อมูลประเภทคุณสมบัติpitch_stats.npz : สถิติพิทช์สำหรับการทำให้เป็นมาตรฐานในระหว่างการสังเคราะห์model.pth : น้ำหนักรุ่น Fastspeech2 ที่ผ่านการฝึกอบรมมาก่อน environment.yml ที่ให้ไว้: conda env create -f environment.yml2. เปิดใช้งานสภาพแวดล้อม conda (ตรวจสอบสิ่งแวดล้อมภายในไฟล์ yaml):
conda activate tts-mfa-hifiganconda install pytorch torchvision cudatoolkit
pip install torchaudioสำหรับการสร้างไฟล์ WAV จาก mel-spectrograms คุณสามารถใช้ vocoder ที่คุณเลือก ตัวเลือกที่ได้รับความนิยมอย่างหนึ่งคือ Hifigan Vocoder (โคลน repo นี้และวางไว้ในไดเรกทอรีการทำงานปัจจุบัน) โปรดดูเอกสารของคำสั่งที่คุณเลือกสำหรับคำแนะนำในการติดตั้งและการใช้งาน
(เราได้ใช้ Hifigan Vocoder และได้ให้การปรับแต่งเสียงในภาษาอารยันและภาษา Dravidian)
เส้นทางไดเรกทอรีมีความสัมพันธ์ (ทำการเปลี่ยนแปลง text_preprocess_for_inference.py และ file.py ไฟล์อัปเด ต โฟลเดอร์/ไฟล์พา ธ ที่ต้องการ)
โปรดให้ภาษาเริ่มต้นด้วยจดหมายทุนและเพศในกรณีเล็ก ๆ และข้อความตัวอย่างระหว่างคำพูด อาร์กิวเมนต์เอาต์พุตเป็นทางเลือก ชื่อที่ให้ไว้จะใช้สำหรับไฟล์เอาต์พุต
ใช้ไฟล์การอนุมานเพื่อสังเคราะห์คำพูดจากอินพุตข้อความ:
python inference.py --sample_text " Your input text here " --language < language > --gender < gender > --output_file < file_name.wav OR path/to/file_name.wav >ตัวอย่าง:
python inference.py --sample_text "श्रीलंका और पाकिस्तान में खेला जा रहा एशिया कप अब तक का सबसे विवादित टूर्नामेंट होता जा रहा है।" --language hindi --gender male --output_file male_hindi_output.wav
ไฟล์จะถูกเก็บไว้เป็น male_hindi_output.wav และจะอยู่ในไดเรกทอรีการทำงานปัจจุบัน ถ้า -OUTPUT_FILE อาร์กิวเมนต์จะไม่ได้รับมันจะถูกเก็บไว้เป็น <language>_<gender>_output.wav ในไดเรกทอรีการทำงานปัจจุบัน
หากคุณใช้โมเดล FastSpeech2 นี้ในการวิจัยหรือที่ทำงานของคุณโปรดพิจารณาอ้าง:
“ ลิขสิทธิ์ 2023, Consortium Technology Technology, Bhashini, Meity และโดย Hema A Murthy & S Umesh, ภาควิชาวิทยาศาสตร์คอมพิวเตอร์และวิศวกรรมและวิศวกรรมไฟฟ้า, IIT Madras สงวนลิขสิทธิ์ "
โล่:
งานนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต Creative Commons Attribution 4.0 International