การสร้าง speech embedding
ถึงเวลาเข้ารหัสอาร์เรย์เสียงให้เป็น speaker embedding แล้ว! Speaker embedding บรรจุข้อมูลที่ใช้ปรับแต่งเสียงที่สร้างขึ้นให้เหมาะกับผู้พูดแต่ละคน และเป็นองค์ประกอบสำคัญในการสร้างเสียงที่ผ่านการ fine-tune
โมเดล spkrec-xvect-voxceleb ที่ผ่านการ pretrain แล้ว (speaker_model) และชุดข้อมูล VCTK (dataset) ถูกโหลดมาให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
โมเดล Multi-Modal ด้วย Hugging Face
คำแนะนำการฝึกหัด
- เติมนิยามฟังก์ชัน
create_speaker_embedding()ให้สมบูรณ์โดยคำนวณ embedding ดิบจากwaveformโดยใช้speaker_model - ดึงอาร์เรย์เสียงจากจุดข้อมูลที่ index
10ของdataset - คำนวณ speaker embedding จากอาร์เรย์เสียงโดยใช้ฟังก์ชัน
create_speaker_embedding()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def create_speaker_embedding(waveform):
with torch.no_grad():
# Calculate the raw embedding from the speaker_model
speaker_embeddings = ____.____(torch.tensor(____))
speaker_embeddings = torch.nn.functional.normalize(speaker_embeddings, dim=2)
speaker_embeddings = speaker_embeddings.squeeze().cpu().numpy()
return speaker_embeddings
# Extract the audio array from the dataset
audio_array = dataset[10]["____"]["____"]
# Calculate the speaker_embedding from the datapoint
speaker_embedding = ____(____)
print(speaker_embedding.shape)