Crearea embedding-urilor vocale
Este momentul să codifici un array audio într-un embedding vocal! Embedding-urile vocale conțin informații despre cum să personalizezi audio-ul generat pentru un anumit vorbitor și sunt esențiale pentru generarea de audio ajustat fin.
Modelul preantrenat spkrec-xvect-voxceleb (speaker_model) și setul de date VCTK (dataset) au fost deja încărcate pentru tine.
Acest exercițiu face parte din cursul
Modele Multi-Modale cu Hugging Face
Instrucțiuni pentru exercițiu
- Completează definiția funcției
create_speaker_embedding()calculând embedding-ul brut dinwaveformfolosindspeaker_model. - Extrage array-ul audio din punctul de date de la indexul
10al setului de datedataset. - Calculează un embedding vocal din array-ul audio folosind funcția
create_speaker_embedding().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)