IniziaInizia gratis

Creare speech embedding

È il momento di codificare un array audio in uno speaker embedding! Gli speaker embedding contengono informazioni su come personalizzare l'audio generato per una voce specifica e sono fondamentali per generare audio perfezionato.

Il modello preaddestrato spkrec-xvect-voxceleb (speaker_model) e il dataset VCTK (dataset) sono già stati caricati per te.

Questo esercizio fa parte del corso

Modelli multi-modali con Hugging Face

Visualizza il corso

Istruzioni dell'esercizio

  • Completa la definizione della funzione create_speaker_embedding() calcolando l'embedding grezzo a partire dal waveform usando speaker_model.
  • Estrai l'array audio dall'elemento in posizione 10 del dataset.
  • Calcola uno speaker embedding dall'array audio usando la funzione create_speaker_embedding().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice