始める無料で始める

音声埋め込みの作成

オーディオ配列を話者埋め込みにエンコードしましょう。話者埋め込みには、特定の話者に合わせて生成音声をパーソナライズするための情報が含まれており、微調整された音声を生成するうえで不可欠です。

学習済みモデル spkrec-xvect-voxcelebspeaker_model)と VCTK データセット(dataset)は読み込まれています。

この演習はコースの一部です

Hugging Face で学ぶマルチモーダルモデル

コースを見る

演習の手順

  • speaker_model を使って waveform から生の埋め込みを計算し、create_speaker_embedding() 関数定義を完成させてください。
  • dataset のインデックス 10 のデータポイントからオーディオ配列を取り出します。
  • 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)
コードを編集して実行