File size: 815 Bytes
0c98d02
 
398c97e
0c98d02
18b0529
85d7512
 
 
 
 
 
18b0529
 
c380881
18b0529
 
 
ad8c0f9
18b0529
 
 
 
ad8c0f9
420027f
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import gradio as gr

import torch

from spectro import wav_bytes_from_spectrogram_image
from diffusers import StableDiffusionPipeline

model_id = "riffusion/riffusion-model-v1"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

def predict(prompt):
    spec = pipe(prompt).images[0]
    print(spec)
    wav = wav_bytes_from_spectrogram_image(spec)
    with open("output.wav", "wb") as f:
        f.write(wav[0].getbuffer())
    return 'output.wav'

gr.Interface(
    predict,
    inputs="text",
    outputs=[gr.Audio(type='filepath')],
    title="Riffusion Text-to-Music",
    description="Describe a musical prompt, generate music by getting a Riffusion spectrogram and its corresponding sound"
).queue(max_size=32, concurrency_count=20).launch(debug=True)