ПочатиПочніть безкоштовно

Створення мовних вкладень

Час закодувати аудіомасив у вкладення мовця! Вкладення мовця містять інформацію про те, як персоналізувати згенерований звук для конкретного мовця, і є необхідними для тонкого налаштування аудіогенерації.

Попередньо навчена модель spkrec-xvect-voxceleb (speaker_model) і набір даних VCTK (dataset) уже завантажені для вас.

Ця вправа є частиною курсу

Багатомодальні моделі з Hugging Face

Переглянути курс

Інструкції до вправи

  • Доповніть визначення функції create_speaker_embedding(), обчисливши «сире» вкладення з waveform за допомогою speaker_model.
  • Дістаньте аудіомасив з елемента даних з індексом 10 у dataset.
  • Обчисліть вкладення мовця з аудіомасиву, використавши функцію create_speaker_embedding().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код