The presenter takes a Beethoven melody, chooses theatrical hard rock and gives the song the words “Where’s My Wallet”. In another example, Jingle Bells moves into a minor key. YuE2 can use a familiar melody as the basis for a new sound; before generating the recording, it writes a score that can be edited. The detailed demonstration moves from those examples to a laptop run and the settings that shape its result.

First songs and languages

The presenter introduces YuE2 as a music generator that can create songs, produce covers and edit existing compositions. In his assessment, it is the best open-source music generator available at the time of the review. He immediately highlights two points: running it with 4 GB of VRAM or less, and a song-quality comparison that he returns to after the demonstrations. He then moves to musical examples, displaying the prompt that specifies each song’s genre and style separately from its lyrics.

The first example is a jazz song with an atmosphere the presenter describes as smoky jazz. Its lyrics evoke clinking glasses, a quiet tune, low lights, whispers, neon smiles and a quiet laugh. The next composition is specified as boogie-woogie in the style of the 1930s. Its lyrics revolve around wanting to dance: the character cannot stand still, addresses John, asks him to hear the rhythm and invites him to spin around a crowded room. The presenter plays both results as examples of different style prompts.

After the English-language compositions, the presenter demonstrates other languages. The Spanish example is specified as flamenco; its lyrics mention olive trees, streets, climbing a slope, the breeze, Santa Catalina and Jaen. This is followed by a Russian example in a folktronica style and a Korean example in an emo style. He uses these three demonstrations to illustrate the stated support for different languages.

Covers and successive editing

The next group of examples uses another song as an audio reference. The presenter explains that an existing composition’s melody can be retained while its musical style changes. His first transformation uses Auld Lang Syne, which he asks to turn into groovy jazz funk. The played excerpt retains the familiar words about old acquaintances. This introduces a workflow in which the original song supplies the melodic basis while a new style description specifies a different sound.

The second example uses a Beethoven piece. The presenter says listeners will probably recognize the melody but does not identify the composition. He specifies theatrical hard rock for the new version and reduces the lyrics to “Where’s My Wallet.” He then uses Jingle Bells as a reference and asks for a minor version. Across this sequence, the demonstrations change style, lyrics and mode. The presenter describes YuE2 as highly flexible and calls it the only open-source generator at that point capable of making good-sounding covers.

The presenter also demonstrates successive edits through an AI agent. He mentions agents called “GPT-6 Astra” and GLM that can be asked to generate and modify music. The example starts with a pop song. The first instruction preserves its melody and lyrics while making it more jazzy through reharmonization. After hearing the intermediate result, the presenter feels it is still insufficiently jazzy and asks the agent to remove the guitar. The same song undergoes two edits: first its harmony changes, then the guitar is removed. Both changes are requested through text commands.

The score and model comparisons

Before installation, the presenter explains YuE2’s operating principle. In his description, the generator first writes an editable score and then produces the complete audio. The displayed intermediate representation contains notes for both the vocal and instrumental parts, together with the key and tempo. He likens it to a basic musical score and describes it as the backbone of subsequent generation. He attributes flexible editing to this intermediate representation, including making covers, replacing lyrics and changing from major to minor.

The presenter then returns to model comparisons. In the song quality index he displays, YuE2 ranks above open models named Minimax Music and “ACE-Step 1.5,” as well as the closed models Suno V6 and Suno 5.5. He explicitly notes, however, that YuE2 performs slightly below Suno V5. Within that same comparison, Suno’s fifth version ranks above versions 5.5 and 6, which he finds interesting.

Preparing ComfyUI and downloading models

For local use, the presenter chooses ComfyUI. He explains that the project’s GitHub page already contains instructions, but the standard approach involves Python code that may not be intuitive for everyone. The subsequent demonstration therefore uses a visual interface. It assumes ComfyUI is already installed: he opens the update directory in its root folder and double-clicks the displayed update BAT file. Once the update finishes, he presses any key, closes the window and starts a fresh ComfyUI session.

He next downloads a ready-made workflow in JSON format. It can be saved anywhere; in the demonstration he places it in the ComfyUI root folder and drags it onto the interface. This opens a prebuilt workflow, avoiding the need to assemble the entire node chain manually. A missing-models message may appear when it is first opened. The presenter addresses that situation by downloading the components required by the imported workflow.

The first required component is the audio encoder. The presenter opens the audio_encoders folder on the download page and selects a 1.4 GB file. He saves it inside ComfyUI, under models and then audio_encoders. This component is used by the lower workflow section that accepts source audio for a cover. The audio encoder is downloaded separately from the main checkpoint, which he chooses in the following step.

There are two checkpoint options. The full BF16 version occupies 7.8 GB, while the smaller quantized version occupies 3.96 GB. The presenter says the smaller option can be chosen with less than 4 GB of VRAM. Since he has sufficient memory, he downloads the full model, which he estimates should fit in around 8 GB of VRAM. This file goes into models/checkpoints inside ComfyUI. The download sizes and his VRAM estimates describe different quantities in his explanation.

After saving the models, the presenter returns to the interface and presses R to refresh the model list. In Load Checkpoint, he opens the dropdown and selects the downloaded BF16 checkpoint. He explains that selecting the installed model should clear the error messages. This completes the preparation of the displayed workflow, and he moves to its two main parts: generating a song from text and using an audio file as a reference.

Text generation and settings

The upper part of the workflow creates a song from text, while the lower part handles audio references and covers. For the first approach, the style prompt describes genre, style, pacing, instruments and other desired characteristics. The presenter uses future bass with the attributes modern, energetic and inspiring. Lyrics go into a separate field. This accepts structural metatags for verses, intro, outro, bridge, chorus and pre-chorus; the demonstration uses just one verse and one chorus.

The inputs pass through Generate ABC, which produces musical notation. After generation, the notation can be viewed in a preview. The presenter explains that the displayed notes specify both the vocal and instrumental melodies throughout the song. The next stage receives that notation together with the style prompt and lyrics and produces the music. The workflow thus shows the previously described principle: an intermediate score is generated first and then passed to the audio generation stage.

The generation node sets a maximum song duration in seconds. The example uses 360 seconds, or six minutes. The presenter emphasizes that this is an upper limit and initially says shorter lyrics will produce a shorter song. The workflow then uses KSampler. He describes the seed as a song’s unique identifier: it is currently fixed at 7. With identical prompts and settings, he says, the same result will recur. To obtain a different song with the same style and lyrics, he suggests changing the seed or enabling randomization afterward.

The steps setting determines the number of generation steps. The presenter describes a tradeoff: more steps generally improve quality, in his account, but take longer, while fewer steps produce a result faster. He keeps the default of 32. He explains CFG as how literally the generator follows the prompt. If the style is insufficiently respected or errors appear in the lyrics, he suggests increasing CFG slightly. Sampler and scheduler are described as generation algorithms, and he leaves those at their defaults as well.

Decoding and the generated result

The next stage is decoding. A workflow note says that a regular decode can be used with sufficient VRAM and is substantially faster. The presenter assumes this means more than 12 GB; he presents that threshold as approximate. For less memory, he recommends tiled decoding. Since his GPU has more than 12 GB, he selects the regular version for this run and changes the workflow connections.

To switch paths, the presenter holds Shift, clicks the existing connection and drags it to the regular decoder’s input. He then connects its audio output to the next node. He disables the unused decoding variant with Ctrl+B, putting that node into bypass. The result should then reach the workflow’s final audio output. He presses Run to generate with the previously entered style, lyrics and settings.

After the run, the presenter shows the statistics: generation took just over two minutes on his laptop with an RTX 5000 and 16 GB of VRAM. He brings the style prompt and lyrics into view and plays the result. The lyrics describe roads the character never chose, closed doors, starting to act and turning dreams into works of art. The excerpt ends with the idea that knowing the ending is unnecessary if there is a spark and the courage to follow it. The timing refers to this particular run on the stated laptop.

The result reveals a duration problem: the music continues much longer than expected from the entered lyrics. The presenter says he should have reduced the maximum duration to better fit the words. The displayed run therefore does not fully match his earlier explanation that shorter lyrics produce a shorter song. He then returns to Preview ABC and again shows the intermediate notation for the vocal and instrumental parts.

Instrumental music

For an instrumental composition, the presenter uses the same text-based workflow. The style prompt requests epic cinematic orchestral music for a battle scene and explicitly includes instrumental only. He still fills the lyrics field, replacing sung words with a description of the desired instruments in square brackets. His example specifies a steady buildup of staccato strings and ethnic drums. He then plays the generated result, demonstrating a specific way to populate the two fields for music without vocals.

A cover from an audio reference

To switch to an audio reference, the presenter enables the lower part of the workflow. Holding Ctrl, he selects the purple nodes and presses Ctrl+B to take them out of bypass. This chain accepts an audio excerpt and produces ABC notation for subsequent song generation. It replaces the upper Generate ABC node, which previously produced the score from text. He therefore selects the upper Generate ABC and its connected Preview and uses Ctrl+B again, this time to disable those two nodes.

He connects the lower chain’s output to Generate Music, so the new song’s score now comes from the audio-reference section. In Load Audio Encoder, he opens the dropdown and chooses the encoder downloaded earlier. He uploads and plays a song excerpt. The displayed material includes words about someone walking away while the character’s heart breaks. This excerpt supplies the source material for the next transformation.

The reference section offers a choice between using the melody alone and using the full song. The presenter calls the difference fairly subtle, but recommends melody only for a cover or for copying specifically the melody. He then moves to the generation inputs: the new style description and lyrics that accompany the score extracted from the uploaded audio.

For the demonstration cover, the presenter retains the reference’s lyrics. His style prompt requests jazz with casual piano, saxophone, double bass and brushed drums. After pressing Run, he plays the new version, which again includes the line about watching someone walk away while the character’s heart breaks. He then clarifies that retaining the original lyrics is optional: the words can be replaced, including making the singer perform in another language.

Licenses and an unresolved question

In the September 15 review, the presenter addresses licensing separately. He says YuE2’s code and documentation are under Apache 2, which he characterizes as minimally restrictive. The model weights use a different license: Creative Commons with a noncommercial condition. He cites wording about use not being primarily intended or directed toward commercial advantage or monetary compensation. He does not reach a definitive conclusion for a specific case, explicitly saying he is unsure whether a generated song can be posted on Spotify and earn money.