ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează definiția funcției create_speaker_embedding() calculând embedding-ul brut din waveform folosind speaker_model.
  • Extrage array-ul audio din punctul de date de la indexul 10 al setului de date dataset.
  • 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)
Editează și rulează codul