Overthinking Guitar Practice

Hello and welcome to the first episode of “80KV Overthinks Things.”

Watching videos of my performances, I think my picking is the weakest part of my guitar performance at the moment. Therefore, I’ve decided to make a concerted effort to work on that over the next few months. And instead of simply Googling “guitar picking exercises” or “rhythm guitar exercises” or just learning a bunch of Rob Zombie or something, I decided to solve this problem with math.

Yesterday during a boring meeting at work, I sketched out some pseudocode for an

The output

algorithm that outputs every possible combination of rhythms for one measure of eighth notes, and outputs it in a way that conforms to alternate picking — a V to represent a downstroke (on each quarter-note), a ^ to represent each half-note (on each eighth or “and” note), a _ for a downstroke rest and a – for an upstroke rest.

From there I just had to transcribe the pseudocode into JavaScript, my language of choice for this project because a) it’s what I do every day for work, and b) I could just copy and paste it into the console without having to worry about compilation.

My code is available here if you’re curious. It places each string into an array and then shuffles the array so all 256 possible rhythm patterns are in a random order. I’m going to work through this document and practice these with a metronome and hopefully tighten up my performance.

Also, I like the output of my algorithm because it looks like I’m writing a bunch of weird emoticons in a row.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: