Coisas que eu quero fazer
Vou tentar criar áudio usando o Stable Audio Open 1.0 com uma GPU AMD.
Usaremos o DirectML.
Configuração do ambiente
Crie uma pasta de trabalho.
Mudar para o ambiente venv (opcional)
Se necessário, execute o seguinte comando no prompt de comando para criar e ativar o ambiente Venv.
python -mvenv venv
venv\scripts\activate.batInstalação da Biblioteca
Execute o seguinte comando para instalar as bibliotecas necessárias.
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 accelerateCriação de roteiro
Salve o seguinte conteúdo como um arquivo chamado 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)execução
Execute o seguinte comando para executar o script.
Um arquivo chamado output.wav será criado na pasta onde você executou o comando.
python run.pySe o download do modelo falhar
Consulte o artigo abaixo.
Em relação ao ambiente de execução
No meu sistema (CPU: AMD Ryzen 7 7735HS / Memória: 32 GB / GPU: GPU integrada), ele mal consegue executar navegadores e editores. (Às vezes funciona, outras vezes falha com um erro de falta de memória.)
Alterar o roteiro
Alterar o prompt
Alterar a parte do som da batida do coração no prompt = som da batida do coração .
Alterar a duração de um arquivo de áudio
Altere `audio_end_in_s=0.5,` para 0.5. (Unidades em segundos)
Alterações de qualidade
Altere num_inference_steps=2 para 2.
O valor inicial para este parâmetro é 100.Configurei para 2 para forçar o funcionamento no meu sistema fraco.
Em ambientes que utilizam placas de vídeo AMD, por exemplo, você deve definir ativamente um valor alto.
Resultado
Consegui gerar áudio usando uma GPU AMD..
Sites que utilizei como referência



コメント