开始使用免费开始使用

创建语音嵌入向量

现在把音频数组编码成说话人嵌入向量吧!说话人嵌入向量包含如何将生成的音频个性化到特定说话人的信息,是生成微调音频的关键。

我们已经为您加载了预训练模型 spkrec-xvect-voxcelebspeaker_model)和 VCTK 数据集(dataset)。

本练习是课程的一部分

使用 Hugging Face 的多模态模型

查看课程

练习说明

  • 完成 create_speaker_embedding() 函数定义,使用 speaker_model 基于 waveform 计算原始嵌入。
  • dataset 的索引 10 处的数据点中提取音频数组。
  • 使用 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)
编辑并运行代码