byos commited on
Commit
e6a567e
·
verified ·
1 Parent(s): 178f2f8

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +33 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from transformers import AutoProcessor, MusicgenForConditionalGeneration
3
+ import torchaudio
4
+ import gradio as gr
5
+
6
+ # Load model dan processor
7
+ device = "cuda" if torch.cuda.is_available() else "cpu"
8
+ model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-small").to(device)
9
+ processor = AutoProcessor.from_pretrained("facebook/musicgen-small")
10
+
11
+ # Fungsi untuk generate musik
12
+ def generate_music(prompt):
13
+ inputs = processor(text=[prompt], padding=True, return_tensors="pt").to(device)
14
+ audio_values = model.generate(**inputs, max_new_tokens=1024)
15
+
16
+ sample_rate = model.config.audio_encoder.sampling_rate
17
+ audio = audio_values[0].cpu()
18
+
19
+ file_name = "output.wav"
20
+ torchaudio.save(file_name, audio.unsqueeze(0), sample_rate)
21
+ return file_name
22
+
23
+ # Gradio UI
24
+ iface = gr.Interface(
25
+ fn=generate_music,
26
+ inputs=gr.Textbox(lines=2, placeholder="Masukkan prompt musik..."),
27
+ outputs=gr.Audio(type="filepath"),
28
+ title="MusicGen Gradio App"
29
+ )
30
+
31
+ # Jalankan Gradio
32
+ if __name__ == "__main__":
33
+ iface.launch()
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ torch
2
+ torchaudio
3
+ transformers
4
+ gradio