CommencerCommencer gratuitement

Créer des embeddings de voix

Il est temps d’encoder un tableau audio en un embedding de locuteur ! Les embeddings de locuteur contiennent des informations permettant de personnaliser l’audio généré pour une personne donnée, et sont indispensables pour produire de l’audio affiné.

Le modèle pré-entraîné spkrec-xvect-voxceleb (speaker_model) et le jeu de données VCTK (dataset) ont été chargés pour vous.

Cet exercice fait partie du cours

Modèles multimodaux avec Hugging Face

Afficher le cours

Instructions

  • Complétez la définition de la fonction create_speaker_embedding() en calculant l’embedding brut à partir du waveform avec speaker_model.
  • Extrayez le tableau audio du point de données à l’index 10 de dataset.
  • Calculez un embedding de locuteur à partir du tableau audio en utilisant la fonction create_speaker_embedding().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code