Diya004/fullStack_dev
0
1import gradio as gr2from transformers import MusicgenForConditionalGeneration, AutoProcessor3import torch4import scipy.io.wavfile5 6# Load model (small version for Hugging Face Spaces)7model_name = "facebook/musicgen-small"8 9processor = AutoProcessor.from_pretrained(model_name)10model = MusicgenForConditionalGeneration.from_pretrained(model_name)11 12device = "cuda" if torch.cuda.is_available() else "cpu"13model.to(device)14 15def generate_music(prompt):16 if not prompt:17 return None18 19 inputs = processor(20 text=[prompt],21 padding=True,22 return_tensors="pt",23 ).to(device)24 25 audio_values = model.generate(**inputs, max_new_tokens=256)26 27 sampling_rate = model.config.audio_encoder.sampling_rate28 audio = audio_values[0].cpu().numpy()29 30 file_path = "music.wav"31 scipy.io.wavfile.write(file_path, rate=sampling_rate, data=audio.T)32 33 return file_path34 35demo = gr.Interface(36 fn=generate_music,37 inputs=gr.Textbox(label="Enter music prompt (e.g. 'happy piano with rain')"),38 outputs=gr.Audio(type="filepath"),39 title="AI Music Generator 🎵",40 description="Generate music using AI from text prompt"41)42 43demo.launch()