Fretwork: Rating the marfGH Tiers with MATH

I’m known for doing multiple thousand word spews on albums on Letters as of late, so I’m here with something a little more digestible and like how I used to use the blog: weird fixations! I recently learned of a community tool that can actually score Guitar Hero and Rock Band songs based on difficulty, giving at least a repeatable, robotic second opinion to the very fallible world of difficulty scoring and tiering. I happen to be in the final stages of putting together a new marfGH, and got in touch with the dev to get raw Guitar Hero II game files supported within this tool. What’s the data, and how’s my tiering? Let’s dig in!

The Guitar Hero and Rock Band difficulty problem

I’m going to assume you’ve played and have a decent working knowledge of Guitar Hero and Rock Band‘s career modes, but if you don’t, Staycation, the fine gentleman that put together Fretwork, actually has a video explaining not just the tool, but the problem it solves. This video is rapidly on its way to being up there with ExileLord’s “How I Fixed a 10 Year Old Guitar Hero Bug Without the Source Code” video as one of my favorite rhythm game hacking and modding videos, but if you’re not in the mood to watch it (nicely put together as it is, and I’m going to steal that “EQing the background music to not compete with my voice” trick), let me summarize in text.

Guitar Hero and Rock Band‘s difficulty progression works by giving you increasingly difficult songs to play. Early Guitar Hero games (like II, what I mod for marfGH) used hardcoded tiers to roughly demonstrate the difficulty ramp. Rock Band introduced a dot system to grade songs from 0-6 on each instrument, 0 being the easiest in the game and 6 being “devil-tier” or “Impossible tier”, and then generating per-instrument tiers based on these dot grades. Clone Hero and YARG, the two reigning five fret clone games, copy the dot system.

This all makes sense, but what makes a song “difficult”? It’s one of those questions where it seems intuitive, but everyone’s going to have a different opinion on how to actually measure it. A lot of songs are relatively easy to pass with one or two sections making hitting all the notes without strumming any extra (a “full combo”) difficult. Some songs are an assault on all fronts, making even passing difficult. Some songs don’t have a truly difficult part, but are tricky uniformly, say, very chordy indie rock like I tend to chart, requiring perfection throughout but a relatively low skill ceiling to FC. Do you rank songs based on how hard they are to pass? Five star? FC?

What makes it even harder is that the grading scale for songs has extended over time. Remember that Guitar Hero now has 17 years of custom songs to contend with. Harmonix and Neversoft, the Rock Band and Guitar Hero devs, were obviously trying to get a good mixture of stuff for every skill level into their official games, but there’s no requirement for a customs author (one who transcribes the audio into a note chart) to be remotely that fair. When they publish the chart, metadata included with their custom gets used by Clone Hero and YARG to rank the song a la Rock Band–but these still tap out at 6, and while “Through the Fire and Flames” is a brutal song, it’s no match for classic customs like “Soulless 4”, “Zoidberg the Cowboy”, and “Megalodon”, to name a few.

So we have songs that are graded on different metrics and songs that are graded the same but are blatantly two different levels of difficulty. Many a rhythm game player has found themselves stuck trying to progress past a song in the wrong tier, and if you want something that’s around your skill level, you need to either play and fail a lot of songs or have much better data on hand to determine that.

Thankfully, someone wrote a tool to give you that data.

Introducing Fretwork

Like other infinitely subjective things I’ve talked about in the past, someone decided to write a program to give you its empirically-repeatable opinion as well. Fretwork is a set of Python scripts by Staycation that grades a chart and song library on a couple of metrics, namely the notes per second, variability per second (so how much things change in the chart from note to note), and consistency of the intensity of each song. (This isn’t meant to replace you watching the video, but just to give you enough context that you can still make sense of this blog post.)

There is one problem with my uses, though: Fretwork is intended to score a library of Clone Hero or YARG songs (among a growing library of console rhythm games), not a Guitar Hero II disc. When I gave it the songs on my chart testing disc originally, it had no idea what to do with it, as Fretwork tries to read songs.ini files that Guitar Hero II doesn’t have to determine valid songs.

Naturally, I ran to the GitHub repo’s issues list to ask to be let into the party, and thankfully, Staycation had it working really quick. The big thing that aided Guitar Hero II support is that it’s really just a subset of Rock Band‘s note chart and metadata format–if Rock Band 3 can be supported, it’s fairly trivial to score Guitar Hero II songs the same way since they’re very similarly put together, give or take some placement of the internal Star Power/Overdrive notes and the like. (I also learned he used my own docs on modding the game in adding support to Fretwork, which was honestly pretty cool. I feel I’ve kinda become the steward of Guitar Hero II in 2026, if I can be so vain about something that matters so little.)

With Fretwork having full support for Guitar Hero II, I was excited to let it run loose on the marfGH discs, both the one I’m working on and the two that are already out (go and play them! They’re free! They’ll emulate great on PCSX2!), and see how my subjective tiering stacked up to the tool’s opinion of how hard my charts are.

Having my tiering graded by Fretwork

To give you an idea of how to read these screenshots, the important columns are title and artist (obviously), D, which is a number value of how difficult a chart is based on the above metrics (and what the spreadsheets are sorted by), RemapDiff, which roughly tries to grade a chart based on how it would stack up in Rock Band‘s dot system capped at 6 of course, and CalcTier, which is a log-scaled ranking with no cap on it to account for songs much harder than devil-tier.

If you’re interested in the raw output of Fretwork, I’ve uploaded the XSLX files I got for Volume 0 and Volume 1 so you can peek for yourself. The screenshots below scrape off a couple things that aren’t relevant to what I was after, which was a second opinion on my tiering–so hidden songs, the credits-exclusive song, bass charts, and co-op chart rankings are included in the XSLX files but not in these screenshots. You can also use the XSLX files to see how my lower difficulties (yes, I do Easy, Medium, and Hard for every single song!) rank on the same scales, as those are also not included in the screenshots for clarity.

Fretwork's ranking of marfGH: Volume 1's songs from easiest to hardest

Starting with Volume 1, I was pretty surprised to see how close my tiering was to the tool’s opinion for a lot of the setlist. Most songs were placed either in the same “tier” as they were on the disc (just mentally grouping the rows into fives), or they were a tier away, which is fine. With only four tiers, you’re not getting a particularly nuanced grading scale, and all tiers are unlocked from the start on my discs anyway, so you can’t get stuck on anything.

The biggest outliers came in my from scratch custom of Nirvana’s “Very Ape” and Slipknot’s “I Am Hated”. Fretwork ranked “Very Ape” down in the very first tier, which I imagine has to do with the short length of the song at under two minutes, but it’s definitely not a first tier song. It’s quite fast, there’s lots of little pickup gems, the groove is funny, and two and three note chords get mixed with pretty reckless abandon. FCing this song is tricky for me, and passing it I imagine would be tricky for a more casual Expert player without the greatest stamina.

“I Am Hated”, to the tool, seems simple enough despite the fast tempo, due to all the repeated notes, but Guitar Hero II‘s engine and lack of HO/PO forcing requires you to either have really good accuracy on fret changes or use the HO/POs lest you overstrum, and overstrum a lot.

Brad Sucks’ “Understood By Your Dad” shows another interesting facet of Fretwork. This song is pretty calm, midtempo power chords for most of it, but breaks out into a very fun and quite difficult to combo tremolo strumming break in the second verse. This causes the tool to put it two tiers above where it is in Volume 1, despite that you can save your Star Power for this part and pass it quite easily, even five-starring it no problem even if you badly skronk your way through the tremolo strumming. Even in the context of fast strumming songs, “Understood” is leagues easier than the hardest parts of Guitar Hero II‘s own “Misirlou”, where the strumming changes tempo rather erratically–“Understood” is a pretty solid spew of 32nd notes.

Fretwork's ranking of marfGH: Volume 0's songs from easiest to hardest

Volume 0 had similar other interesting insights. I intentionally tier my discs in a nod to Guitar Hero II‘s final song, “Free Bird”, being quite a bit easier than the songs that came before it aside from length, like “Beast and the Harlot” and “Hangar 18” especially. Turns out, my final song for Volume 0, a rechart of the Rock Revolution cover of Whitesnake’s “Still of the Night”, is so much easier than the “Monty on the Run” theme that precedes it that Fretwork puts it down in the third tier! “Face to the Floor” is definitely a more note-y song, but I find it much more repetitive and with generally fewer awkward chord changes than “Night”, but in the tool’s mind, these balanced out to roughly the same D value. Very interesting.

“Souls for Sale” is another one where the tool and I differ. This is a weird custom anyway–it’s an instrumental fingerpicked acoustic number that’s only a minute long, something that’s actually very easy on a real guitar while being very difficult in the game due to me charting it “accurately”. It is ranked in the third tier by Fretwork, but this song is stupid on a plastic guitar thanks to the constant need in the final riff to fret varying chords in between playing a single pedal tone note that doesn’t appear in the chords, so there’s nothing you can actually consistent anchor while you play. (It is, however, fun on DualShock, which has no anchoring anyway.) It’s effectively a little five fret mental training etude and a chart I don’t know if I would’ve included on the reissue if it wasn’t on the OG and that people seemed to enjoy the challenge.

A song-level view of progressive difficulty with “Umwelt”

One more cool thing on the way out. Fretwork has the ability to generate a timed graph of a single song’s difficulty through the progression of that song. I happened to write a bleep bloop of sorts for Volume 2‘s final song–being it’s all indie music and I make music sometimes, a la Steve Ouimette’s “Devil Went Down to Georgia” or perhaps the songs written for FreQuency and Amplitude, I became Volume 2‘s final boss, writing some of the fastest solos and melodic parts I’ve ever put in a song (not that there’s much competition). Fretwork scored it a respectable 15.62, around “Why Go” from Volume 0 or “Superunknown” from Volume 1, and the graph for it looks a little like this:

Fretwork's time graph grading of Umwelt's difficulty

Consider it a teaser for when the song and disc drop later in the year.

Thoughts in closing

Outliers aside, Fretwork and I seem to agree in large part, which is cool! It’s neat to have actual numbers backing up some of this stuff. It’s got its limitations, and that’s really not an issue since Staycation said as much in the video introducing it. There is no way you can represent all weird edge cases and come up with a true measure of chart difficulty–this is just a way to consistently mathematically grade charts to some metric. I described it as getting a robot’s opinion before, and I think that’s apt still.

Fretwork's ranking of (most of) marfGH: Volume 2's songs from easiest to hardest

Fretwork definitely helped me reshuffle the tracklist for Volume 2, though. I originally tier these in my head when I’m picking songs at the start and then go and fill in the setlist, so now that Volume 2 is two charts away from completion, it became clear that I’d underrated some songs and overrated others. Fretwork gave me a really good second opinion on where the trouble songs might lie in the setlist so I could retier them accordingly. Again, I don’t really need to worry so much about tiering, since marfGH volumes are each track packs with everything unlocked from the start, but it makes it feel more legit to me, and that legitness I think matters. It feels right to me when things are tiered right where they should be.

It’s also interesting to see numbers that match what I’ve thought (and kinda what I aim for) all along–marfGH volumes are fairly easy discs, even by official game standards. I figured enough people are doing the Carpal Tunnel Hero notespam type stuff already and I wanted to focus more on music I like and bands outside the metal world, maybe like a harder-edged Band Hero. I’m good with that.

Here’s a link to where you can get Fretwork, should you be interested in grading your own setlist-in-progress or your whole song library. It does take a bit of setup, but the docs are fairly clear if you’ve got any experience with Python. (In short, set your song library in config.py, run build.py to get the songs graded, run analyze.py to get a spreadsheet, and run render.py to get a song graph. For Guitar Hero II, set the root of your expanded ARK, not the songs directory in the expanded ARK, so the tool can find songs.dta.)

Thanks again to Staycation for building such a fascinating little tool and being so prompt about adding something literally only I will use! For the rest of you–Christmas 2026. Watch my YouTube channel. Volume 2 is coming to burn the place to the ground yet again.

About mariteaux

Somnolescent's webmaster with way too much to write about and a stack of CDs he'll never finish.
This entry was posted in Projects, Show-and-Tell and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *