https://primanota.net/audrey/carving-and-searching-chords.htm