Spaces:
Runtime error
Runtime error
| import torchaudio | |
| import gradio as gr | |
| import torch | |
| from audiocraft.models import MusicGen | |
| from audiocraft.data.audio import audio_write | |
| model = MusicGen.get_pretrained('melody', device='cuda' if torch.cuda.is_available() else 'cpu') | |
| def generate(prompt, melody_path): | |
| wav, sr = torchaudio.load(melody_path) | |
| wav = torchaudio.functional.resample(wav, sr, 32000) | |
| wav = wav.mean(dim=0).unsqueeze(0) # mono | |
| wav = wav[:, :32000 * 30] # clip to 30s | |
| model.set_generation_params(duration=30) | |
| output = model.generate_with_chroma([prompt], wav) | |
| output_path = "output_gen" | |
| audio_write(output_path, output[0].cpu(), 32000, format="wav") | |
| return f"{output_path}.wav" | |
| demo = gr.Interface( | |
| fn=generate, | |
| inputs=[ | |
| gr.Textbox(label="Prompt"), | |
| gr.Audio(source="upload", type="filepath", label="Melody Input") | |
| ], | |
| outputs=gr.Audio(label="Generated Track"), | |
| title="π΅ MusicGen-Melody Generator" | |
| ) | |
| demo.launch() |