音声埋め込みの作成
オーディオ配列を話者埋め込みにエンコードしましょう。話者埋め込みには、特定の話者に合わせて生成音声をパーソナライズするための情報が含まれており、微調整された音声を生成するうえで不可欠です。
学習済みモデル spkrec-xvect-voxceleb(speaker_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)