As the number of songs available in FATpick has increased, several users have mentioned that they are having a hard time finding tabs that are appropriate for their skill level. We feel you. With thousands of tabs spread across hundreds of songs - often with mixed levels of complexity between the tracks in a single song - simply guessing at the difficulty based on artist or title, or exploring songs at random, is an exercise in frustration. It's hard to know what you'll find, and tedious to keep checking one song after another.
That's why we've made song "discovery" a major focus for the next few releases, and we're proud to announce an upcoming feature we've been working on for a little while: an automated track complexity metric.
The next release of FATpick will include the ability to search and filter songs based on the difficulty of individual tracks with the song: an estimate of the level of skill required to play each tab successfully.
How Track Difficulty is Used
Whenever a new song is added to FATpick, track-complexity analysis is automatically applied to each track in order to evaluate the level-of-skill required to play the corresponding tab.
This metric - which we're calling estimated track difficulty - currently appears in three prominent locations in the app:
Song Details Panel
The difficulty of the currently selected track is visible in the song detail panel that appears at the top of the tab player.
The track mixer lists the difficulty rating of each playable track in the current song.
Track difficulty ratings can now be used to filter the list of matching songs in the new song search interface.
When a difficulty range is specified, only those songs that contain at least one track in the given range will appear. And when instrument, tuning and other track-specific criteria are also applied, only those songs that contain at least one track that matches ALL of the given criteria will appear.
About the Metric
The difficulty rating is a measure of the "complexity" of given track - an estimate of the level of skill required to play the tab. The internal representation is quantitative - a fairly fine-grained numeric value - but is currently presented on a 5-point scale, ranging from Beginner to Expert.
To compute the difficulty rating, FATpick looks at more than two-dozen distinct attributes of the score across several scales — individual beats, full measures, phrases/sections (multiple bars) and across the entire song — in order to model three distinct aspects of performance:
rhythmic complexity - e.g., the speed (rate) at which notes are played, the uniformity of note durations, and the regularity (repeatability) of rhythmic patterns;
fretting difficulty - e.g., reach, speed, and range-of-motion required of the left (fretting) hand, and the uniformity, regularity and complexity of fretting patterns;
strumming difficulty - e.g., picking/plucking speed, range and precision, and the complexity and regularity of strumming patterns.
Each of these dimensions is independently scored and weighted - sometimes dynamically (conditionally) - in order to compute the net difficulty rating for the track as a whole.
Work in Progress
While we've been through a large number of iterations of this metric already - using the nearly 2000 tabs shared by FATpick users as test data - we're under no illusions that the work is "complete". We fully expect to continue to review, refine and revise the complexity analysis algorithm for quite some time.
Toward that end, we welcome your input: the in-app feedback form is a convenient way to share your reaction to the difficulty ratings as you encounter them.