ComenzarEmpieza gratis

Creación de incrustaciones de voz

¡Es hora de codificar un arreglo de audio en una incrustación de altavoz! Las incrustaciones de hablantes contienen información sobre cómo personalizar el audio generado para un hablante determinado y son esenciales para generar un audio ajustado con precisión.

Se han cargado el modelo preentrenado spkrec-xvect-voxceleb (speaker_model) y el conjunto de datos VCTK (dataset).

Este ejercicio forma parte del curso

Modelos multimodales con Hugging Face

Ver curso

Instrucciones del ejercicio

  • Completa la definición de la función « create_speaker_embedding() » calculando la incrustación sin procesar a partir de « waveform » utilizando « speaker_model ».
  • Extrae el arreglo de audio del punto de datos en el índice 10 del archivo dataset.
  • Calcula una incrustación de altavoz a partir del arreglo de audio utilizando la función « create_speaker_embedding() ».

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código