Guitar tab generation from midi and note names

I am learning guitar so I made a program that lets me take chord progressions represented in midi and convert them to fingerings on the guitar.

Usage

							

You can pass in midi files with -f, retune the guitar for -t, change the length of the guitar with -f (--frets), and append chords to the end of your midi files with -a

Examples of use

The first two chord progressions I used this on were e-minor -> f-Maj7 b5 and the chord progression from kk cruisin from Animal Crossing.

The first chord progression I added sounds ike this:

I got this output:

					 

The fingering it generated was spot on.

The next progression sounds like this:

And the output looks like this:

					

You can also append chords like this:

					

The next steps for this project will be to 1: prune the chords so my program isn't checking every fingering on the guitar, and 2: check for easier voicing with respect to chord transitions and by checking other inversions of the original chord.