Melgan
การใช้งาน Pytorch อย่างไม่เป็นทางการของ Melgan Vocoder
คุณสมบัติที่สำคัญ
- Melgan มีน้ำหนักเบาเร็วขึ้นและดีกว่าในการพูดคุยกับลำโพงที่มองไม่เห็นมากกว่า Waveglow
- ที่เก็บนี้ใช้ฟังก์ชั่น mel-spectrogram ที่เหมือนกันจาก NVIDIA/TACOTRON2 ดังนั้นสิ่งนี้สามารถใช้โดยตรงในการแปลงเอาต์พุตจาก TACOTRON2 ของ NVIDIA เป็น RAW-AUDIO
- แบบจำลองที่ผ่านการฝึกอบรมเกี่ยวกับ LJSpeech-1.1 ผ่าน Pytorch Hub

ข้อกำหนดเบื้องต้น
ทดสอบใน Python 3.6
pip install -r requirements.txt
เตรียมชุดข้อมูล
- ดาวน์โหลดชุดข้อมูลสำหรับการฝึกอบรม นี่อาจเป็นไฟล์ WAV ใด ๆ ที่มีอัตราตัวอย่าง 22050Hz (เช่น ljspeech ใช้ในกระดาษ)
- preprocess:
python preprocess.py -c config/default.yaml -d [data's root path] - แก้ไขการกำหนดค่าไฟล์
yaml
รถไฟและบอร์ด Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml จากนั้นแก้ไข config.yaml - เขียนเส้นทางรูทของไฟล์รถไฟ/การตรวจสอบเป็นบรรทัดที่ 2/3rd
- แต่ละเส้นทางควรมีคู่ของ
*.wav ที่มีไฟล์ที่สอดคล้องกัน (precessed) *.mel - ข้อมูลตัวโหลดดาต้าพาร์ทิเตอร์ของไฟล์ภายในเส้นทางซ้ำ
-
tensorboard --logdir logs/
แบบจำลอง
ลองใช้ Google Colab: todo
import torch
vocoder = torch . hub . load ( 'seungwonpark/melgan' , 'melgan' )
vocoder . eval ()
mel = torch . randn ( 1 , 80 , 234 ) # use your own mel-spectrogram here
if torch . cuda . is_available ():
vocoder = vocoder . cuda ()
mel = mel . cuda ()
with torch . no_grad ():
audio = vocoder . inference ( mel )การอนุมาน
-
python inference.py -p [checkpoint path] -i [input mel path]
ผลลัพธ์
ดูตัวอย่างเสียงได้ที่: http://swpark.me/melgan/ โมเดลได้รับการฝึกฝนที่ V100 GPU เป็นเวลา 14 วันโดยใช้ LJSpeech-1.1

ผู้เขียนการนำไปใช้งาน
ใบอนุญาต
ใบอนุญาต BSD 3 ข้อ
- utils/stft.py โดย Prem Seetharaman (ใบอนุญาต BSD 3-cluse)
- ชุดข้อมูล/mel2samp.py จาก https://github.com/nvidia/waveglow (ใบอนุญาต BSD 3-clause)
- utils/hparams.py จาก https://github.com/harryvolek/pytorch_speaker_verification (ไม่ได้ระบุใบอนุญาต)
ทรัพยากรที่มีประโยชน์
- วิธีฝึกกาน? เคล็ดลับและกลเม็ดในการทำให้ Gans ทำงานโดย Soumith Chintala
- การดำเนินการอย่างเป็นทางการของ Melgan โดยผู้เขียนดั้งเดิม
- การทำซ้ำของ Melgan - Neurips 2019 ความท้าทายการทำซ้ำ (แทร็กการระเหย) โดย Yifei Zhao, Yichao Yang และ Yang Gao
- "การเปลี่ยนเลเยอร์การรวมโดยเฉลี่ยด้วยเลเยอร์การรวมสูงสุดและการแทนที่ช่องว่างสะท้อนกลับด้วยการทำซ้ำช่วยปรับปรุงประสิทธิภาพอย่างมีนัยสำคัญในขณะที่การรวมกันจะให้ผลลัพธ์ที่แย่ลง"