| 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() | |