Vytváření řečových embeddingů
Čas zakódovat audio pole do speaker embeddingu! Speaker embeddingy obsahují informace o tom, jak přizpůsobit generované audio konkrétnímu mluvčímu, a jsou nezbytné pro generování fine-tunovaného audia.
Předtrénovaný model spkrec-xvect-voxceleb (speaker_model) a dataset VCTK (dataset) jsou již načtené.
Toto cvičení je součástí kurzu
Multi-Modal Models with Hugging Face
Pokyny k cvičení
- Doplň definici funkce
create_speaker_embedding()tak, aby počítala surový embedding zwaveformpomocíspeaker_model. - Extrahuj audio pole z datového bodu na indexu
10vdataset. - Vypočítej speaker embedding z audio pole pomocí funkce
create_speaker_embedding().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)