Spaces:
Runtime error
Runtime error
| import torch | |
| import spaces | |
| import gradio as gr | |
| from transformers import MusicgenForConditionalGeneration | |
| music_gen_model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-small") | |
| sampling_rate = music_gen_model.config.audio_encoder.sampling_rate | |
| from transformers import AutoProcessor | |
| processor = AutoProcessor.from_pretrained("facebook/musicgen-small") | |
| from diffusers import DiffusionPipeline | |
| sd_pipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16, use_safetensors=True, variant="fp16") | |
| # sd_pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, use_safetensors=True, variant="fp16") | |
| def generate_music(desc): | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| music_gen_model.to(device) | |
| inputs = processor(text=[desc], padding=True, return_tensors="pt") | |
| audio_values = music_gen_model.generate(**inputs.to(device), do_sample=True, guidance_scale=3, max_new_tokens=256) | |
| return sampling_rate, audio_values[0][0].cpu().numpy() | |
| def generate_pic(desc): | |
| device = "cuda" #if torch.cuda.is_available() else "cpu" | |
| sd_pipe.to(device) | |
| return sd_pipe(prompt=desc).images[0] | |
| def test_gpu(): | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| return device | |
| with gr.Blocks() as app: | |
| with gr.Row(): | |
| music_desc = gr.TextArea(label="Music Description") | |
| music_pic = gr.Image(label="Music Image(StableDiffusion)") | |
| music_player = gr.Audio(label="Play My Tune") | |
| device_name = gr.Text(label='device name', interactive=False) | |
| gen_pic_btn = gr.Button("Gen Picture") | |
| gen_music_btn = gr.Button("Get Some Tune!!") | |
| has_gpu_btn = gr.Button("test gpu") | |
| gen_pic_btn.click(fn=generate_pic, inputs=[music_desc], outputs=[music_pic]) | |
| gen_music_btn.click(fn=generate_music, inputs=[music_desc], outputs=[music_player]) | |
| has_gpu_btn.click(fn=test_gpu, outputs=[device_name]) | |
| if __name__ == '__main__': | |
| app.launch() |