import os import io import numpy as np import gradio as gr import soundfile as sf from huggingface_hub import InferenceClient HF_TOKEN = os.getenv("HF_TOKEN") if not HF_TOKEN: raise RuntimeError( "HF_TOKEN fehlt! Bitte in den Space Settings → Secrets eintragen." ) client = InferenceClient(model="facebook/musicgen-small", token=HF_TOKEN) def generate_music(prompt: str): if not prompt.strip(): return None audio_bytes = client.text_to_audio(prompt) audio_data, samplerate = sf.read(io.BytesIO(audio_bytes)) audio_data = np.array(audio_data, dtype=np.float32) return samplerate, audio_data demo = gr.Interface( fn=generate_music, inputs=gr.Textbox(label="Beschreibe deine Musik", placeholder="z.B. Lo-fi chill"), outputs=gr.Audio(label="Generierte Musik", type="numpy"), title="🎶 KI Musik Generator", description="Musik wird mit MusicGen generiert. Dauer ca. 30–60 Sekunden (GPU empfohlen)." ) if __name__ == "__main__": demo.launch()