อังกฤษ | 中文
การใช้งานโอเพ่นซอร์สของโมเดล VALL-E X Zero-shot TTS ของ Microsoft
เราเผยแพร่โมเดลที่ผ่านการฝึกอบรมของเราสู่สาธารณะเพื่อการวิจัยหรือการใช้งานแอปพลิเคชัน
VALL-E X คือโมเดลการอ่านออกเสียงข้อความ (TTS) หลายภาษาที่น่าทึ่งที่เสนอโดย Microsoft แม้ว่า Microsoft จะเผยแพร่ในรายงานการวิจัยของตนในตอนแรก แต่พวกเขาไม่ได้เผยแพร่โค้ดหรือโมเดลที่ได้รับการฝึกอบรมใดๆ ด้วยตระหนักถึงศักยภาพและคุณค่าของเทคโนโลยีนี้ ทีมงานของเราจึงเผชิญกับความท้าทายในการสร้างผลลัพธ์และฝึกฝนโมเดลของเราเอง เรายินดีที่จะแบ่งปันโมเดล VALL-E X ที่ได้รับการฝึกอบรมของเรากับชุมชน เพื่อให้ทุกคนได้สัมผัสกับขุมพลัง TTS รุ่นต่อไป!
รายละเอียดเพิ่มเติมเกี่ยวกับโมเดลจะแสดงอยู่ในการ์ดโมเดล
2023.09.10
2023.08.30
2023.08.23
2023.08.20
2023.08.14
git clone https://github.com/Plachtaa/VALL-E-X.git
cd VALL-E-X
pip install -r requirements.txt
หมายเหตุ: หากคุณต้องการแจ้งให้ทราบ คุณต้องติดตั้ง ffmpeg และเพิ่มโฟลเดอร์ลงในตัวแปรสภาพแวดล้อม PATH
เมื่อคุณรันโปรแกรมเป็นครั้งแรก โปรแกรมจะดาวน์โหลดโมเดลที่เกี่ยวข้องโดยอัตโนมัติ
หากการดาวน์โหลดล้มเหลวและรายงานข้อผิดพลาด โปรดทำตามขั้นตอนด้านล่างเพื่อดาวน์โหลดโมเดลด้วยตนเอง
(โปรดใส่ใจกับการใช้ตัวพิมพ์ใหญ่ของโฟลเดอร์)
ตรวจสอบว่ามีโฟลเดอร์ checkpoints
ในไดเร็กทอรีการติดตั้งหรือไม่ ถ้าไม่เช่นนั้น ให้สร้างโฟลเดอร์ checkpoints
( ./checkpoints/
) ด้วยตนเองในไดเร็กทอรีการติดตั้ง
ตรวจสอบว่ามีไฟล์ vallex-checkpoint.pt
ในโฟลเดอร์ checkpoints
หรือไม่ ถ้าไม่ โปรดดาวน์โหลดไฟล์ vallex-checkpoint.pt
ด้วยตนเองจากที่นี่ และวางไว้ในโฟลเดอร์ checkpoints
ตรวจสอบว่ามีโฟลเดอร์ whisper
ในไดเร็กทอรีการติดตั้งหรือไม่ ถ้าไม่เช่นนั้น ให้สร้างโฟลเดอร์ whisper
( ./whisper/
) ด้วยตนเองในไดเร็กทอรีการติดตั้ง
ตรวจสอบว่ามีไฟล์ medium.pt
ในโฟลเดอร์ whisper
หรือไม่ ถ้าไม่เช่นนั้น โปรดดาวน์โหลดไฟล์ medium.pt
ด้วยตนเองจากที่นี่ และใส่ไว้ในโฟลเดอร์ whisper
ยังไม่พร้อมที่จะตั้งค่าสภาพแวดล้อมบนเครื่องของคุณหรือยัง ไม่มีปัญหา! เราพร้อมช่วยคุณด้วยการสาธิตออนไลน์ของเรา คุณสามารถทดลองใช้ VALL-E X ได้โดยตรงบน Hugging Face หรือ Google Colab สัมผัสประสบการณ์ความสามารถของโมเดลได้อย่างไร้ความยุ่งยาก!
VALL-E X มาพร้อมกับฟังก์ชันการทำงานที่ล้ำสมัย:
TTS หลายภาษา : พูดในสามภาษา - อังกฤษ จีน และญี่ปุ่น - พร้อมการสังเคราะห์คำพูดที่เป็นธรรมชาติและแสดงออก
การโคลนเสียงแบบ Zero-shot : ลงทะเบียนการบันทึกสั้นๆ 3~10 วินาทีของผู้พูดที่มองไม่เห็น และดู VALL-E X สร้างคำพูดคุณภาพสูงที่เป็นส่วนตัวซึ่งฟังดูคล้ายกับพวกเขา!
สำรวจหน้าสาธิตของเราเพื่อดูตัวอย่างเพิ่มเติมมากมาย!
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
from IPython . display import Audio
# download and load all models
preload_models ()
# generate audio from text
text_prompt = """
Hello, my name is Nose. And uh, and I like hamburger. Hahaha... But I also have other interests such as playing tactic toast.
"""
audio_array = generate_audio ( text_prompt )
# save audio to disk
write_wav ( "vallex_generation.wav" , SAMPLE_RATE , audio_array )
# play text in notebook
Audio ( audio_array , rate = SAMPLE_RATE )
text_prompt = """
チュソクは私のお気に入りの祭りです。 私は数日間休んで、友人や家族との時間を過ごすことができます。
"""
audio_array = generate_audio ( text_prompt )
หมายเหตุ: VALL-E X ควบคุมสำเนียงได้อย่างสมบูรณ์แบบ แม้ว่าจะสังเคราะห์ข้อความสลับรหัสก็ตาม อย่างไรก็ตาม คุณต้องแสดงภาษาของประโยคที่เกี่ยวข้องด้วยตนเอง (เนื่องจากเครื่องมือ g2p ของเราเป็นแบบกฎฐาน)
text_prompt = """
[EN]The Thirty Years' War was a devastating conflict that had a profound impact on Europe.[EN]
[ZH]这是历史的开始。 如果您想听更多,请继续。[ZH]
"""
audio_array = generate_audio ( text_prompt , language = 'mix' )
VALL-E X มีเสียงของผู้พูดหลายสิบเสียง ซึ่งคุณสามารถใช้เพื่อการอนุมานได้โดยตรง! เรียกดูเสียงทั้งหมดในรหัส
VALL-E X พยายามจับคู่โทนเสียง ระดับเสียง อารมณ์ และเสียงฉันทลักษณ์ของพรีเซ็ตที่กำหนด โมเดลยังพยายามรักษาเสียงเพลง เสียงรอบข้าง ฯลฯ
text_prompt = """
I am an innocent boy with a smoky voice. It is a great honor for me to speak at the United Nations today.
"""
audio_array = generate_audio ( text_prompt , prompt = "dingzhen" )
VALL-E X รองรับการโคลนเสียง! คุณสามารถสั่งงานด้วยเสียงกับบุคคล ตัวละคร หรือแม้แต่เสียงของคุณเอง และใช้เหมือนกับเสียงที่ตั้งไว้ล่วงหน้าอื่นๆ
หากต้องการสั่งงานด้วยเสียง คุณจะต้องพูดให้มีความยาว 3~10 วินาที รวมถึงสำเนาคำพูดด้วย คุณยังสามารถปล่อยทรานสคริปต์ว่างไว้เพื่อให้โมเดล Whisper สร้างทรานสคริปต์ได้
VALL-E X พยายามจับคู่น้ำเสียง ระดับเสียง อารมณ์ และฉันทลักษณ์ของการแจ้งเตือนที่กำหนด ตัวแบบยังพยายามรักษาเสียงเพลง เสียงรอบข้าง ฯลฯ
from utils . prompt_making import make_prompt
### Use given transcript
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" ,
transcript = "Just, what was that? Paimon thought we were gonna get eaten." )
### Alternatively, use whisper
make_prompt ( name = "paimon" , audio_prompt_path = "paimon_prompt.wav" )
ตอนนี้เรามาลองใช้พร้อมท์ที่เราเพิ่งทำไป!
from utils . generation import SAMPLE_RATE , generate_audio , preload_models
from scipy . io . wavfile import write as write_wav
# download and load all models
preload_models ()
text_prompt = """
Hey, Traveler, Listen to this, This machine has taken my voice, and now it can talk just like me!
"""
audio_array = generate_audio ( text_prompt , prompt = "paimon" )
write_wav ( "paimon_cloned.wav" , SAMPLE_RATE , audio_array )
ไม่พอใจกับรหัส? ไม่มีปัญหา! นอกจากนี้เรายังได้สร้างอินเทอร์เฟซแบบกราฟิกที่เป็นมิตรต่อผู้ใช้สำหรับ VALL-E X ซึ่งช่วยให้คุณโต้ตอบกับโมเดลได้อย่างง่ายดาย ทำให้การโคลนเสียงและการสังเคราะห์คำพูดหลายภาษาเป็นเรื่องง่าย
คุณสามารถเปิด UI ได้ด้วยคำสั่งต่อไปนี้:
python -X utf8 launch-ui.py
VALL-E X ทำงานได้ดีบนทั้ง CPU และ GPU ( pytorch 2.0+
, CUDA 11.7 และ CUDA 12.0)
GPU VRAM ขนาด 6GB เพียงพอสำหรับการรัน VALL-E X โดยไม่ต้องออฟโหลด
VALL-E X คล้ายกับ Bark, VALL-E และ AudioLM ซึ่งสร้างเสียงในรูปแบบ GPT โดยการทำนายโทเค็นเสียงที่คำนวณปริมาณด้วย EnCodec
เปรียบเทียบกับเปลือกไม้:
ภาษา | สถานะ |
---|---|
อังกฤษ (อังกฤษ) | |
ญี่ปุ่น (ญะ) | |
จีนตัวย่อ (zh) |
wget
เพื่อดาวน์โหลดโมเดลไปยังไดเร็กทอรี ./checkpoints/
เมื่อคุณรันโปรแกรมเป็นครั้งแรก./checkpoints/
/ .bat
สำหรับผู้ใช้ที่ไม่ใช่หลาม หากคุณพบว่า VALL-E X น่าสนใจและมีประโยชน์ ให้คะแนนเราบน GitHub ได้เลย! ️ สนับสนุนให้เราปรับปรุงโมเดลต่อไปและเพิ่มคุณสมบัติที่น่าตื่นเต้น
VALL-E X ได้รับอนุญาตภายใต้ใบอนุญาต MIT
มีคำถามหรือต้องการความช่วยเหลือ? อย่าลังเลที่จะเปิดประเด็นหรือเข้าร่วม Discord ของเรา
การโคลนเสียงที่มีความสุข! -