Skip to content

Inputs a guitar chord name and outputs a series of numbers for how many half steps apart the notes are.

Notifications You must be signed in to change notification settings

BenMcLean/Chord2Arpeggio

Repository files navigation

This project came from my attempts to transcribe guitar songs as NES chiptunes in FamiStudio. For these guitar songs, I wanted to create arpeggios similar to MOON8. I wanted to be able to put the root in FamiStudio and have it play the arpeggio of the appropriate guitar chord. But figuring out the numbers for FamiStudio to play each chord took several minutes of actual work and could be wrong because I am very bad at math. Obviously, a problem such as this could only be addressed with a hyper-autistic ridiculously over-engineered solution!

I could have just made it a simple Python script and that would have been good enough just for me to use personally but making this for the web seemed like a good opportunity to learn a little bit about what counts as "modern" web development ("modern" for all of the next five minutes) and also I wanted it to work on my phone and tablet, including offline. So I made it into a progressive web app and hosted it for free on Github Pages. It is my first "modern" web app. -- Ben McLean (mclean.ben at the big mail of google)

Usage

Go to https://benmclean.github.io/Chord2Arpeggio/ and choose a chord, either by shape with the radio buttons or by name with the dropdowns. The numbers that this app outputs will play the appropriate chord in FamiStudio when they are used for an arpeggio played on the chord's root note.

Dependencies

  • npm:
  • Guitar Chords finger positions Data Set which I converted directly to JSON for this. Doing that tripled the file size but whatever. WARNING: If you use that data set for anything, be aware that the FINGER_POSITIONS column tells you its creator's totally subjective personal opinion about which finger to use, not which fret makes the chord. So FINGER_POSITIONS actually is only good for telling you whether the string is closed or not. Fret numbers for played strings have to be converted from the NOTE_NAMES column.

About

Inputs a guitar chord name and outputs a series of numbers for how many half steps apart the notes are.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published