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
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
10do arquivodataset. - 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)