AMDのGPUでStable Audio Open 1.0で音声作成

この記事は約4分で読めます。
スポンサーリンク

やりたいこと

AMDのGPUを使用してでStable Audio Open 1.0で音声作成してみます。

DirectMLを使用します。

スポンサーリンク

環境構築

作業用のフォルダを作成します。

venv環境への移動(任意)

必要であればコマンドプロンプトで以下のコマンドを実行して、Venvの環境を作成してアクティブにします。

python -mvenv venv
venv\scripts\activate.bat

ライブラリのインストール

以下のコマンドを実行して必要なライブラリのインストールを行います。

pip install scipy
pip install torch torchvision torchaudio
pip install torch-directml
pip install soundfile 
pip install diffusers 
pip install transformers
pip install torchsde
pip install accelerate

スクリプトの作成

以下の内容をrun.pyのファイル名で保存します。

import scipy
import torch
import soundfile as sf
from diffusers import StableAudioPipeline
import torch_directml
import random

dml = torch_directml.device()
repo_id = "stabilityai/stable-audio-open-1.0"
pipe = StableAudioPipeline.from_pretrained(repo_id, torch_dtype=torch.float16, cache_dir="model")
pipe = pipe.to(dml)

prompt = "sound of heart beat"

generator = torch.Generator()
generator.manual_seed(random.randint(1, 65535))

audio = pipe(
    prompt,
    num_inference_steps=2,
    audio_end_in_s=0.5,
    num_waveforms_per_prompt=1,
    generator=generator,
).audios

output = audio[0].T.float().cpu().numpy()
sf.write("output.wav", output, pipe.vae.sampling_rate)
スポンサーリンク

実行

以下のコマンドを実行してスクリプトを実行します。

実行したフォルダにoutput.wavというファイルが作成されます。

python run.py

モデルのダウンロードに失敗する場合

下の記事を参考にしてください。

実行環境に関して

うちの環境(CPU:AMD Ryzen 7 7735HS / メモリ:32GB / GPU:CPU内臓)でブラウザやエディタなどを周世してギリギリ動作します。(成功するときとout of memoryで失敗するときがあります)

スポンサーリンク

スクリプトの変更

プロンプトの変更

prompt = “sound of heart beat”のsound of heart beat部分を変更します。

音声ファイルの時間の変更

audio_end_in_s=0.5,の0.5を変更します。(単位は秒)

品質の変更

num_inference_steps=2の2を変更します。

この値は初期値は100です。貧弱な私の環境で無理やり動作させるために2にしています。

AMDのGPUボードを使用している環境などでは積極的に大きな値にしてください。

スポンサーリンク

結果

AMDのGPUを用いて音声生成をすることができました。 

スポンサーリンク

参考にさせていただいたサイト

stabilityai/stable-audio-open-1.0 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

コメント

タイトルとURLをコピーしました