Preprint · cs.SD (Sound) · 13 October 2026 · Not peer reviewed
A Study in B3
Evaluating YuE2-3B as a local replacement for Suno, across seven engines, one hundred clips, and one tavern
Abstract
In a previous paper [1], the author promised to stop using Suno on the day an ethically trained model sounded as good. This paper does not keep that promise. It checks on it.
We evaluate YuE2-3B, a three-billion-parameter open-weight song model run at 4-bit precision on a laptop, against six cloud engines and one open engine that could not be reached, across two controlled shootouts and one hundred rendered clips. Its developers report that, keeping the best of eight renders, it outscores every Suno model they tested on a benchmark of song quality [2]. We measured something smaller. Every prompt stated a tempo, a key and a meter. Asked for D minor, YuE2-3B delivered D minor in 3 of 15 renders and D-sharp minor in 7. Suno V6 delivered D minor in 8 of 10, ElevenLabs in 8 of 10, and Google’s two Lyria models in 1 of 10 each.
YuE2-3B is, however, the only engine that writes its intentions down. Alongside every song it produces a two-voice score in ABC notation, and its audio matches the key of that score in 20 of 20 renders. We conclude that the model follows instructions perfectly. They are simply its own. It renders six to ten times slower than real time, costs nothing, carries a non-commercial license, sings when asked not to, and was selected in part because its name contains a B and a 3.
Keywords text-to-music · local inference · key adherence · ABC notation · Hammond organ · D-sharp minor
1Introduction
In September the author published an account of how he makes songs with Suno [1]. It ends with a disclosure: these models learned from an ocean of music nobody agreed to teach from, and the day an ethically trained model sounds this good, he switches, along with everything he has built on top of it.
It is the kind of sentence that reads like a principle when you write it and like a deadline when you read it back. This paper is the reading back.
The question is narrow. Can an open model, running on a laptop, do the specific job Suno does in a working composer’s practice? That job is not “make music.” It is “make a version of this, in this key, at this tempo, without being asked twice.” A collaborator who cannot hear D minor is not a collaborator. It is a radio.
We tested one open model in depth and six others for comparison.11The author is one person. “We” is retained in accordance with academic convention and in recognition of the B3, in whose honor the model was selected. We chose YuE2-3B for three reasons, set out in Section 2. Two of them are good.
This paper makes the following contributions:
- We evaluate seven engines on one hundred rendered clips, each prompted with an explicit tempo, key and meter, and measure what came back.
- We show that YuE2-3B writes a two-voice score in ABC notation alongside every song, and that its audio matches the key of that score in 20 of 20 renders. The model is a faithful performer of a plan nobody asked for (Figure 1).
- We document a preference for D-sharp minor, a pull toward 2/4, and a habit of inserting exactly one bar of an odd meter and never mentioning it again.
- We report that, asked for an instrumental, the model wrote a vocal melody in ten plans of ten, and that ChorusPop, the app running it, translates the tag [instrumental] into the tag [Bridge].
- We report every prompt and seed (Appendices A and B).
2Model selection
2.1Criteria
Candidate models were required to satisfy three conditions:
- the weights are published;
- inference runs locally, on one laptop, without an account;
- the model’s name contains the characters B and 3, in any order.
Formally, for a model name s:
Conditions (i) and (ii) follow from the promise in [1]. A replacement for a subscription should not be another subscription, and a model that needs a data center is not a replacement. It is a different landlord. Condition (iii) is discussed below.
2.2The Hammond prior
The author plays Hammond organ and has a long-standing preference for the B3 (Figure 0).22The B3 was built from the mid-1950s until 1974 and weighs roughly four hundred pounds without its bench. Its sound comes from spinning tonewheels [3], each producing something close to a sine wave, blended by the drawbars in Figure 0. It was an additive synthesizer decades before anyone needed the phrase. This preference is not scientific. We include it because every evaluation has a prior, and most papers bury theirs in the related work.
Criterion (iii) proved less restrictive than intended. It admits YuE2-3B, but it also admits every model in the three-billion-parameter class, of which there are now a great many. The field appears to have been designing for the author for some time without telling him. The experiments in this paper were run on an Apple M4, which fails the criterion. We regret this.
2.3What YuE2-3B is
YuE2-3B comes from M-A-P, the open research group behind YuE [4], a family of lyrics-to-song models. Its developers describe a single network that first writes a score and then renders the audio from it [5], and their documentation calls the planning step chain of thought [2]. It thinks, in other words, in ABC. The version tested here has three billion parameters and was run at 4-bit precision on a Mac through ChorusPop, an app Casey Halverson built around it. M-A-P’s reference setup is a 24 GB graphics card without quantization [2]; this study used a laptop and four bits, and its results describe that configuration. We did not train the model or inspect its weights.
The app keeps the thought. Alongside every song it saves a file called plan.abc: a score in ABC notation33ABC is a plain-text music notation, first published in the early 1990s for trading folk tunes by email [6]. It is fitting that the model’s worst moment in this study was a folk tune. with a tempo, a key and a meter; two voices, one named Vocal Melody and one named Ins Melody; chord symbols; and section markers for intro, verse, chorus and interlude. Listing 1 reproduces one in full.
The plans describe complete songs, between 1:22 and 8:36 long. The renders are their first 60 or 90 seconds, stopped at the requested length. The ambient plan in Shootout II runs eight and a half minutes. One minute of it exists.
3Experimental setup
3.1Engines
Table 1 lists the engines. The three Suno models were reached through a third-party API and report themselves by internal names, which are birds. The flagship is chirp-hawk. The small one is chirp-goose. The one marked Wild is chirp-hawk-wild, which is the same bird with less supervision.
| Engine | Model ID | Weights | Ran on | Shootouts |
|---|---|---|---|---|
| YuE2-3B, 4-bit | yue2-3b-4bit@1 | open | local · Apple M4 | I, II |
| Suno V6 | chirp-hawk | closed | cloud API | I, II |
| Suno V6 Mini | chirp-goose | closed | cloud API | I |
| Suno V6 Wild | chirp-hawk-wild | closed | cloud API | I |
| ElevenLabs Music | music_v1 | closed | cloud API | I, II |
| Lyria 3.5 | lyria-3.5 | closed | cloud API | I |
| Lyria 3 Pro (preview) | lyria-3-pro-preview | closed | cloud API | I |
| ACE-Step 1.5 XL, turbo | acestep-v15-xl-turbo | open | shared GPU · free tier | II, attempted |
3.2Shootout I: five cues, one key
Five cues of the kind a game needs on an ordinary Tuesday: exploration, stealth, light combat, heavy combat and a cinematic suite. Every prompt opened with the same head, 80 BPM, mid-tempo, 4/4, D minor, instrumental, no vocals, followed by a shared description of the world and a paragraph specific to the cue (Appendix B). Clips were 90 seconds long.
The shared description originally named a living composer. ElevenLabs and both Lyria models decline prompts that do, so those three received a version that said in a modern blockbuster style in place of the name and was otherwise identical. The author’s own prompt tool, Songwright, has refused to name artists since the day it was built. He made an exception here, for comparability across engines, and three engines caught him. They were right.
YuE2-3B rendered three takes of each cue and every other engine two. The third YuE2-3B take tested a workaround, described in Section 4.5.
3.3Shootout II: five genres, five keys
The second shootout varied the target (Table 2). Clips were 60 seconds long. Two of the five genres asked for vocals and were given lyrics written by the author (Appendix C). An eighth engine, ACE-Step 1.5 XL, joined this round and is discussed in Section 4.6.
| Genre | BPM | Meter | Key | Vocals |
|---|---|---|---|---|
| ambient | 90 | 4/4 | A minor | no |
| orchestral | 140 | 4/4 | D minor | no |
| funk | 104 | 4/4 | E minor | no |
| tavern | 120 | 6/8 | D major | yes |
| credits | 126 | 4/4 | A major | yes |
3.4Measurement
For YuE2-3B we read tempo, key and meter from the header of its plan. For every engine, YuE2-3B included, we also measured the audio. Tempo was estimated with librosa [7] and scored with the two accuracy measures of Gouyon et al. [8]. A clip passes Accuracy 1 if its tempo T̂ is within 4% of the target T, and Accuracy 2 if it is within 4% after doubling, tripling, halving or thirding, which forgives an estimator for hearing the wrong level of the beat:
Key was estimated by correlating the clip’s average chroma c̄, which is how much of each of the twelve pitch classes the clip contains, with the twenty-four rotated Krumhansl–Kessler key profiles pk [9],
and scored with the weighted measure in mir_eval [10], which gives full credit for the right key and partial credit for near misses:
Nothing is given for D-sharp minor.44mir_eval gives half credit for an answer a fifth above the target and none for an answer a fifth below. This is a convention inherited from the MIREX evaluation campaigns. We did not ask why. All analysis code read the audio files directly; no engine was told it was being measured.
4Results
4.1Key
Table 3 and Figure 2 give the headline. Asked for D minor, the Suno models delivered it most of the time, ElevenLabs delivered it eight times in ten, and YuE2-3B delivered it three times in fifteen. The two Lyria models delivered it once each. Lyria also ignored the requested length and returned clips of about three minutes, so we infer that it treats a prompt as a mood board.
| Engine | n | Key exact | Key score | Acc 1 | Acc 2 | Acc 2 + dotted | Length |
|---|---|---|---|---|---|---|---|
| Suno V6, full prompt | 10 | 9/10 | 0.92 | 0/10 | 2/10 | 9/10 | 1:29 |
| Suno V6, same prompt | 10 | 8/10 | 0.84 | 0/10 | 0/10 | 8/10 | 1:29 |
| ElevenLabs Music | 10 | 8/10 | 0.82 | 0/10 | 4/10 | 9/10 | 1:30 |
| Suno V6 Wild | 10 | 7/10 | 0.76 | 0/10 | 0/10 | 9/10 | 1:29 |
| Suno V6 Mini | 10 | 6/10 | 0.67 | 0/10 | 0/10 | 8/10 | 2:46 |
| YuE2-3B | 15 | 3/15 | 0.23 | 0/15 | 1/15 | 7/15 | 1:30 |
| Lyria 3.5 | 10 | 1/10 | 0.15 | 0/10 | 2/10 | 10/10 | 2:58 |
| Lyria 3 Pro | 10 | 1/10 | 0.12 | 0/10 | 2/10 | 10/10 | 3:00 |
YuE2-3B’s misses were not random. Seven of its fifteen renders came back in D-sharp minor.
D-sharp minor is one semitone above D minor, the smallest distance two keys can have on a keyboard. On the circle of fifths it is five steps away, nearly the largest distance two keys can have in harmony (Figure 3). Of every wrong answer available, the model repeatedly chose the one that is closest and farthest at the same time. It also spelled it D-sharp minor, six sharps, rather than E-flat minor, which sounds identical and uses six flats.55Very little music is written in D-sharp minor. The best-known example is the eighth fugue of Bach’s Well-Tempered Clavier, Book I [11], which follows a prelude in E-flat minor, the same key spelled the other way, as if to apologize. In practice none of this matters, because a cue in D-sharp minor cannot be cut into a score in D minor without pitch-shifting it, and a pitch shift is the audio equivalent of a toupee.
Its other misses were in E minor, a whole step up, four times, and A minor once. Light combat came back in D-sharp minor three times out of three. At that point it is not an error. It is a preference.
The commercial engines have habits of their own. In Shootout II, Suno V6 was asked for a boss fight in D minor and returned D major, then asked for a tavern song in D major and returned D minor (Table 4). It is not wrong about the D.
| Genre · target | YuE2-3B | Suno V6 | ElevenLabs | ACE-Step |
|---|---|---|---|---|
| ambient90 · A minor | 172 · E♭ majorplan 91 · E♭ · 4/4 tempo ✗ · key ✗ | 92 · A minortempo ✓ · key ✓ | 118 · A minortempo ✗ · key ✓ | —quota |
| orchestral140 · D minor | 144 · D minorplan 140 · Dm · 4/4 tempo ✓ · key ✓ | 144 · D majortempo ✓ · key: parallel | 144 · D minortempo ✓ · key ✓ | —quota |
| funk104 · E minor | 103 · E minorplan 105 · Em · 4/4 tempo ✓ · key ✓ | 103 · E minortempo ✓ · key ✓ | 103 · E minortempo ✓ · key ✓ | —quota |
| tavern120 · D major | 92 · G minorplan 92 · Gm · 2/4 tempo ✗ · key ✗ | 123 · D minortempo ✓ · key: parallel | 118 · D majortempo ✓ · key ✓ | —quota |
| credits126 · A major | 123 · A majorplan 124 · A · 4/4 tempo ✓ · key ✓ | 129 · A majortempo ✓ · key ✓ | 123 · A majortempo ✓ · key ✓ | —quota |
| Total | tempo 3/5 · key 3/5 | tempo 5/5 · key 3/5 | tempo 4/5 · key 5/5 | 0/5 · 0/5 |
4.2Tempo
Tempo was harder to measure than to request. Our estimator placed most 80 BPM cues, from every engine, at 107.7 BPM. That is four thirds of 80, the signature of an estimator locking onto a dotted pulse instead of the beat, which is a forgivable mistake in music built almost entirely out of ostinatos. Under the standard Accuracy 2 measure the best lane, ElevenLabs, hit 80 BPM four times in ten, and most lanes never did. If the estimator is also forgiven the dotted pulse (×4/3, ×3/4, ×3/2 and ×2/3), the Suno and ElevenLabs lanes land at 8 or 9 of 10, Lyria at 10 of 10, and YuE2-3B at 7 of 15. We trust key more than tempo in this paper and recommend the reader do the same.
Fortunately YuE2-3B tells us which tempo it intended. Asked for 80, its plans ranged from 64 to 132 and landed within three BPM of the request twice in fifteen. At faster tempos it was much better: in Shootout II its planned tempo was within two BPM of the request in four genres of five. The exception was the tavern, which asked for 120 and was planned at 92. We suspect the model does not believe anyone wants 80 BPM. In a number of game studios, it would be right.
4.3The model follows its own plan
Observation 1.In every render, the key of YuE2-3B’s audio matches the key written in its plan: 20 of 20. Its tempo matches the plan’s in 14 of 20 by the standard measure, and in 19 of 20 if the estimator is forgiven its dotted pulse. The twentieth is the ambient cue, which has no pulse to forgive.
Corollary.The problem is the plan. ∎
This is the central result of the paper, and it reframes everything before it. YuE2-3B is not bad at following instructions. It is excellent at following instructions. The instructions are simply its own. Somewhere between the prompt and the plan, D minor becomes D-sharp minor, 6/8 becomes 2/4, and 80 becomes 132. From the plan onward, the model does exactly what it wrote down. In the one case where a plan was shorter than the requested length, the render stopped early too.
For a composer this is the most important property in the study, and no other engine has it. Every other engine in Table 1 is a black box: when it gets the key wrong, the only remedy is to ask again, which is how one arrives at sixteen thousand clips [1]. YuE2-3B shows its work, in a format a musician can read, before it plays a note. A plan can be argued with. According to its developers it can also be replaced: planning and synthesis are separate steps, and a user may bring their own ABC score [2]. We did not test this. If it works as described, one line changed from K:D#m to K:Dm, adherence stops being a property of the model and starts being a property of the person using it. The renderer has already shown that it will comply.
4.4Meter, and the single bar
Asked for 4/4 at 80 BPM, the model planned 2/4 in seven renders of fifteen. Asked for 6/8, it planned 2/4.66Both have two beats to the bar. In 2/4 each beat divides into two; in 6/8, into three. That is the entire difference between a march and a jig. A jig became a march.
Stranger is what happens after the meter is set. In six plans of twenty, the model inserts exactly one bar of an odd meter, 3/8 in four plans, 5/8 in one and 7/8 in one, and then returns to the original meter for the rest of the song. It never writes two. Four of these bars fall inside the rendered audio, between seven and fifteen seconds in. The orchestral cue, which otherwise hit 140 BPM in D minor exactly, plays its single bar of 7/8 at 0:15 (Section 4.7).
The other two exist only on paper. The exploration plan ends on its bar of 5/8 at 3:34, two minutes after the render stopped, like a sentence finished in another room. The tavern’s bar of 3/8 falls at 1:19. The render stopped at 1:00, just after the held G that ends the first chorus, so that bar has never been played, and neither has the second verse, which begins The bard knows one song and this is it. The bard, it turns out, knows one verse. Listing 1 plays the whole plan, including the parts that were never rendered.
Press play to hear the plan, including the forty-two seconds that were never rendered.
The plan as written · ABC source
X:1 T: M:2/4 L:1/32 Q:1/4=92 V: Vocal clef=treble name="Vocal Melody" snm="Vocal" V: Ins clef=treble name="Ins Melody" snm="Inst." K:Gm % intro V: Vocal Z2|"Gm"z16|"Gm"z16| V: Ins Z|z12g2a2|b2a2g2f2g2d2d2c2|d2f2f2d2c2B2B2A2| V: Vocal "Gm"z16|"Gm"z16|"Gm"z16|"Gm"z16| V: Ins B2A2B2c2d2e2d2c2|d8z4g2a2|b2a2g2f2g2d2d2c2|d2f2f2d2c2B2B2A2| V: Vocal "Gm"z16|"Gm"z16|"Gm"z16|"Gm"z16| V: Ins B2A2B2c2d2e2d2c2|d12g2a2|b4g4g4d4|d4f4f4B4| V: Vocal "Eb"z8"F"z8|"Gm"z16|"Gm"z16|"Gm"z16| V: Ins B4d4c4A4|G12g2a2|b4g4g4d4|d4f4f4B4| V: Vocal "Eb"z8"F"z8|"Gm"z12D4| V: Ins B4d4c4A4|G12z4| % verse V: Vocal "Gm"G8G4A4|"Gm"B8z4d4|"F"c8A8|"Gm"G8G4A4| V: Ins Z4| V: Vocal "Eb"B8G8|"Bb"F8D6D2|"F"C8F8|"Gm"D8z4D4| V: Ins Z4| V: Vocal "Gm"G8A8|"Gm"B12d4|"F"c8A8|"Gm"G8z4A4| V: Ins Z4| V: Vocal "Eb"B8G8|"Bb"F8D6D2|"F"C8F8|"Gm"G16-| V: Ins Z4| V: Vocal "Gm"G16| V: Ins Z| % chorus V: Vocal "Gm"z4d2d2d4B2B2|c4c2d2c4B4|"Eb"B2B2B2B2B4d4|c4B2A2G4z4| V: Ins Z4| V: Vocal "Gm"z4d2d2d4B2B2|c4c2d2c4B2A2|"Eb"B4B4B4d4|c4B4A4F4| V: Ins Z4| V: Vocal "Gm"G16-|"Gm"G16|"Gm"z16|"Gm"z16| V: Ins Z2|G8G8|G8G4G2A2| % interlude V: Vocal "Gm"z16|"Gm"z16|"Eb"z8"F"z8|"Gm"z16| V: Ins B4G4g4d4|d4f4f4B4|B4d4c4A4|G12G2A2| V: Vocal "Gm"z16|"Gm"z16|"Eb"z8"F"z8|"Gm"z12G4| V: Ins B4G4g4d4|d4f4f4B4|B4d4c4A4|G12z4| % verse V: Vocal "Gm"G8A8|"Gm"B8d8-|"Gm"d16-|"Gm"d8z4B4| V: Ins Z4| V: Vocal "F"c16|"F"A16| V: Ins Z2| V: Vocal M:3/8 "Gm"G12| V: Ins M:3/8 Z| V: Vocal M:2/4 "Gm"z12A4|"Eb"B16|"Eb"G16|"Bb"F8z8| V: Ins M:2/4 Z4| V: Vocal "Bb"z4D4D4D4|"F"C16-|"F"C8z8|"F"F16| V: Ins Z4| % interlude V: Vocal "Gm"G16-|"Gm"G16-|"Gm"G16-|"Gm"G16| V: Ins Z4| V: Vocal "Gm"z16|"Gm"z16|"Gm"z16|"Gm"z16| V: Ins G4z2G2G2z2G2z2|G2z4G2G2z2G2z2|G4z2G2G2z2G2z2|G4z12| V: Vocal "Gm"z16| V: Ins Z|
4.5“Instrumental, no vocals”
Every prompt in Shootout I said instrumental, no vocals. Every plan contained a voice named Vocal Melody anyway. With the lyrics field left empty, that voice was given notes to sing in ten plans of ten: 191 on average, and 486 in one heavy-combat cue that was, on any reading of the prompt, not supposed to have a singer (Table 5).
The model appears to believe, at a structural level, that all music has a vocalist. It is not wrong about most music.
The workaround was found by accident. Filling the lyrics field with section tags and no words reduced the vocal melody to zero notes in four plans of five. Along the way we found that ChorusPop translates the tag [instrumental] into the tag [Bridge] before the model sees it. Its documentation lists four section tags, and [instrumental] is not one of them. A bridge is, traditionally, the part of a song where something new is said. The model was asked, in effect, to say something new with no words, and it mostly complied.
| Lyrics field | Plans | With a vocal melody | Mean notes | Most notes |
|---|---|---|---|---|
| EmptyShootout I, takes 1–2 | 10 | 10 | 191 | 486 |
| Section tags, no wordsShootout I, take 3 | 5 | 1 | 3 | 15 |
| [instrumental], fed as [Bridge]Shootout II | 3 | 2 | 97 | 260 |
| LyricsShootout II, tavern and credits | 2 | 2 | 104 | 104 |
4.6Speed, cost, and the eighth engine
YuE2-3B rendered a minute of audio in five to eight minutes on an Apple M4 at 4-bit precision, a real-time factor of about six,
and was slower still on the 90-second cues of Shootout I, at roughly fifteen minutes each. The cloud engines returned a minute of audio in ten to thirty-six seconds, and Suno returns two clips per request (Figure 5). By this measure YuE2-3B is thirteen times slower than Suno and eighteen times slower than ElevenLabs. The model itself is not slow. On an RTX 4090, without quantization, its developers report a 3.6-minute song in 71 seconds, three times faster than real time [2]. On the laptop, at four bits, it ran about nineteen times slower than that, which is the price of criterion (ii). It is also the only engine in the study that costs nothing, needs no account, and would work on an airplane. These are not small things. Neither is waiting fifteen minutes to learn that the key is D-sharp minor.
The eighth engine, ACE-Step 1.5 XL, is open and fast and was meant to be the paper’s second open model. To avoid making an account, the author reached it through a free shared GPU, which violates criterion (ii). The first request ran for three and a half minutes and returned GPU task aborted. The next three were refused with the following message, which we reproduce in full because it is the most precise sentence any engine produced in this study:
You have exceeded your ZeroGPU quota (180s requested vs. 0s left). Try again in 23:48:02.
ACE-Step therefore scores zero on every measure, which reflects nothing about the model and everything about the author’s reluctance to make an account. Its name, we note, contains neither a B nor a 3.
4.7Listening
Selected clips follow. Each lists what was asked, what YuE2-3B planned where it planned, and what we measured. Nothing loads until you press play.
The tavern · Shootout II · asked 120 BPM, 6/8, D major
YuE2-3B on its own · Shootout II
Light and heavy combat · Shootout I · asked 80 BPM, 4/4, D minor, instrumental
YuE2-3B renders were made with YuE2-3B by M-A-P, whose weights are released under CC BY-NC 4.0, and are shared under the same license, unedited, for non-commercial critique. Suno and ElevenLabs renders were generated under the author’s accounts.
5Discussion
Is YuE2-3B a replacement for Suno? Not yet, and not for the job described in [1]. It hit the requested key in three of fifteen slow cues, it sings when asked not to, and it takes long enough per render that a person can make a pour-over and drink most of it.
That verdict sits awkwardly beside the model card. On WildSongBench, a set of 192 song prompts, YuE2, keeping the best of eight renders, posts the highest SongBench average of any model its developers evaluated: 6.96, against 6.87 for Suno V5, 6.56 for Suno V6 and 6.42 for Suno V6 Wild [2]. The findings are not in conflict. SongBench asks whether a song is good. This paper asks whether it is in D minor.
Best of eight also means eight renders to keep one. On the laptop in Section 4.6, eight one-minute renders take about 49 minutes, and even the card’s standard setting keeps the better of two. Every render this paper made is reported, including the ones a selection step would have discarded.
There is also a paperwork problem. YuE2-3B’s weights are released under CC BY-NC 4.0 [2], and ChorusPop stamps the same license on the files it exports. The N and the C stand for non-commercial. The original YuE is listed under Apache 2.0, which permits commercial use; in this one respect, progress has gone the other way. The author’s job consists of writing music that ships inside products people pay for, which is commercial in the most literal sense available. We did not investigate how that license applies to model output, which is a question for a different kind of paper and a different kind of professional. We note only that a replacement for Suno that cannot be used for work is, for the purposes of this paper, a very well-documented hobby.
But the question in the introduction turns out to be the wrong question, and the plan file is why. The job Suno does in the author’s practice is not generation. It is the round trip, source to generation to Pro Tools to generation to Pro Tools, repeated until the thing stops lying [1]. The round trip exists because the commercial engines cannot be corrected, only asked again. YuE2-3B is the first model the author has used that can, in principle, be corrected: it writes a score, and then it plays the score. An open model with an editable plan is not a worse Suno. It is a different instrument, closer to a player piano than to a session musician, and the author has spent eighteen years writing music for systems that play exactly what they are given.
The B3 criterion did not predict quality. It did not predict the opposite either.
6Limitations
- One hundred clips is a shootout, not a census. Most engine-and-cue cells hold two takes.
- Tempo estimation at slow tempos was unreliable (Section 4.2). Our conclusions rest on key.
- That
plan.abcis written before the audio rests on M-A-P’s description of the model [5], whose reference pipeline callsplan()before it generates any sound [2], and on the files. We did not observe the order inside ChorusPop. The evidence in the files: the file is called plan; its section markers follow the lyrics; its vocal voice changes when the lyrics field changes; its plans run longer than the renders they describe; and when a plan was shorter than the requested length, so was the render. If it is instead a transcription, Section 4.3 is an elaborate way of measuring a model against itself, which is roughly what Section 4.3 concludes anyway. - YuE2-3B was run at 4-bit precision on one laptop, not in the unquantized GPU setup its developers describe [2]. It may behave differently there. We did not test this.
- Three engines received a name-free prompt because they refused the original (Section 3.2), so the lanes are not perfectly matched.
- Suno V6 Mini and both Lyria models ignored the requested length. We analyzed the first 120 seconds of every clip.
- The author has a sixteen-thousand-clip relationship with one of the engines under test [1] and should not be considered neutral.
7Ethics statement
Open weights are not ethical training. Running a model in one’s own house does not change what it learned from. YuE2-3B’s model card does not describe its training data, and we have not verified where it came from. The promise in [1] is about how a model was trained, not where it runs. This paper therefore does not keep that promise. It only checks on it, and for now the answer is no.
The author broke his own rule against naming living artists in prompts, for the sake of comparison. Three engines refused. They were right.
All YuE2-3B inference ran locally: no prompt, lyric or audio left the house for that engine. The cloud engines are discussed in [1].
The YuE2-3B renders and the plan in Listing 1 are shared under CC BY-NC 4.0, the license of the model’s weights and the one ChorusPop stamps on its exports, with attribution to M-A-P, for non-commercial critique. The audio has not been edited; the plan carries two annotations, marked as ours.
Acknowledgments
The author thanks M-A-P, for releasing the weights and a model that shows its work; Casey Halverson, for ChorusPop, which runs YuE2-3B on a laptop; the M4, which rendered for about four hours without complaint; and the ZeroGPU quota, for its candor. This work received no funding, which is reflected in the sample size.
References
- [1]T. Kocher. Sixteen thousand clips and one honest sentence. tedkocher.com, 2026.
- [2]M-A-P. YuE2-3B model card. Hugging Face, 2026. huggingface.co/m-a-p/YuE2-3B, accessed 13 October 2026.
- [3]L. Hammond. Electrical musical instrument. U.S. Patent 1,956,350, 1934.
- [4]R. Yuan et al. YuE: Scaling open foundation models for long-form music generation. arXiv preprint arXiv:2503.08638, 2025.
- [5]R. Yuan et al. YuE2: Unifying symbolic and audio music generation at frontier quality. arXiv preprint arXiv:2609.33757, 2026.
- [6]C. Walshaw. The abc music standard 2.1. abcnotation.com, 2011.
- [7]B. McFee et al. librosa: Audio and music signal analysis in Python. Proceedings of the 14th Python in Science Conference, 2015.
- [8]F. Gouyon, A. Klapuri, S. Dixon, M. Alonso, G. Tzanetakis, C. Uhle and P. Cano. An experimental comparison of audio tempo induction algorithms. IEEE Transactions on Audio, Speech, and Language Processing 14(5):1832–1844, 2006.
- [9]C. L. Krumhansl and E. J. Kessler. Tracing the dynamic changes in perceived tonal organization in a spatial representation of musical keys. Psychological Review 89(4):334–368, 1982.
- [10]C. Raffel et al. mir_eval: A transparent implementation of common MIR metrics. Proceedings of the 15th International Society for Music Information Retrieval Conference, 2014.
- [11]J. S. Bach. Das wohltemperirte Clavier, Book I, Prelude and Fugue No. 8 in E-flat minor / D-sharp minor, BWV 853. 1722.
AEvery YuE2-3B render
All twenty renders, with the seed ChorusPop reported, the plan’s header, what we measured, and anything unusual in the plan. The author has not tested whether the seeds reproduce, and suspects the answer is in D-sharp minor.
| # | Shootout | Cue | Take | Seed | Plan BPM | Plan key | Meter | Audio BPM | Audio key | Agrees | Vocal notes | Plan length | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | I | exploration | 1 | 507973155 | 95 | D♯ minor | 4/4 | 123.0 | E♭ minor | ✓ | 235 | 3:57 | |
| 2 | I | exploration | 2 | 255454387 | 86 | E minor | 4/4 | 117.5 | E minor | ✓ | 54 | 3:36 | one bar of 5/8 at 3:34, after the render |
| 3 | I | exploration | 3 | 618604008 | 90 | E minor | 4/4 | 123.0 | E minor | ✓ | 0 | 3:33 | section-tag lyrics |
| 4 | I | stealth | 1 | 798974568 | 80 | E minor | 2/4 | 107.7 | E minor | ✓ | 163 | 4:24 | |
| 5 | I | stealth | 2 | 775445599 | 90 | D♯ minor | 4/4 | 92.3 | E♭ minor | ✓ | 35 | 2:13 | |
| 6 | I | stealth | 3 | 681444963 | 120 | A minor | 4/4 | 117.5 | A minor | ✓ | 0 | 1:56 | section-tag lyrics |
| 7 | I | combat light | 1 | 679763672 | 86 | D♯ minor | 2/4 | 112.3 | E♭ minor | ✓ | 165 | 3:58 | |
| 8 | I | combat light | 2 | 422193890 | 82 | D♯ minor | 2/4 | 161.5 | E♭ minor | ✓ | 151 | 3:11 | |
| 9 | I | combat light | 3 | 164919987 | 72 | D♯ minor | 2/4 | 143.6 | E♭ minor | ✓ | 15 | 4:29 | one bar of 3/8 at 0:10; section-tag lyrics |
| 10 | I | combat heavy | 1 | 437920893 | 120 | D♯ minor | 4/4 | 117.5 | E♭ minor | ✓ | 78 | 2:22 | |
| 11 | I | combat heavy | 2 | 306529947 | 132 | D♯ minor | 4/4 | 129.2 | E♭ minor | ✓ | 486 | 5:25 | |
| 12 | I | combat heavy | 3 | 970632198 | 84 | D minor | 2/4 | 172.3 | D minor | ✓ | 0 | 1:22 | one bar of 3/8 at 0:15; section-tag lyrics |
| 13 | I | cinematic suite | 1 | 682116000 | 69 | D minor | 2/4 | 136.0 | D minor | ✓ | 307 | 3:25 | |
| 14 | I | cinematic suite | 2 | 599811403 | 126 | D minor | 4/4 | 129.2 | D minor | ✓ | 235 | 4:59 | |
| 15 | I | cinematic suite | 3 | 896471348 | 64 | E minor | 2/4 | 129.2 | E minor | ✓ | 0 | 2:33 | one bar of 3/8 at 0:07; section-tag lyrics |
| 16 | II | ambient | 1 | 1027282783 | 91 | E♭ major | 4/4 | 172.3 | E♭ major | ✓ | 0 | 8:36 | fed [Bridge] |
| 17 | II | orchestral | 1 | 3552691859 | 140 | D minor | 4/4 | 143.6 | D minor | ✓ | 32 | 2:59 | one bar of 7/8 at 0:15; fed [Bridge] |
| 18 | II | funk | 1 | 3445152386 | 105 | E minor | 4/4 | 103.4 | E minor | ✓ | 260 | 4:02 | fed [Bridge] |
| 19 | II | tavern | 1 | 562904028 | 92 | G minor | 2/4 | 92.3 | G minor | ✓ | 103 | 1:42 | one bar of 3/8 at 1:19, after the render |
| 20 | II | credits | 1 | 281627738 | 124 | A major | 4/4 | 123.0 | A major | ✓ | 104 | 1:50 |
BPrompts
Shootout I
Every Shootout I prompt is the head, then the world, then one cue paragraph.
Head. 80 BPM, mid-tempo, 4/4, D minor, instrumental, no vocals.
World. Modern hybrid orchestral film score in a modern blockbuster style: orchestra fused with dark synths, no rock drums, no guitars. This is the version ElevenLabs and Lyria received. The YuE2-3B and Suno lanes received the same sentence with a living composer’s name in place of in a modern blockbuster style (Section 3.2).
Exploration. Exploration cue: patient and wondrous, warm evolving synth pads, sub drone, soft string ostinato, sparse solo cello motif, felt piano, gentle orchestral percussion, never climactic.
Stealth / Tension. Stealth tension cue: ticking synth pulse, col legno strings, low processed cello fragments, cold dissonant pads, sub heartbeat, metallic swells, no release.
Light Combat. Light combat cue: driving spiccato string ostinato, pulsing synth bass, taiko and frame drums, darting staccato brass motif, urgent but restrained.
Heavy Combat. Heavy combat cue: pounding taiko and orchestral percussion, braams, heroic low brass theme, saturated synth bass, relentless string ostinato, maximum intensity.
Cinematic Suite. Cinematic suite: intimate solo cello theme grows to French horns, choir and full orchestra with taiko and synth pads at the peak, then resolves quietly.
Shootout II
ambient. 90 BPM, 4/4, A minor, instrumental, no vocals. Modern ambient electronic for open-world exploration: slowly evolving analog synth pads, modular arpeggios, warm sub bass, wide and patient. All percussion is live and human-played: brushed drum kit, hand percussion and frame drum, close and room mics, loose natural timing. No drum machine, no programmed drums.
orchestral. 140 BPM, 4/4, D minor, instrumental, no vocals. Hybrid orchestral action cue for a boss fight: driving spiccato strings, heavy low brass theme, dark synth bass under the orchestra. All percussion is live and human-played: taiko ensemble, orchestral snare drums and timpani recorded in a large hall, real stick attack and dynamics. No drum machine, no programmed drums.
funk. 104 BPM, 4/4, E minor, instrumental, no vocals. Jazz-funk hub and shop theme for a video game: round electric bass, Rhodes electric piano, clavinet, tight horn section stabs, relaxed and friendly. The drums are a live pocket drummer on an acoustic kit with ghost notes, open hi-hat and small human push and pull, dry room sound. No drum machine, no programmed drums.
tavern. 120 BPM, 6/8, D major, with vocals. Fantasy tavern folk song for a video game: fiddle lead, bouzouki, tin whistle, a plain male lead voice and a rowdy group chorus singing together. All percussion is live and human-played: bodhran, hand claps, boot stomps on a wooden floor, one room, no click. No drum machine, no programmed drums.
credits. 126 BPM, 4/4, A major, with vocals. End-credits indie rock anthem for a video game: chiming electric guitars, piano, melodic bass, an earnest lead vocal, a big final chorus. The drums are a live acoustic drum kit played by a human drummer, roomy and dynamic, real cymbals, fills that rush slightly. No drum machine, no programmed drums.
CLyrics
Written by the author for Shootout II. Unlike the keys, intentional.
Tavern · fantasy folk, 6/8
verseThe innkeeper says the stew is fineIt was fine last week and the week before
I sold nine swords to buy one shield
Then left the shield by the cellar door
chorusRaise a cup to the quest we forgot
The map is upside down, we like it a lot
Raise a cup to the rats in the hall
We were sent to clear them and we fed them all
verseThe bard knows one song and this is it
He plays it slow when the fire is lit
Credits · end-credits anthem
verseThe save file says one hundred hoursMost of that was the fishing game
I beat the final boss on Tuesday
He seemed tired, I felt the same
chorusSo roll the names and roll them slow
Everyone who made the snow
Thank you to the testing crew
For every wall that let me through
verseThe menu music plays again
I put the controller down at ten
DHow to cite
@misc{kocher2026b3,
title = {A Study in {B3}: Evaluating {YuE2-3B} as a Local
Replacement for {Suno}, Across Seven Engines,
One Hundred Clips, and One Tavern},
author = {Kocher, Ted},
year = {2026},
month = oct,
howpublished = {\url{https://tedkocher.com/b3.html}},
note = {Preprint. Not peer reviewed. DOI: none.}
}