Test your music sight-reading skills. Sing or tap along with these algorithmically generated musical phrases.
Snapshot 1: baby bear, a beginner's challenge
Snapshot 2: mama bear, controlled combination of triplet and sixteenth note figures
Snapshot 3: papa bear, extremely complicated rhythmic figures with ties
A basic tenet of improving your musicianship is to not practice your mistakes. To not practice mistakes means, for example, to not play difficult passages faster than you can play them perfectly. When you play past your abilities, your brain (and hands) do not eventually catch on, but rather the imprecise handling of the phrase becomes inculcated in your mind.
Start these sight-reading exercises slowly and deliberately and then increase speed. Start with challenges that seem trivial—for example, a sequence of quarter notes (set "difficulty" control to 1). Checking "allow ties" and increasing the playback tempo will get you to challenging exercises fairly quickly. Pay attention to your every imperfection, for example, rushing through a quarter note that follows a sequence of complicated sixteenth note patterns.
Four Ways to Make Sight-Reading More Difficult
1. Increase the "difficulty" variable to add complexity to the patterns.
2. Increase the "tempo".
3. Add "allow ties" or "substitute rests for ties" to the phrases. Note that checking "substitute rests for ties" does not change the current pattern but is oftentimes easier to read.
4. Check "allow triplets" to intermix triplets with the sixteenth note patterns. The mode "3 versus 4" rigorously alternates between the two types of patterns.
Difficulty level 1 is nothing but quarter notes. Difficulty level 2 adds eighth notes. Checking the "allow ties" box and increasing the "tempo" can make difficulty level 2 nontrivial. Difficulty levels 3 through 8 add sixteenth note patterns. Difficulty levels 9 through 12 have the same difficulty as level 8 but they incrementally eliminate the simplest of patterns. Try setting the "mode" control to "repeating" and the "background (time signature)" control to 1 or 2. Building confidence with these simple patterns is the groundwork for success with more sophisticated patterns.
For Guitar Players (and Hand Percussionists)
Set the "mode" to "repeating". Check "allow ties". Try different "background (time signature)" settings. Adding ties to repeating patterns creates families of related patterns. This strategy is perfect for adding variety to a pattern while keeping the overall feeling of the phrase intact.
Substitute Rests for Ties
There is a similarity between phrases with ties and phrases with rests. Any note in a phrase that has been tied into is never played, so it can be eliminated and replaced with a rest. Oftentimes reading a phrase with rests is easier than reading the same phrase notated with ties. When you check and uncheck "substitute rests for ties", the current pattern does not change. Therefore, you can practice sight-reading the same phrase with and without ties.
The Brick and Mortar Version: Solitaire for the Aspiring Musician
You do not need a computer to create these exercises. Get a stack of 3"×5" index cards. Draw one pattern on each card. Shuffle the cards and deal yourself a new phrase to read. For reference, to see the 12 patterns that make up these exercises, set the mode to "one of each" and choose "new challenge".
Oftentimes, very fast music is written in cut time, with a time signature of 2/2, rather than common time, with a time signature of 4/4. You will want to recognize, for example, that a pattern of eighth-quarter-eighth in cut time is the same as sixteenth-eighth-sixteenth in common time. Set the "background (time signature)" to 2, so each background rectangle represents one beat. Set the "difficulty" level to 2, which limits the patterns to just quarters and eighths. Set the "tempo" to 180, which translates to a very reasonable 90 bpm in cut time. Check "allow ties" to introduce variety. Do not forget to check "substitute rests for ties" on occasion.
Mastering rhythmic sight-reading will make you intolerant of all your musician friends who fumble through their playing of rhythm phrases. In return, however, you will start enjoying country and western music, and perhaps even tap dancing.
On a personal note, this Demonstration was as much an exercise in programming graphics as it was in programming the sound features of the Wolfram Language. Exploring the built-in Wolfram Language function BezierCurve to create the rests and eighth note flags was at first challenging, but in the end very rewarding to see the elegance of the resulting glyphs and the ease with which the size parameter was introduced.