EconLab AI commited on
Commit
75ab712
·
1 Parent(s): c9d18d9
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import gradio as gr
2
  from transformers import pipeline
3
  import scipy.io.wavfile
@@ -6,18 +7,23 @@ import os
6
  # Sicherstellen, dass der 'static'-Ordner existiert
7
  os.makedirs('static', exist_ok=True)
8
 
9
- # MusicGen-Pipeline initialisieren
10
- synthesizer = pipeline(
11
- "text-to-audio",
12
- "facebook/musicgen-small",
13
- model_kwargs={"attn_implementation": "eager"}
14
- )
 
 
 
 
 
15
 
16
- # Funktion zur Musikgenerierung
 
17
  def generate_music(prompt, duration, diffusion_steps, cfg_scale):
18
  try:
19
- # Placeholder für generierte Musik
20
- # Da MusicGen keine Diffusion Steps und CFG Scale unterstützt, sind diese Parameter hier symbolisch.
21
  music = synthesizer(prompt, forward_params={"do_sample": True})
22
 
23
  # Datei speichern
 
1
+ import spaces # Wichtig: Modul importieren, um ZeroGPU zu aktivieren
2
  import gradio as gr
3
  from transformers import pipeline
4
  import scipy.io.wavfile
 
7
  # Sicherstellen, dass der 'static'-Ordner existiert
8
  os.makedirs('static', exist_ok=True)
9
 
10
+ # Funktion zur Initialisierung des Synthesizers auf der GPU
11
+ @spaces.GPU
12
+ def initialize_synthesizer():
13
+ return pipeline(
14
+ "text-to-audio",
15
+ "facebook/musicgen-small",
16
+ model_kwargs={"attn_implementation": "eager"}
17
+ )
18
+
19
+ # Synthesizer initialisieren
20
+ synthesizer = initialize_synthesizer()
21
 
22
+ # GPU-abhängige Funktion zur Musikgenerierung
23
+ @spaces.GPU(duration=120) # GPU wird für diese Funktion angefordert
24
  def generate_music(prompt, duration, diffusion_steps, cfg_scale):
25
  try:
26
+ # Musik generieren
 
27
  music = synthesizer(prompt, forward_params={"do_sample": True})
28
 
29
  # Datei speichern