ComeçarComece de graça

Criando incorporações de fala

Hora de codificar uma matriz de áudio em uma incorporação de alto-falante! As incorporações de locutores têm informações sobre como personalizar o áudio gerado para um locutor específico e são essenciais para criar um áudio bem ajustado.

O modelo pré-treinado spkrec-xvect-voxceleb (speaker_model) e o conjunto de dados VCTK (dataset) já estão carregados pra você.

Este exercício faz parte do curso

Modelos multimodais com Hugging Face

Ver curso

Instruções do exercício

  • Complete a definição da função “ create_speaker_embedding() ” calculando a incorporação bruta a partir de “ waveform ” usando “ speaker_model ”.
  • Pega o array de áudio do ponto de dados no índice 10 do arquivo dataset.
  • Calcule uma incorporação de alto-falante a partir da matriz de áudio usando a função “ create_speaker_embedding() ”.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código