CommunityCodierung & Entwicklunggithub.com

kizuna-intelligence/song-generation

Erstelle mit MiniMax Music 3 (dem offenen Musikgenerierungsmodell von 2026-08) lokal auf der GPU Songs mit Gesang (max. ~5 Minuten, auch mit japanischen Texten) aus Text und Liedtext. Perfekt für Anfragen wie „Mach einen Song“, „Originalmusik für ein MV“, „Vertone diesen Text“ oder „Komponiere einen BGM“. Die erstellten Songs können direkt an den MV-Modus des biim-motion-Skills übergeben werden.

Was ist song-generation?

Dieser Skill ermöglicht es einem KI-Agenten (wie Claude Code), mit dem neuesten offenen Song-Generierungsmodell MiniMax Music 3 (Stand August 2026) lokal auf einer GPU Musik mit Gesang zu erzeugen. Er unterstützt die Erstellung von Songs mit einer maximalen Länge von etwa 5 Minuten, inklusive japanischer Texte. Der Skill erstellt aus einer JSON-Datei mit einer englischen Beschreibung (Genre, Tempo, Stimmung, Gesangsdetails, Arrangement) und dem Liedtext (in japanischen Schriftzeichen) eine WAV-Audiodatei. Das System läuft auf einer einzelnen GPU (ca. 24 GB VRAM, weniger mit Offloading) und wurde auf AMD Radeon AI PRO R9700 (ROCm) getestet, wobei die Generierungszeit etwa das 5-fache der Songlänge beträgt. Der Skill stellt eine komplette Pipeline bereit: Einrichtung der Umgebung mit uv und diffusers, Erstellung der Song-Parameter, Generierung mit mehreren Seeds für Varianten, Überprüfung der gesungenen Lyrics mit Whisper und nahtlose Übergabe an den biim-motion-Skill für die MV-Erstellung. Wichtig zu beachten: Der Skill basiert auf der „MiniMax-Music3 Community License“, die bei kommerzieller Nutzung eine sichtbare Namensnennung und bei einem Jahresumsatz über 20 Millionen Dollar eine schriftliche Genehmigung von MiniMax erfordert.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kizuna-intelligence/kokuren-mv/tree/main/skills/song-generation

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Einen Song erstellen (MiniMax Music 3)

Verwende MiniMax Music 3, das neueste offene Musikgenerierungsmodell, das ich gefunden habe. Einen Vergleich mit anderen Optionen und Lizenzen findest du in references/models.md.

Das Verzeichnis dieses Skills wird als $SKILL bezeichnet (wird beim Laden als Base directory angezeigt).

Voraussetzungen

  • Läuft auf einer einzelnen GPU (diffusers-Version). Erforderlicher VRAM: ca. 24 GB ohne Offloading, ca. 22 GB mit --offload cpu, 8 GB mit --offload stream (langsam).
  • Getestet mit: AMD Radeon AI PRO R9700 (32 GB, ROCm 6.4 mit PyTorch 2.9.1). Ein 60-Sekunden-Song dauerte etwa 5 Minuten (ca. 5-fache Echtzeit). Auf NVIDIA-GPUs noch nicht getestet (offiziell ist CUDA vorgesehen).
  • Die Gewichte sind ca. 27 GB groß. Überprüfe vorher den freien Speicherplatz.
  • Die offizielle schnelle Methode (SGLang-Omni) benötigt 2 CUDA-GPUs und wird in diesem Skill nicht verwendet.

1. Umgebung einrichten (nur beim ersten Mal)

Wenn bereits eine Umgebung existiert (z. B. .venv* im geklonten MiniMax-Music3-Verzeichnis), verwende diese. Ansonsten erstelle eine neue.

git clone https://github.com/MiniMax-AI/MiniMax-Music3.git && cd MiniMax-Music3
uv venv -p 3.12 .venv && source .venv/bin/activate
# NVIDIA: uv pip install torch torchaudio
# AMD:    uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/rocm6.4
uv pip install "diffusers==0.41.0" transformers accelerate soundfile huggingface_hub
# Nur die Dateien für die SGLang-Version werden nicht heruntergeladen. --exclude wird pro Muster verwendet
hf download MiniMaxAI/MiniMax-Music3 --exclude "qwen_7B/qwen_7B/model-*" \
  --exclude flowmatching_vae.pth --exclude dav.pth --exclude "figures/*"
  • Die Modellkarte enthält Anweisungen zum Einrichten eines Commits des nicht gemergten diffusers, aber damit kann transformer nicht geladen werden. Verwende die gemergte Version (Release 0.40.0 oder höher, getestet mit 0.41.0).
  • Wenn der Hugging-Face-Cache (HF_HOME) wenig Speicherplatz hat, setze HF_HOME auf ein Verzeichnis mit ausreichend Platz.
  • Wenn HF_HUB_OFFLINE=1 gesetzt ist, schlägt das Laden von transformer fehl. Setze es nicht.

2. Liedtext und Songbeschreibung schreiben

Erstelle eine song.json-Datei.

{
  "name": "yoru-no-machi",
  "prompt": "Global Metadata: Japanese city pop, mid-tempo around 100 BPM, nostalgic night-drive mood that lifts into a bright chorus; polished 80s-inspired production. Vocal Details: warm female lead vocal singing in Japanese, airy in the verse, fuller with light harmonies in the chorus. Arrangement: intro with electric piano and slap bass; verse adds tight drums and muted guitar; chorus opens up with synth brass and lush pads; short outro on electric piano.",
  "lyrics": "[intro]\n\n[verse]\n夜の街を ひとり歩く\nネオンの色が 揺れている\n\n[chorus]\nこのまま 朝まで\n君の声 探してる\n\n[outro]",
  "duration": 180
}
  • Die Songbeschreibung (prompt) ist auf Englisch zu verfassen und in drei Teile zu gliedern: Global Metadata (Genre, Tempo, Stimmungsverlauf, Klangästhetik), Vocal Details (Geschlecht der Stimme, Klangfarbe, Gesangsstil, Harmonien) und Arrangement (Instrumenteneinsatz pro Abschnitt).
  • Gib immer das Geschlecht und die Klangfarbe der Stimme an. Andernfalls kann es passieren, dass der Gesang verschwindet und nur die Begleitung übrig bleibt. Wenn du auf Japanisch singen lassen möchtest, füge singing in Japanese hinzu.
  • Für detailliertere Beschreibungen kann der offizielle MiniMax-Skill music-caption-rewriter verwendet werden (npx skills add MiniMax-AI/MiniMax-Music3 --skill music-caption-rewriter oder das geklonte skills/music-caption-rewriter nach ~/.claude/skills/ kopieren).
  • Der Liedtext (lyrics) kann in japanischen Kanji und Kana geschrieben werden (getestet). Die Tags [intro], [verse], [pre-chorus], [chorus], [bridge], [instrumental], [solo], [outro] müssen in einer eigenen Zeile stehen. Text in derselben Zeile wie ein Tag wird ignoriert (das Skript erkennt dies und bricht ab).
  • Halte die Zeilen kurz und versuche, die Zeichenanzahl in Zeilen auf derselben Position gleich zu halten. Trenne Abschnitte mit einer Leerzeile (allgemeiner Tipp für Musikgenerierungsmodelle; bei MiniMax Music 3 nicht auf Wirkung getestet).
  • duration ist die maximale Dauer in Sekunden (10–300). Das Modell kann auch früher enden. Ein [intro]-Tag führt tendenziell zu einer längeren Einleitung (bei einem 60-Sekunden-Test ca. 25 Sekunden).
  • Verwende keine Namen von echten Songs oder Künstlern, um Ähnlichkeiten zu erzeugen (verboten durch die Lizenz, siehe unten).

3. Generieren

python $SKILL/scripts/generate.py song.json --out-dir songs/ --seeds 1 2 3
  • Bei gleichen Einstellungen entstehen durch verschiedene Seeds unterschiedliche Songs. Erstelle 2–3 Varianten und lass den Benutzer anhören und auswählen. Claude kann keine Musik hören, bewerte also nicht selbst, was gut oder schlecht ist.
  • Die Generierung dauert lange (ca. 5-fache Echtzeit auf der R9700 plus Ladezeit). Führe sie im Hintergrund aus und warte auf den Abschluss.
  • Ausgabe: <name>-seed<N>.wav (44,1 kHz Stereo), eine gleichnamige .json-Datei (Seed, Länge, Prompt, Liedtext, Dauer) und <name>-lyrics.txt (Liedtext ohne Tags für die Anzeige).
  • Ob der Liedtext richtig gesungen wurde, kann mit Transkription überprüft werden (benötigt faster-whisper). Bei der Einleitung neigt Whisper dazu, den Liedtext fälschlicherweise zu wiederholen.
python $SKILL/scripts/check_lyrics.py songs/*.wav --language ja

4. Ein Musikvideo (MV) erstellen

Übergib den ausgewählten Song direkt an den MV-Modus des biim-motion-Skills.

  • assets.music: Die ausgewählte WAV-Datei
  • musicLyrics: Der Inhalt von <name>-lyrics.txt (ohne Tags)
  • musicMood: Eine kurze Zusammenfassung der Stimmung des prompt auf Japanisch
  • Halte im reports/delivery.md des MV fest: "Generiert mit MiniMax Music 3 (Seed, prompt, lyrics)".

Lizenz (MiniMax-Music3 Community License)

Der Originaltext ist unter https://huggingface.co/MiniMaxAI/MiniMax-Music3/blob/main/LICENSE zu finden. Hier sind nur die wichtigsten Punkte (keine Rechtsberatung).

  • Bei kommerzieller Nutzung in Produkten oder Diensten muss an einer gut sichtbaren Stelle „MiniMax-Music3“ angezeigt werden. Bei einem Jahresumsatz von über 20 Millionen US-Dollar ist eine separate schriftliche Genehmigung von MiniMax erforderlich.
  • Die beigefügte Acceptable Use Policy muss eingehalten werden; die Rechte Dritter dürfen nicht verletzt werden.
  • Wenn eine kommerzielle Nutzung geplant ist, muss der Benutzer vor der Generierung über diese Bedingungen informiert werden.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills