Zacznij terazZacznij za darmo

Tworzenie osadzeń mówcy

Czas zakodować tablicę audio w osadzenie mówcy! Osadzenia mówcy (speaker embeddings) zawierają informacje o tym, jak spersonalizować generowane audio do konkretnego mówcy – są niezbędne do generowania dopasowanego audio.

Wstępnie wytrenowany model spkrec-xvect-voxceleb (speaker_model) oraz zbiór danych VCTK (dataset) zostały już załadowane.

To ćwiczenie jest częścią kursu

Modele multimodalne z Hugging Face

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij definicję funkcji create_speaker_embedding(), obliczając surowe osadzenie z waveform przy użyciu speaker_model.
  • Wyodrębnij tablicę audio z punktu danych o indeksie 10 ze zbioru dataset.
  • Oblicz osadzenie mówcy z tablicy audio, korzystając z funkcji create_speaker_embedding().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod