Von Text zu Heavy Metal: Neues Modell
YuE2 macht aus Lyrics und einem Notenplan einen Metal-Track.
YuE2 erzeugt aus einem Stil-Prompt und Songtext Musik mit Gesang und macht dabei einen bearbeitbaren Kompositionsplan zugänglich. Für meinen Test habe ich die Dark-Metal-Vorgaben aus dem bisherigen Text-to-Heavy-Metal-Workflow aufgegriffen und in ComfyUI eingesetzt. Anhand des Workflows lässt sich nachvollziehen, wie aus Lyrics zunächst eine musikalische Struktur und anschließend eine Audiodatei wird.

Inhaltsverzeichnis
Vom Metal-Prompt zum bearbeitbaren Notenplan
Im bisherigen Versuch wurden Lyrics mit Ollama und Qwen3 vorbereitet und anschließend durch ACE-Step 1.5 vertont. Für den neuen Versuch bleibt die kreative Ausgangsidee erhalten: ein dunkler Metal-Track mit schweren, tief gestimmten Gitarren. Gewechselt wird das Werkzeug zur Komposition und Klangerzeugung.
Bei YuE2 kann vor der Audioerzeugung ein Plan in ABC-Notation entstehen. Das ist eine textuelle Darstellung musikalischer Informationen. Melodien und Akkorde werden damit sichtbar und bearbeitbar, bevor sie als Aufnahme vorliegen. Ein solcher Plan ähnelt dem Notenzettel einer Band: Er hält musikalische Vorgaben fest, beschreibt aber nicht jedes Detail von Gitarrensound, Stimme und Produktion. Dabei sind die erzielten Ergebnisse bereits besser als bei Suno:

Technisch wird die Arbeit in mehrere Schritte aufgeteilt. Nach der symbolischen Planung werden semantische Musik-Tokens erzeugt. Daraus entstehen akustische Latents, also komprimierte interne Audiodaten, die ein VAE-Decoder in hörbares Audio umwandelt. Diese Stufen werden in der Projektbeschreibung erläutert; die Ausgabe ist Stereo-Audio mit 48 kHz.

Der untersuchte ComfyUI-Workflow yue2_full.json bildet diesen Ablauf ab:
Style + Lyrics
-> YuE2GenerateABC
-> Preview (Hier kann man in den Song eingreifen)
-> YuE2GenerateMusic
-> KSampler
-> VAEDecodeAudioTiled
-> PreviewAudioAndere Musikrichtungen
Bevor ich diesen Artikel auf einen einzigen Stil reduziere: Natürlich kann YuE2 deutlich mehr als nur Metal. Hier zur Einstimmung auf den nahenden Herbst ein Song, den Qwen3.8:27b selbst vertexten durfte:
ComfyUI unter Linux vorbereiten
Die folgenden Installationsbefehle sind für eine neue Installation unter Ubuntu 24.04 mit Python 3.12 und einer NVIDIA-GPU mit passendem aktuellem Treiber gedacht. Die Treiberinstallation muss bereits abgeschlossen sein; nvidia-smi muss die Karte erkennen. Für andere GPU-Plattformen enthält die offizielle Installationsanleitung eigene PyTorch-Pakete.
Aus einem beschreibbaren Arbeitsverzeichnis wird die Installation angelegt:
# M. Meister - ComfyUI mit NVIDIA-Unterstützung
sudo apt update
sudo apt install -y git python3.12-venv python3-pip curl
nvidia-smi
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install torch torchvision torchaudio \
--extra-index-url https://download.pytorch.org/whl/cu130
python -m pip install -r requirements.txt
python -c 'import torch; print("CUDA verfügbar:", torch.cuda.is_available()); print("PyTorch:", torch.__version__)'
python main.py
Die CUDA-Paketquelle entspricht der zum Recherchezeitpunkt dokumentierten NVIDIA-Installation von ComfyUI. Bei funktionierender GPU-Anbindung muss die Prüfung CUDA verfügbar: True ausgeben. Die Oberfläche wird anschließend im Browser unter http://127.0.0.1:8188 geöffnet.
Für eine bestehende Git-Installation wird ComfyUI zunächst beendet. Nach Sicherung eigener Änderungen werden im Installationsverzeichnis die vorhandene Python-Umgebung aktiviert, git pull --ff-only und python -m pip install -r requirements.txt ausgeführt. Danach wird ComfyUI neu gestartet. Unter Windows Portable liegt das entsprechende Update-Skript unter update\update_comfyui.bat.
Die hier verwendeten YuE2-Nodes gehören inzwischen zu ComfyUI selbst. Für diesen Graphen wird deshalb kein zusätzliches YuE2-Custom-Node-Paket benötigt.
Modelle auswählen und richtig ablegen
Für den Test wurden die aufbereiteten Modelle von Comfy-Org/YuE2 verwendet. Für Text-to-Music genügt einer der beiden Checkpoints. Der zusätzliche SheetSage2-Encoder wird erst benötigt, wenn eine bestehende Aufnahme als Referenz dienen soll.
| Datei | Downloadgröße ungefähr | Zielverzeichnis innerhalb von ComfyUI |
|---|---|---|
yue2_3b_bf16.safetensors | 7,8 GB | models/checkpoints/ |
yue2_3b_int8_convrot.safetensors | 3,96 GB | models/checkpoints/ |
sheetsage2_bf16.safetensors | 1,39 GB | models/audio_encoders/ |
Die Größen stammen aus den Verzeichnissen für Checkpoints und Audio-Encoder. BF16 speichert Modellwerte mit höherer numerischer Präzision als die INT8-Variante. Die kleinere Datei ist für speicherbegrenzte Versuche interessant, ihre Downloadgröße entspricht aber nicht dem gesamten VRAM-Bedarf während der Berechnung.
Für den INT8-Einstieg können die Dateien im ComfyUI-Verzeichnis mit folgendem Skript heruntergeladen werden. Der Encoder wird dabei bereits für spätere Cover-Versuche mitgeladen:
# M. Meister - YuE2-Modelle für ComfyUI
test -f main.py || { echo 'Im ComfyUI-Verzeichnis ausführen.' >&2; exit 1; }
mkdir -p models/checkpoints models/audio_encoders
model_base='https://huggingface.co/Comfy-Org/YuE2/resolve/main'
curl --fail --location --retry 3 --continue-at - \
--output models/checkpoints/yue2_3b_int8_convrot.safetensors \
"$model_base/checkpoints/yue2_3b_int8_convrot.safetensors"
curl --fail --location --retry 3 --continue-at - \
--output models/audio_encoders/sheetsage2_bf16.safetensors \
"$model_base/audio_encoders/sheetsage2_bf16.safetensors"
Nach dem Download wird ComfyUI neu gestartet und im CheckpointLoaderSimple die tatsächlich vorhandene Datei ausgewählt. Hier liegt eine konkrete Stolperfalle: yue2_full.json erwartet noch yue2_convrot_int8.safetensors. Die Auswahl muss auf yue2_3b_int8_convrot.safetensors geändert werden. Ein fehlender alter Dateiname bedeutet nicht, dass der neue Download defekt ist.
Den Workflow mit den Metal-Vorgaben füllen
yue2_full.json wird per Drag-and-drop in die ComfyUI-Oberfläche geladen. Alternativ stehen im offiziellen Template-Verzeichnis aktuelle Text-to-Music-Vorlagen bereit. Deren Aufbau und Standardwerte können von den hier besprochenen Node-IDs abweichen.
In der untersuchten Datei stehen zunächst ein J-Pop-Prompt und wiederholte Beispielzeilen. Sie werden in den beiden zentralen Nodes style mit ID 12 und lyrics mit ID 13 ersetzt. Beide sind mit der ABC-Planung und der nachfolgenden Musikgenerierung verbunden. Damit erhalten beide Stufen dieselben Vorgaben.
Mein verwendeter Stil-Prompt lautet, wie auch in meinem damaligen Test:
dark metal track blending heavy, down-tuned guitar.
Dazu wurde der folgende Songtext eingesetzt. Der Abschnitt für das Gitarrensolo ergänzt die frühere Fassung:
[Intro]
Shadows breathe beneath the skyline,
rusted hearts begin to hum.
In the silence of the distance,
every scar becomes a drum.
[Verse 1]
I walk through hours made of glass,
reflections whisper old confessions.
The ground is cold, the night is vast,
each step repeats my obsessions.
[Pre-Chorus]
The air burns slow,
as time corrodes my bones.
[Chorus]
I am the storm that never ends,
I am the wound that never heals.
Caught between faith and consequence,
this cage of thought I cannot feel.
[Verse 2]
Faces fade behind my eyes,
truth dissolves in static rain.
I drown within the lullabies
that promise comfort, then bring pain.
[Long-Energetic-Guitar-Solo]
[Bridge]
A voice inside the void calls back my name,
a prayer, a curse - they sound the same.
[Final Chorus]
I am the storm that never ends,
I am the wound that never heals.
My shadow screams where daylight bends,
and silence teaches what is real.
[Outro]
Fade into grey,
where even memory decays.
Die Generierungsanleitung sieht getrennte Felder für Stil und Lyrics sowie Abschnittsmarkierungen wie [Verse] und [Chorus] vor. Der ausführliche Solo-Tag aus dem Test bleibt hier erhalten, ist aber kein dokumentierter Spezialbefehl mit zugesicherter Wirkung. Ob daraus tatsächlich ein langes Solo entsteht, muss am Ergebnis geprüft werden. Für weitere Versuche lässt sich der Wunsch zusätzlich im Stilfeld beschreiben, etwa mit extended energetic guitar solo.
Die gespeicherten Einstellungen verstehen
Die folgende Tabelle enthält die Werte des vorliegenden Graphen. Sie dokumentiert seine Ausgangskonfiguration, nicht gemessene optimale Einstellungen für jede Hardware.
| Node | Parameter | Gespeicherter Wert |
|---|---|---|
YuE2GenerateABC, ID 23 | seed, Steuerung | 10, fixed |
YuE2GenerateABC | mode, max_abc_tokens | full, 8192 |
YuE2GenerateMusic, ID 22 | seed, Steuerung | 17, fixed |
YuE2GenerateMusic | mode, max_duration | full, 360 |
YuE2GenerateMusic | temperature, top_p, top_k | 1, 0.95, 100 |
YuE2GenerateMusic | repetition_penalty | 1.2 |
KSampler, ID 8 | seed, Steuerung | 7, fixed |
KSampler | steps, cfg, denoise | 32, 1, 1 |
KSampler | Sampler, Scheduler | dpm_2, sgm_uniform |
VAEDecodeAudioTiled, ID 17 | tile_size, overlap | 1920, 128 |
SaveAudioAdvanced, ID 10 | Präfix, Format | audio/YuE2, flac |
full steht für die Planung von Melodie und Akkorden. Die Begrenzung max_abc_tokens betrifft die Textlänge der Notation, nicht unmittelbar die Spieldauer. max_duration=360 setzt dagegen eine Obergrenze von sechs Minuten; die Generierung darf vorher enden. Diese Unterscheidung ist in der Node-Implementierung ausdrücklich angelegt.YuE2 erzeugt aus einem Stil-Prompt und Songtext Musik mit Gesang und macht dabei einen bearbeitbaren Kompositionsplan zugänglich. Für meinen Test habe ich die Dark-Metal-Vorgaben aus dem bisherigen Text-to-Heavy-Metal-Workflow aufgegriffen und in ComfyUI eingesetzt. Anhand des Workflows lässt sich nachvollziehen, wie aus Lyrics zunächst eine musikalische Struktur und anschließend eine Audiodatei wird.
From Text to Heavy Metal: An Open Source Workflow
Forget subscriptions. Run a complete AI music studio on your own hardware with this guide.
https://blog.meister-security.de/from-text-to-heavy-metal-an-open-source-workflow/
Inhaltsverzeichnis
Embedded JavaScript
Vom Metal-Prompt zum bearbeitbaren Notenplan
Im bisherigen Versuch wurden Lyrics mit Ollama und Qwen3 vorbereitet und anschließend durch ACE-Step 1.5 vertont. Für den neuen Versuch bleibt die kreative Ausgangsidee erhalten: ein dunkler Metal-Track mit schweren, tief gestimmten Gitarren. Gewechselt wird das Werkzeug zur Komposition und Klangerzeugung.
Bei YuE2 kann vor der Audioerzeugung ein Plan in ABC-Notation entstehen. Das ist eine textuelle Darstellung musikalischer Informationen. Melodien und Akkorde werden damit sichtbar und bearbeitbar, bevor sie als Aufnahme vorliegen. Ein solcher Plan ähnelt dem Notenzettel einer Band: Er hält musikalische Vorgaben fest, beschreibt aber nicht jedes Detail von Gitarrensound, Stimme und Produktion.
Technisch wird die Arbeit in mehrere Schritte aufgeteilt. Nach der symbolischen Planung werden semantische Musik-Tokens erzeugt. Daraus entstehen akustische Latents, also komprimierte interne Audiodaten, die ein VAE-Decoder in hörbares Audio umwandelt. Diese Stufen werden in der Projektbeschreibung erläutert; die Ausgabe ist Stereo-Audio mit 48 kHz.
Der untersuchte ComfyUI-Workflow yue2_full.json bildet diesen Ablauf ab:Style + Lyrics
-> YuE2GenerateABC
-> PreviewAny
-> YuE2GenerateMusic
-> KSampler
-> VAEDecodeAudioTiled
-> SaveAudioAdvanced
Zusätzlich versorgt EmptyYuE2LatentAudio den Sampler mit dem benötigten Latent. Seine Länge wird vom seconds-Ausgang von YuE2GenerateMusic übernommen. Der im leeren Latent gespeicherte Wert von 120 Sekunden bestimmt deshalb in dieser Verdrahtung nicht die Songlänge.
Andere Musikrichtungen
Bevor ich diesen Artikel auf einen einzigen Stil reduziere: Natürlich kann YuE2 deutlich mehr als nur Metal. Hier zur Einstimmung auf den nahenden Herbst ein Song, den Qwen3.8:27b selbst vertexten durfte:
ComfyUI unter Linux vorbereiten
Die folgenden Installationsbefehle sind für eine neue Installation unter Ubuntu 24.04 mit Python 3.12 und einer NVIDIA-GPU mit passendem aktuellem Treiber gedacht. Die Treiberinstallation muss bereits abgeschlossen sein; nvidia-smi muss die Karte erkennen. Für andere GPU-Plattformen enthält die offizielle Installationsanleitung eigene PyTorch-Pakete.
Aus einem beschreibbaren Arbeitsverzeichnis wird die Installation angelegt:# M. Meister - ComfyUI mit NVIDIA-Unterstützung
sudo apt update
sudo apt install -y git python3.12-venv python3-pip curl
nvidia-smi
git clone https://github.com/Comfy-Org/ComfyUI.git
cd ComfyUI
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install torch torchvision torchaudio
--extra-index-url https://download.pytorch.org/whl/cu130
python -m pip install -r requirements.txt
python -c 'import torch; print("CUDA verfügbar:", torch.cuda.is_available()); print("PyTorch:", torch.version)'
python main.py
Die CUDA-Paketquelle entspricht der zum Recherchezeitpunkt dokumentierten NVIDIA-Installation von ComfyUI. Bei funktionierender GPU-Anbindung muss die Prüfung CUDA verfügbar: True ausgeben. Die Oberfläche wird anschließend im Browser unter http://127.0.0.1:8188 geöffnet.
Für eine bestehende Git-Installation wird ComfyUI zunächst beendet. Nach Sicherung eigener Änderungen werden im Installationsverzeichnis die vorhandene Python-Umgebung aktiviert, git pull --ff-only und python -m pip install -r requirements.txt ausgeführt. Danach wird ComfyUI neu gestartet. Unter Windows Portable liegt das entsprechende Update-Skript unter update\update_comfyui.bat.
Die hier verwendeten YuE2-Nodes gehören inzwischen zu ComfyUI selbst. Für diesen Graphen wird deshalb kein zusätzliches YuE2-Custom-Node-Paket benötigt.
Modelle auswählen und richtig ablegen
Für den Test wurden die aufbereiteten Modelle von Comfy-Org/YuE2 verwendet. Für Text-to-Music genügt einer der beiden Checkpoints. Der zusätzliche SheetSage2-Encoder wird erst benötigt, wenn eine bestehende Aufnahme als Referenz dienen soll.
| Datei | Downloadgröße ungefähr | Zielverzeichnis innerhalb von ComfyUI |
|---|---|---|
yue2_3b_bf16.safetensors | 7,8 GB | models/checkpoints/ |
yue2_3b_int8_convrot.safetensors | 3,96 GB | models/checkpoints/ |
sheetsage2_bf16.safetensors | 1,39 GB | models/audio_encoders/ |
Die Größen stammen aus den Verzeichnissen für Checkpoints und Audio-Encoder. BF16 speichert Modellwerte mit höherer numerischer Präzision als die INT8-Variante. Die kleinere Datei ist für speicherbegrenzte Versuche interessant, ihre Downloadgröße entspricht aber nicht dem gesamten VRAM-Bedarf während der Berechnung.
Für den INT8-Einstieg können die Dateien im ComfyUI-Verzeichnis mit folgendem Skript heruntergeladen werden. Der Encoder wird dabei bereits für spätere Cover-Versuche mitgeladen:# M. Meister - YuE2-Modelle für ComfyUI
test -f main.py || { echo 'Im ComfyUI-Verzeichnis ausführen.' >&2; exit 1; }
mkdir -p models/checkpoints models/audio_encoders
model_base='https://huggingface.co/Comfy-Org/YuE2/resolve/main'
curl --fail --location --retry 3 --continue-at -
--output models/checkpoints/yue2_3b_int8_convrot.safetensors
"$model_base/checkpoints/yue2_3b_int8_convrot.safetensors"
curl --fail --location --retry 3 --continue-at -
--output models/audio_encoders/sheetsage2_bf16.safetensors
"$model_base/audio_encoders/sheetsage2_bf16.safetensors"
Nach dem Download wird ComfyUI neu gestartet und im CheckpointLoaderSimple die tatsächlich vorhandene Datei ausgewählt. Hier liegt eine konkrete Stolperfalle: yue2_full.json erwartet noch yue2_convrot_int8.safetensors. Die Auswahl muss auf yue2_3b_int8_convrot.safetensors geändert werden. Ein fehlender alter Dateiname bedeutet nicht, dass der neue Download defekt ist.
Den Workflow mit den Metal-Vorgaben füllen
yue2_full.json wird per Drag-and-drop in die ComfyUI-Oberfläche geladen. Alternativ stehen im offiziellen Template-Verzeichnis aktuelle Text-to-Music-Vorlagen bereit. Deren Aufbau und Standardwerte können von den hier besprochenen Node-IDs abweichen.
In der untersuchten Datei stehen zunächst ein J-Pop-Prompt und wiederholte Beispielzeilen. Sie werden in den beiden zentralen Nodes style mit ID 12 und lyrics mit ID 13 ersetzt. Beide sind mit der ABC-Planung und der nachfolgenden Musikgenerierung verbunden. Damit erhalten beide Stufen dieselben Vorgaben.
Mein verwendeter Stil-Prompt lautet, wie auch in meinem damaligen Test:dark metal track blending heavy, down-tuned guitar.
Dazu wurde der folgende Songtext eingesetzt. Der Abschnitt für das Gitarrensolo ergänzt die frühere Fassung:[Intro]
Shadows breathe beneath the skyline,
rusted hearts begin to hum.
In the silence of the distance,
every scar becomes a drum.
[Verse 1]
I walk through hours made of glass,
reflections whisper old confessions.
The ground is cold, the night is vast,
each step repeats my obsessions.
[Pre-Chorus]
The air burns slow,
as time corrodes my bones.
[Chorus]
I am the storm that never ends,
I am the wound that never heals.
Caught between faith and consequence,
this cage of thought I cannot feel.
[Verse 2]
Faces fade behind my eyes,
truth dissolves in static rain.
I drown within the lullabies
that promise comfort, then bring pain.
[Long-Energetic-Guitar-Solo]
[Bridge]
A voice inside the void calls back my name,
a prayer, a curse - they sound the same.
[Final Chorus]
I am the storm that never ends,
I am the wound that never heals.
My shadow screams where daylight bends,
and silence teaches what is real.
[Outro]
Fade into grey,
where even memory decays.
Die Generierungsanleitung sieht getrennte Felder für Stil und Lyrics sowie Abschnittsmarkierungen wie [Verse] und [Chorus] vor. Der ausführliche Solo-Tag aus dem Test bleibt hier erhalten, ist aber kein dokumentierter Spezialbefehl mit zugesicherter Wirkung. Ob daraus tatsächlich ein langes Solo entsteht, muss am Ergebnis geprüft werden. Für weitere Versuche lässt sich der Wunsch zusätzlich im Stilfeld beschreiben, etwa mit extended energetic guitar solo.
Die gespeicherten Einstellungen verstehen
Die folgende Tabelle enthält die Werte des vorliegenden Graphen. Sie dokumentiert seine Ausgangskonfiguration, nicht gemessene optimale Einstellungen für jede Hardware.
| Node | Parameter | Gespeicherter Wert |
|---|---|---|
YuE2GenerateABC, ID 23 | seed, Steuerung | 10, fixed |
YuE2GenerateABC | mode, max_abc_tokens | full, 8192 |
YuE2GenerateMusic, ID 22 | seed, Steuerung | 17, fixed |
YuE2GenerateMusic | mode, max_duration | full, 360 |
YuE2GenerateMusic | temperature, top_p, top_k | 1, 0.95, 100 |
YuE2GenerateMusic | repetition_penalty | 1.2 |
KSampler, ID 8 | seed, Steuerung | 7, fixed |
KSampler | steps, cfg, denoise | 32, 1, 1 |
KSampler | Sampler, Scheduler | dpm_2, sgm_uniform |
VAEDecodeAudioTiled, ID 17 | tile_size, overlap | 1920, 128 |
SaveAudioAdvanced, ID 10 | Präfix, Format | audio/YuE2, flac |
full steht für die Planung von Melodie und Akkorden. Die Begrenzung max_abc_tokens betrifft die Textlänge der Notation, nicht unmittelbar die Spieldauer. max_duration=360 setzt dagegen eine Obergrenze von sechs Minuten; die Generierung darf vorher enden. Diese Unterscheidung ist in der Node-Implementierung ausdrücklich angelegt.
Bei den drei Seeds wird jeweils der Zufallsstart einer anderen Stufe festgelegt. Eine Änderung des ABC-Seeds kann bereits die Komposition verändern. Der Musik-Seed wirkt auf die anschließende Token-Generierung, der KSampler-Seed auf die akustische Synthese. Für Vergleichsläufe bleiben zunächst alle drei Werte fest, während jeweils nur eine andere Einstellung verändert wird. Für eine neue Komposition kann mit dem ABC-Seed begonnen werden.
Für spätere Wiederholungen sollten Workflow, Checkpoint-Datei, ComfyUI-Version, Abhängigkeiten und erzeugter ABC-Text zusammen aufbewahrt werden. Ein fester Seed allein garantiert keine bitidentische Ausgabe über verschiedene Softwarestände und Geräte hinweg.
Der KSampler-CFG ist hier kein verlässlicher Regler für Texttreue. Im Graphen wird derselbe Conditioning-Ausgang von ID 22 sowohl an positive als auch an negative angeschlossen. Es fehlt damit die unterschiedliche Bedingung, aus der gewöhnliche Classifier-free Guidance ihre Richtung ableitet. Neuere Versionen von YuE2GenerateMusic bieten zusätzlich einen eigenen cfg_scale für die autoregressive Textführung; dieser ist vom KSampler-Wert zu unterscheiden. Für den ersten Lauf bleiben die gespeicherten Werte unverändert.
Auch 32 Sampling-Schritte sind zunächst eine Ausgangseinstellung. Eine Erhöhung bedeutet zusätzliche Berechnung, aber keine zugesicherte Verbesserung von Gesang, Textverständlichkeit oder Arrangement.
Eine vorhandene Aufnahme als Cover neu arrangieren
Der untere Workflow-Zweig ersetzt den selbst erzeugten Notenplan durch eine Transkription. Die Nodes mit den IDs 18 bis 21 sind in der JSON-Datei auf Bypass gesetzt.
Dabei handelt es sich um AudioEncoderLoader, SheetSage2AudioToABC, LoadAudio und eine zweite Vorschau.
Für einen Cover-Versuch wird dieser Zweig wie folgt eingebunden:
Die vier Nodes werden aktiviert. In AudioEncoderLoader wird sheetsage2_bf16.safetensors ausgewählt.
In LoadAudio wird eine vorhandene Audiodatei hochgeladen. Der gespeicherte Name test_ref.wav ist nur eine Referenz; die Datei ist nicht im JSON enthalten.
In SheetSage2AudioToABC wird melody eingestellt.
Der abc-Ausgang dieses Nodes wird direkt mit dem abc-Eingang von YuE2GenerateMusic verbunden. Damit wird die bisherige Verbindung aus der oberen Vorschau ersetzt. Die untere Vorschau kann parallel angeschlossen bleiben.
Auch YuE2GenerateMusic wird auf melody gesetzt. Der obere ABC-Generator wird für diesen Lauf nicht mehr benötigt.
Stil und Lyrics werden in den zentralen Text-Nodes angepasst, anschließend wird der Workflow ausgeführt.
Die SheetSage2-Integration verlangt einen zur Transkription passenden Modus bei der Musikgenerierung. Im Modus melody wird die Begleitung freier gestaltet; bei full werden auch Akkordinformationen berücksichtigt.
Wie die Cover-Anleitung beschreibt, sollte die transkribierte Melodie vor dem Rendern überprüft werden. Fehler können in die neue Fassung übernommen werden. Neue Lyrics müssen außerdem zur Phrasierung passen; bei Übersetzungen ist die Silbenzahl relevant. Ein längerer deutscher Satz passt nicht automatisch auf dieselben Noten wie eine kurze englische Zeile.
Ich fand es sehr nützlich, dass zuerst ein ABC-Sheet erstellt wird, so hat man noch bevor der Song neu erstellt wird bereits ein Leadsheet, das man auch selbst nutzen kann:
Kompositionen gezielt überarbeiten
Eine interessante Anwendung des ABC-Zwischenschritts ist die Überarbeitung einer vorhandenen Komposition. Der Text aus der Vorschau kann gesichert, bearbeitet und danach direkt im abc-Feld von YuE2GenerateMusic eingesetzt werden. Dazu wird dessen bisherige ABC-Eingangsverbindung entfernt. Der Modus muss zur bearbeiteten Notation passen.
Für musikalische Änderungen sind beispielsweise Akkorde, Melodieverlauf oder Tempo Ansatzpunkte. Dabei muss die von YuE2 erwartete ABC-Struktur erhalten bleiben; beliebige ABC-Dateien sind nicht automatisch kompatibel. Auch ein Agent kann solche Änderungen vorbereiten, benötigt dafür aber musikalische Vorgaben und eine anschließende Kontrolle.
Bei dieser Bearbeitung wird eine neue vollständige Aufnahme erzeugt. Unveränderte Bereiche bleiben daher nicht zwangsläufig akustisch identisch. Für das präzise Austauschen einzelner Stellen in einer bestehenden Aufnahme ist dieser Workflow allein kein Ersatz für einen Audioeditor.
Die grundsätzliche Automatisierung von ComfyUI ist im Blog unter ComfyUI per API steuern beschrieben. Die hier vorliegende Datei enthält jedoch keine Agent-Anbindung.Vom Klick zum Script: ComfyUI per API steuern
Von der visuellen Workflow-Erstellung in ComfyUI bis zur automatisierten Mediengenerierung per API
https://blog.meister-security.de/vom-klick-zum-script-comfyui-per-api-steuern/
Fun-Factor
Ich hatte wirklich viel Spaß damit, Songs zu erstellen. Eigentlich schreibe ich ja hauptsächlich über securityrelevante Themen. So konnte ich es mir nicht nehmen lassen, Qwen3.8 meine Wazuh-Logs in eine Komposition umwandeln zu lassen:
Fazit
YuE2 macht die musikalische Planung als bearbeitbaren Zwischenschritt zugänglich und bietet damit einen konkreten Ansatz für neue Songs, Cover und Variationen. Der Dark-Metal-Versuch lässt sich mit den dokumentierten Texten und Workflow-Einstellungen nachbauen, sofern Modellname, Node-Verbindungen und verfügbarer Speicher zusammenpassen. Für die Bewertung zählen anschließend die hörbare Umsetzung und die geltenden Nutzungsbedingungen ebenso wie die Möglichkeiten des Modells.

Bei den drei Seeds wird jeweils der Zufallsstart einer anderen Stufe festgelegt. Eine Änderung des ABC-Seeds kann bereits die Komposition verändern. Der Musik-Seed wirkt auf die anschließende Token-Generierung, der KSampler-Seed auf die akustische Synthese. Für Vergleichsläufe bleiben zunächst alle drei Werte fest, während jeweils nur eine andere Einstellung verändert wird. Für eine neue Komposition kann mit dem ABC-Seed begonnen werden.
Für spätere Wiederholungen sollten Workflow, Checkpoint-Datei, ComfyUI-Version, Abhängigkeiten und erzeugter ABC-Text zusammen aufbewahrt werden. Ein fester Seed allein garantiert keine bitidentische Ausgabe über verschiedene Softwarestände und Geräte hinweg.
Der KSampler-CFG ist hier kein verlässlicher Regler für Texttreue. Im Graphen wird derselbe Conditioning-Ausgang von ID 22 sowohl an positive als auch an negative angeschlossen. Es fehlt damit die unterschiedliche Bedingung, aus der gewöhnliche Classifier-free Guidance ihre Richtung ableitet. Neuere Versionen von YuE2GenerateMusic bieten zusätzlich einen eigenen cfg_scale für die autoregressive Textführung; dieser ist vom KSampler-Wert zu unterscheiden. Für den ersten Lauf bleiben die gespeicherten Werte unverändert.
Auch 32 Sampling-Schritte sind zunächst eine Ausgangseinstellung. Eine Erhöhung bedeutet zusätzliche Berechnung, aber keine zugesicherte Verbesserung von Gesang, Textverständlichkeit oder Arrangement.
Eine vorhandene Aufnahme als Cover neu arrangieren
Der untere Workflow-Zweig ersetzt den selbst erzeugten Notenplan durch eine Transkription. Die Nodes mit den IDs 18 bis 21 sind in der JSON-Datei auf Bypass gesetzt.

Dabei handelt es sich um AudioEncoderLoader, SheetSage2AudioToABC, LoadAudio und eine zweite Vorschau.
Für einen Cover-Versuch wird dieser Zweig wie folgt eingebunden:
- Die vier Nodes werden aktiviert. In
AudioEncoderLoaderwirdsheetsage2_bf16.safetensorsausgewählt. - In
LoadAudiowird eine vorhandene Audiodatei hochgeladen. Der gespeicherte Nametest_ref.wavist nur eine Referenz; die Datei ist nicht im JSON enthalten. - In
SheetSage2AudioToABCwirdmelodyeingestellt. - Der
abc-Ausgang dieses Nodes wird direkt mit demabc-Eingang vonYuE2GenerateMusicverbunden. Damit wird die bisherige Verbindung aus der oberen Vorschau ersetzt. Die untere Vorschau kann parallel angeschlossen bleiben. - Auch
YuE2GenerateMusicwird aufmelodygesetzt. Der obere ABC-Generator wird für diesen Lauf nicht mehr benötigt. - Stil und Lyrics werden in den zentralen Text-Nodes angepasst, anschließend wird der Workflow ausgeführt.
Die SheetSage2-Integration verlangt einen zur Transkription passenden Modus bei der Musikgenerierung. Im Modus melody wird die Begleitung freier gestaltet; bei full werden auch Akkordinformationen berücksichtigt.
Wie die Cover-Anleitung beschreibt, sollte die transkribierte Melodie vor dem Rendern überprüft werden. Fehler können in die neue Fassung übernommen werden. Neue Lyrics müssen außerdem zur Phrasierung passen; bei Übersetzungen ist die Silbenzahl relevant. Ein längerer deutscher Satz passt nicht automatisch auf dieselben Noten wie eine kurze englische Zeile.
Ich fand es sehr nützlich, dass zuerst ein ABC-Sheet erstellt wird, so hat man noch bevor der Song neu erstellt wird bereits ein Leadsheet, das man auch selbst nutzen kann:

Kompositionen gezielt überarbeiten
Eine interessante Anwendung des ABC-Zwischenschritts ist die Überarbeitung einer vorhandenen Komposition. Der Text aus der Vorschau kann gesichert, bearbeitet und danach direkt im abc-Feld von YuE2GenerateMusic eingesetzt werden. Dazu wird dessen bisherige ABC-Eingangsverbindung entfernt. Der Modus muss zur bearbeiteten Notation passen.
Für musikalische Änderungen sind beispielsweise Akkorde, Melodieverlauf oder Tempo Ansatzpunkte. Dabei muss die von YuE2 erwartete ABC-Struktur erhalten bleiben; beliebige ABC-Dateien sind nicht automatisch kompatibel. Auch ein Agent kann solche Änderungen vorbereiten, benötigt dafür aber musikalische Vorgaben und eine anschließende Kontrolle.
Bei dieser Bearbeitung wird eine neue vollständige Aufnahme erzeugt. Unveränderte Bereiche bleiben daher nicht zwangsläufig akustisch identisch. Für das präzise Austauschen einzelner Stellen in einer bestehenden Aufnahme ist dieser Workflow allein kein Ersatz für einen Audioeditor.
Die grundsätzliche Automatisierung von ComfyUI ist im Blog unter ComfyUI per API steuern beschrieben. Die hier vorliegende Datei enthält jedoch keine Agent-Anbindung.

Fun-Factor
Ich hatte wirklich viel Spaß damit, Songs zu erstellen. Eigentlich schreibe ich ja hauptsächlich über securityrelevante Themen. So konnte ich es mir nicht nehmen lassen, Qwen3.8 meine automatisierte KI-Incident-Analyse in eine Komposition umwandeln zu lassen:
Fazit
YuE2 macht die musikalische Planung als bearbeitbaren Zwischenschritt zugänglich und bietet damit einen konkreten Ansatz für neue Songs, Cover und Variationen. Der Dark-Metal-Versuch lässt sich mit den dokumentierten Texten und Workflow-Einstellungen nachbauen, sofern Modellname, Node-Verbindungen und verfügbarer Speicher zusammenpassen. Für die Bewertung zählen anschließend die hörbare Umsetzung und die geltenden Nutzungsbedingungen ebenso wie die Möglichkeiten des Modells.

