Problem Statement
You are a guitar player, and you have a lot of sheet music that you want to play. Unfortunately, you are not a very good singer, so you can only sing music that is played in a certain key. Therefore, you want to transpose your sheet music, so you can play it in a key that you can sing in.
In this problem, we will consider 24 different chords. The following 12 are the base ones:
A, A#, B, C, C#, D, D#, E, F, F#, G, G#
The other 12 chords are the same ones, but then with an 'm' concatenated to the end. They are called minor. So Am, A#m, Bm, etc.
As you can see, certain chords have a '#', called "sharp". Every "sharp"-chord, can be replaced by its corresponding "flat"-chord (written by adding a 'b' to the end of the next higher chord). So for example C# and Db are the same chords. Let's write the chords again, this time using the "flat"-notation:
A, Bb, B, C, Db, D, Eb, E, F, Gb, G, Ab
As you can see the chords wrap around, so after Ab comes A, Bb, etc. The minor chords in "flat"-notation are Am, Bbm, Bm, etc.
Sheet music consists of a row of chords optionally separated by vertical bars. A certain piece of sheet music may look like this:
G D Am | G D C | G D Am | G D C
Here you see 4 groups of 3 chords, separated by vertical bars. The key of a song is always the first chord (so "G" in this case). The key of the song determines if we use the "sharp"-notation, or the "flat"-notation. Keys where you use the "flat"-notation are:
Bb, Bbm, Db, Dbm, Eb, Ebm, F, Fm, Gb, Gbm, Ab, Abm
With all other keys, you should use the "sharp"-notation.
The difference between 2 chords is defined as the number of positions between the first and the second one. For example, the difference between B and E is 5, while the difference between Db and A# is -3 (or 9, because the chords wrap around).
You will be given a
Return a
Definition
- Class:
- TransposeMyMusic
- Method:
- transposeMusic
- Parameters:
- String[], String
- Returns:
- String
- Method signature:
- String transposeMusic(String[] sheetMusic, String newKey)
- (be sure your method is public)
Constraints
- sheetMusic will contain between 1 and 50 elements, inclusive.
- Each element of sheetMusic will contain between 1 and 50 characters, inclusive.
- The valid chords are the chords described in the statement, and each of those in minor (so Am, A#m, Bbm, Bm, etc.).
- newKey will be a valid chord.
- The concatenation of sheetMusic will be a space-separated list of valid chords and vertical bars ('|') , and there will be exactly one space (' ') between 2 elements (quotes for clarity only).
- The concatenation of sheetMusic will not contain leading or trailing spaces or vertical bars.
- sheetMusic will contain at least 1 chord.
- The first chord of the original song and newKey will either both be minor or both be non-minor.
Examples
{"G D Am | G D C | G D Am | G D C"}
"F"
Returns: "F C Gm | F C Bb | F C Gm | F C Bb"
The example from the problem statement.
{"A Bb B C Db D Eb E F Gb G Ab"}
"A"
Returns: "A A# B C C# D D# E F F# G G#"
The original sheet music is in the key of A, but it does not use the "sharp"-notation like it should. The return value must be in the right notation.
{"C G Am F | C G F C Dm C | C G A", "m F | G F C Dm C | Am F G ", "F C Dm C"}
"F#"
Returns: "F# C# D#m B | F# C# B F# G#m F# | F# C# D#m B | C# B F# G#m F# | D#m B C# B F# G#m F#"
{"A# | | | Bb"}
"G#"
Returns: "G# | | | G#"
Note that there might be multiple vertical bars in a row (but they have to be separated by spaces) and we can have "flat"-notation as well as "sharp"-notation in 1 piece of sheet music.
{"Gm C Gm | Eb D C Gm | Gm C Gm"}
"Dbm"
Returns: "Dbm Gb Dbm | A Ab Gb Dbm | Dbm Gb Dbm"
{"Fm G E C F Gbm Am | C#m B F C | B Db Fm Em F | D |"," | Am Gm D#m C#m Bb Bb G A E | B"}
"Bbm"
Returns: "Bbm C A F Bb Bm Dm | Gbm E Bb F | E Gb Bbm Am Bb | G | | Dm Cm Abm Gbm Eb Eb C D A | E"
{"Db C D | Dm F C#m Gm Gbm Dbm Cm Fm G#m Eb Bm Ab G ","| F#m Em D#m | Gm | Dm D F | Cm Em F# C | C# | Db ","D Gbm E A Dm Cm D# F Am Fm Dm F G# A D# A#m Ab | D","# Gbm Bbm B | Am | Em Gm A#m G Fm Em Gm Am Bb | Fm"," D Am Am Dm G"}
"G"
Returns: "G F# G# | G#m B Gm C#m Cm Gm F#m Bm Dm A Fm D C# | Cm A#m Am | C#m | G#m G# B | F#m A#m C F# | G | G G# Cm A# D# G#m F#m A B D#m Bm G#m B D D# A Em D | A Cm Em F | D#m | A#m C#m Em C# Bm A#m C#m D#m E | Bm G# D#m D#m G#m C#"
{"Dm Abm | B F# F G C#m F#m | D# Ab Am | B A#m Em C ","Abm F A# | C#m E A# C# Gm Em Gm Gbm D#m Cm Ab"}
"Bbm"
Returns: "Bbm Em | G D Db Eb Am Dm | B E Fm | G Gbm Cm Ab Em Db Gb | Am C Gb A Ebm Cm Ebm Dm Bm Abm E"
{"F# Dm F#m Dm Fm Dm A#m | F G Fm A F# Em | C#m Fm F","# G Em D | B | Cm Ebm G# | | | | D#m Gm Gb | F#m D","# Bbm F# C Dm | D#m Em | D Am | Cm G Em Em B Am Eb"," C#m Cm Bbm Cm D# | Dbm C#m Cm | E Gb Dm | C# Am |"," D#"}
"C#"
Returns: "C# Am C#m Am Cm Am Fm | C D Cm E C# Bm | G#m Cm C# D Bm A | F# | Gm A#m D# | | | | A#m Dm C# | C#m A# Fm C# G Am | A#m Bm | A Em | Gm D Bm Bm F# Em A# G#m Gm Fm Gm A# | G#m G#m Gm | B C# Am | G# Em | A#"
{"Ebm Gm | Bm Cm Dm F# Bb | Ab | | Eb | F#m | | Gm G","m | Em G#m D#m F C#m Ebm Dbm | Ab | Abm | F# C Bb ","Am G F F | | F | F# Gbm | Eb Bbm F D | | B | D C |"," Fm Dm E Ab Db | Fm Fm Dm C F Gm | | Ab B Dbm Cm G","m Gm Gm D#m Em Dm | Bb Dm A | Bm Em Db Db Em F#m B","m Cm | E | Dm Abm C# | Dbm | | F G# C# Bm Bm | | |"," Em Fm | C Em Em | Gb Gb | Fm Fm B F | | Bb G Fm |"," Abm Bm Am Em | | | | Am F | F G B F# Eb | Bb"}
"Ebm"
Returns: "Ebm Gm | Bm Cm Dm Gb Bb | Ab | | Eb | Gbm | | Gm Gm | Em Abm Ebm F Dbm Ebm Dbm | Ab | Abm | Gb C Bb Am G F F | | F | Gb Gbm | Eb Bbm F D | | B | D C | Fm Dm E Ab Db | Fm Fm Dm C F Gm | | Ab B Dbm Cm Gm Gm Gm Ebm Em Dm | Bb Dm A | Bm Em Db Db Em Gbm Bm Cm | E | Dm Abm Db | Dbm | | F Ab Db Bm Bm | | | Em Fm | C Em Em | Gb Gb | Fm Fm B F | | Bb G Fm | Abm Bm Am Em | | | | Am F | F G B Gb Eb | Bb"
{"G F#m | Gm Abm Fm Bm Db G Abm Eb F# D | Ab Bb | Em"," D | Abm Em | Em F F#m | Em B G B | D E Bbm | Gbm ","A#m Db Cm Eb E C# Gm Fm F Dbm A | F Fm B | Eb | Db"," Gbm C Cm Cm F#m A# | F | | | Ebm Bm E C# E | Gm F","m Bbm Db C#m E Fm Em Gm E Bm G# D# Bbm | F Db D#m ","Em F | Gb | | C Abm F Am C Gm | Em D#m D Em Abm Ab"," Bm Gbm Bb | Gm B Gbm | Dm G | Dbm B Eb | E D# Am ","Dm Gbm Gm F#m Eb | A Cm Bbm D# F#m G# | B E Em Dm ","Dbm Gb | Gm Am Gm | | Fm Em F#m | G# Bm D#m D Gm F","m | | Ebm | | Am Dbm"}
"Eb"
Returns: "Eb Dm | Ebm Em Dbm Gm A Eb Em B D Bb | E Gb | Cm Bb | Em Cm | Cm Db Dm | Cm G Eb G | Bb C Gbm | Dm Gbm A Abm B C A Ebm Dbm Db Am F | Db Dbm G | B | A Dm Ab Abm Abm Dm Gb | Db | | | Bm Gm C A C | Ebm Dbm Gbm A Am C Dbm Cm Ebm C Gm E B Gbm | Db A Bm Cm Db | D | | Ab Em Db Fm Ab Ebm | Cm Bm Bb Cm Em E Gm Dm Gb | Ebm G Dm | Bbm Eb | Am G B | C B Fm Bbm Dm Ebm Dm B | F Abm Gbm B Dm E | G C Cm Bbm Am D | Ebm Fm Ebm | | Dbm Cm Dm | E Gm Bm Bb Ebm Dbm | | Bm | | Fm Am"
{"Em | | A# D F# | A Am | Em Gb G B Ebm A Ebm | | Dm"," A Dm C# G#m Gbm A# C#m Bm Gm F#m | Dbm | | Cm E C","# | E Bm D# Bbm | C# Gb F Fm C F Em | | E Bbm | C ","Dm | F# | C# Gm Em D | G Ebm A#m Cm F A Bbm Dm G |"," | A C#m Fm Gbm D#m D# | | | D# E G# Eb Ebm Dm Bb ","Db Bm | Eb C Gb B Bb Db D | Bb D Em A Bm Gbm C Bm ","Bm Abm G A | F# | Abm C C C#m G C#m D | Bb | Em Db"," Dm | | D# E D#m A Db | G Bbm Bb Abm | E G#m F# | ","| Eb D Em Fm | G Abm F# C E Cm | B D Fm D | | Ab |"," Dbm | Dm C#m Dm Db Bm Am | | Fm Fm A C Fm Gm G# |"," A#m | Cm Bb Cm | G# Fm D#m E"}
"Am"
Returns: "Am | | D# G B | D Dm | Am B C E G#m D G#m | | Gm D Gm F# C#m Bm D# F#m Em Cm Bm | F#m | | Fm A F# | A Em G# D#m | F# B A# A#m F A# Am | | A D#m | F Gm | B | F# Cm Am G | C G#m D#m Fm A# D D#m Gm C | | D F#m A#m Bm G#m G# | | | G# A C# G# G#m Gm D# F# Em | G# F B E D# F# G | D# G Am D Em Bm F Em Em C#m C D | B | C#m F F F#m C F#m G | D# | Am F# Gm | | G# A G#m D F# | C D#m D# C#m | A C#m B | | G# G Am A#m | C C#m B F A Fm | E G A#m G | | C# | F#m | Gm F#m Gm F# Em Dm | | A#m A#m D F A#m Cm C# | D#m | Fm D# Fm | C# A#m G#m A"
{"Fm B Bb A#m | E Gm Am Eb Fm | G | Am Cm D#m | C#m ","Db A Ebm F# B F#m | | | E | | G C F E Em | F | D D","#m Dm Fm | C# Eb | | Cm Bbm Bm G#m G# A C#m | D Cm"," C D | | E D# Bb Bbm Gbm | Bb | Ebm Am | Em | Gm |"," Cm C# F# F#m Db E Em Dm A C E Bb Bm | Dm Cm Bm Ab"," A D Em Em Gbm | C Gbm Ab D#"}
"G#m"
Returns: "G#m D C# C#m | G A#m Cm F# G#m | A# | Cm D#m F#m | Em E C F#m A D Am | | | G | | A# D# G# G Gm | G# | F F#m Fm G#m | E F# | | D#m C#m Dm Bm B C Em | F D#m D# F | | G F# C# C#m Am | C# | F#m Cm | Gm | A#m | D#m E A Am E G Gm Fm C D# G C# Dm | Fm D#m Dm B C F Gm Gm Am | D# Am B F#"
{"G#m Em | Fm Am Am D# | Gm | Bm D# Cm Abm Em | | D#","m | Am Eb Fm G#m | Ab F# G | A B Bm D Gbm F#m G Bm"," Bb D# Bm A D G#m Em Dbm Cm Gm | Gm Ab | G Em | | ","Gbm Db G#m | | D#m | | F#m D#m G Cm F#m | G Bm Fm ","Em Gm B Gm Dbm Bm | Em Bm C#m A Dm Am F G#m Gb A# ","| Eb | | Fm F C | B D | Em F#m D Db Gm G#m | Ab Em"," | Ab G A#m D#m Gm Dm Gm Cm Abm | Gbm Ab | Db Am |"," | Am"}
"Ebm"
Returns: "Ebm Bm | Cm Em Em Bb | Dm | Gbm Bb Gm Ebm Bm | | Bbm | Em Bb Cm Ebm | Eb Db D | E Gb Gbm A Dbm Dbm D Gbm F Bb Gbm E A Ebm Bm Abm Gm Dm | Dm Eb | D Bm | | Dbm Ab Ebm | | Bbm | | Dbm Bbm D Gm Dbm | D Gbm Cm Bm Dm Gb Dm Abm Gbm | Bm Gbm Abm E Am Em C Ebm Db F | Bb | | Cm C G | Gb A | Bm Dbm A Ab Dm Ebm | Eb Bm | Eb D Fm Bbm Dm Am Dm Gm Ebm | Dbm Eb | Ab Em | | Em"
{"C G | Am F Dm Fm D Gm | Fm Ebm Bb Gm D | Fm A#m | ","Am Bbm | C | D"}
"C"
Returns: "C G | Am F Dm Fm D Gm | Fm D#m A# Gm D | Fm A#m | Am A#m | C | D"
{"A Em F C#m Db E Em Eb | Cm | Am C Gm Am G | Fm F#m"," A#m Am Em | | G#m Eb Fm Gbm Em D | D#m G | Fm Ab ","D# Em | | D Db Gbm G# F Eb Gm | | A# F# C# | Bm | ","Ab Abm E D#m Fm A# | Bm Dm F Gb"}
"F"
Returns: "F Cm Db Am A C Cm B | Abm | Fm Ab Ebm Fm Eb | Dbm Dm Gbm Fm Cm | | Em B Dbm Dm Cm Bb | Bm Eb | Dbm E B Cm | | Bb A Dm E Db B Ebm | | Gb D A | Gm | E Em C Bm Dbm Gb | Gm Bbm Db D"
{"F#m Cm Ebm | A Fm Bm Fm Ebm | G C D | | E Fm G# Gm"," G#m | Am Abm Dm C#m | Ab Eb Bm | Gb Dm Ebm | | | ","G#m Am G | Bm | G#m | Dm Cm Bb | Am Gbm Dm Em D#m ","F#m C Gbm Bbm Bm C E E Gm | Dm F Em A# | B A Gm C ","Fm B Gb Cm Abm Abm C#m D#m Bm G | Eb A#m A Dm | G ","C#m | Em F# F# Cm Dbm Ab B | C#m | Gbm A#m Fm Ab C","m | | Em | | Bb Gm Gb G# Gm Cm D | Ab Eb Bb Gm F A","#m Cm Gbm A# Dm Gbm A | Db G# Eb | A#m C# Bbm | Bm"," C | Gm | Gb F D C# F | A#m Ab D#m A#m E G#m Em | ","Ab | D G F#m Bm C# | D#m Dm Abm | | | Bb | D# Cm F","# | Bb Cm | | Bb Em Ab | Bbm B G# A G | | A"}
"Fm"
Returns: "Fm Bm Dm | Ab Em Bbm Em Dm | Gb B Db | | Eb Em G Gbm Gm | Abm Gm Dbm Cm | G D Bbm | F Dbm Dm | | | Gm Abm Gb | Bbm | Gm | Dbm Bm A | Abm Fm Dbm Ebm Dm Fm B Fm Am Bbm B Eb Eb Gbm | Dbm E Ebm A | Bb Ab Gbm B Em Bb F Bm Gm Gm Cm Dm Bbm Gb | D Am Ab Dbm | Gb Cm | Ebm F F Bm Cm G Bb | Cm | Fm Am Em G Bm | | Ebm | | A Gbm F G Gbm Bm Db | G D A Gbm E Am Bm Fm A Dbm Fm Ab | C G D | Am C Am | Bbm B | Gbm | F E Db C E | Am G Dm Am Eb Gm Ebm | G | Db Gb Fm Bbm C | Dm Dbm Gm | | | A | D Bm F | A Bm | | A Ebm G | Am Bb G Ab Gb | | Ab"
{"Ab | Cm | | E Em Dm Ab D# Em | | | Cm Em Fm Bbm | ","Dm A#m"}
"G"
Returns: "G | Bm | | D# D#m C#m G D D#m | | | Bm D#m Em Am | C#m Am"
{"Bm Ebm F | | | Ab | F Dm Dbm | Ebm A#m Bm Fm Dbm |"," D F# | B | B D#m Em E D#m Gm Cm | Cm Db | | D E |"," Dm Fm A Dm C# A | D#m | Gm | G# | | | G Gm F# Am ","Gbm Em A#m Gm Am Am Dm E | E Bm Bm Eb Dm Db | Am |"," Gbm Cm G#m G Ebm Em G#m B Bm | Gm Dm Gb D B Abm |"," Ebm Cm Ab | Bm F# E C# Db B Cm | Ebm G#m | | Bb A","#m E"}
"C#m"
Returns: "C#m Fm G | | | A# | G Em D#m | Fm Cm C#m Gm D#m | E G# | C# | C# Fm F#m F# Fm Am Dm | Dm D# | | E F# | Em Gm B Em D# B | Fm | Am | A# | | | A Am G# Bm G#m F#m Cm Am Bm Bm Em F# | F# C#m C#m F Em D# | Bm | G#m Dm A#m A Fm F#m A#m C# C#m | Am Em G# E C# A#m | Fm Dm A# | C#m G# F# D# D# C# Dm | Fm A#m | | C Cm F#"
{"Em | | | E | D D# A#m Gb | A#m | G Bm Bm Dm Bm Dbm"," Abm F# Am Dm F#m | | Gm | Bm D# F# | | | A# | Am ","G F G | A# Fm D#m Am Gb E Bm Bb Fm | Ab Am | Em | ","Bm | Gm D#m | | A A Gbm C Abm | Em Em E Cm Db | | ","| Ebm Am C#m A Em D Abm Cm Dm | Eb F#m Db | Ebm | ","F | Db"}
"Am"
Returns: "Am | | | A | G G# D#m B | D#m | C Em Em Gm Em F#m C#m B Dm Gm Bm | | Cm | Em G# B | | | D# | Dm C A# C | D# A#m G#m Dm B A Em D# A#m | C# Dm | Am | Em | Cm G#m | | D D Bm F C#m | Am Am A Fm F# | | | G#m Dm F#m D Am G C#m Fm Gm | G# Bm F# | G#m | A# | F#"
{"Dm Fm F Gb Bbm A F Em G Em D | Ebm G Em Fm Dbm | D","bm Dbm G Ebm Em Fm | Eb Cm D D# Cm Ab | G# Gm D#m ","| G Am A"}
"Gm"
Returns: "Gm A#m A# B D#m D A# Am C Am G | G#m C Am A#m F#m | F#m F#m C G#m Am A#m | G# Fm G G# Fm C# | C# Cm G#m | C Dm D"
{"E G Fm C# | D#m Em A#m E D E Db E G Dbm Gb | Eb C ","C Bb | B Am Cm C# | | D | Bbm A# | | Dm | F G E Fm"," D#m | Bbm | Bm Am G#m"}
"D#"
Returns: "D# F# Em C | Dm D#m Am D# C# D# C D# F# Cm F | D B B A | A# G#m Bm C | | C# | Am A | | C#m | E F# D# Em Dm | Am | A#m G#m Gm"
{"B A#m E | F Em | F#m | Cm F#m G D Gm | F# C D G#m ","| Gm Dm Em B Bm D Dbm C#m | | Dm A F#m"}
"B"
Returns: "B A#m E | F Em | F#m | Cm F#m G D Gm | F# C D G#m | Gm Dm Em B Bm D C#m C#m | | Dm A F#m"
{"Am C D G | Gb D Gbm B Abm Bm G | F C#m Bm | G B Eb"," Ab | G# | Gm E Fm Fm B A# A | Dbm Ab | E | Gb F E","m Gm D# F Am | C D#m A#m A# Cm Bb E | A C# F | Fm ","| Gm A# Bm A | Em D D# Dm Am Dm G# | F#m | G# C F ","Em Db | | Gm Abm C | D Am | Bbm Am Dm | Abm E F#m ","Abm Gm Gm D# Bb Gb | F Fm Eb B Abm G | | Gbm B C#m"," | Bm Cm D Am G#m F#m Cm G Abm Dm Gm | G Bm C Bm A"," Am A#m Gm Cm | C#m | | Bm | Abm Fm Dm Em Bbm F# G","m | Am Bbm D Db A#"}
"Fm"
Returns: "Fm Ab Bb Eb | D Bb Dm G Em Gm Eb | Db Am Gm | Eb G B E | E | Ebm C Dbm Dbm G Gb F | Am E | C | D Db Cm Ebm B Db Fm | Ab Bm Gbm Gb Abm Gb C | F A Db | Dbm | Ebm Gb Gm F | Cm Bb B Bbm Fm Bbm E | Dm | E Ab Db Cm A | | Ebm Em Ab | Bb Fm | Gbm Fm Bbm | Em C Dm Em Ebm Ebm B Gb D | Db Dbm B G Em Eb | | Dm G Am | Gm Abm Bb Fm Em Dm Abm Eb Em Bbm Ebm | Eb Gm Ab Gm F Fm Gbm Ebm Abm | Am | | Gm | Em Dbm Bbm Cm Gbm D Ebm | Fm Gbm Bb A Gb"
{"Fm A# F# A G#m Em E | E F# B C#m C E Bb Dbm F#m G ","Ebm Bb | D | B Bb D F D#m C | B Cm Em G | | | Db |"," G Bbm A C#m C#m | Db G#m | A# G D Dbm C | Eb C# B","m Ab F#m G Eb Ebm F | Gm | Fm F | C A | Em | Cm A ","Am D Abm D#m F | | Ab | Ab G | A#m Fm Gb D | G#m"}
"Dm"
Returns: "Dm G D# F# Fm C#m C# | C# D# G# A#m A C# G A#m D#m E Cm G | B | G# G B D Cm A | G# Am C#m E | | | A# | E Gm F# A#m A#m | A# Fm | G E B A#m A | C A# G#m F D#m E C Cm D | Em | Dm D | A F# | C#m | Am F# F#m B Fm Cm D | | F | F E | Gm Dm D# B | Fm"
{"A Eb Ebm | G# C# C#m G | Gm B D E Bm | | | F Dm | ","Cm B | Dm | Em Gb G# F# | D | D#m F#m Gm D | Bb D ","Gm | Gm C F C F#m G | Cm A# Fm Bm G A#m | | | | | ","Gm | G Gbm Abm C# D G#m Gm Gm Bm G# | Cm E F# Am D","#m Ebm Eb Gm G# | D A#m | C D# Em | Gbm | | B G# G","b Cm D# Am Gm G# Bm | Em G | | | | | D | B Em Em B"," | B F | | | Cm | C# | B Dbm Dm | A#m | Fm | D Em ","F# F Gm C# C#m A# A F#m F# Db | G Cm G#m E | Dm Fm"," | Gm Gm A# Fm Bm G#m | Cm C# | F#m A#m"}
"F"
Returns: "F B Bm | E A Am Eb | Ebm G Bb C Gm | | | Db Bbm | Abm G | Bbm | Cm D E D | Bb | Bm Dm Ebm Bb | Gb Bb Ebm | Ebm Ab Db Ab Dm Eb | Abm Gb Dbm Gm Eb Gbm | | | | | Ebm | Eb Dm Em A Bb Em Ebm Ebm Gm E | Abm C D Fm Bm Bm B Ebm E | Bb Gbm | Ab B Cm | Dm | | G E D Abm B Fm Ebm E Gm | Cm Eb | | | | | Bb | G Cm Cm G | G Db | | | Abm | A | G Am Bbm | Gbm | Dbm | Bb Cm D Db Ebm A Am Gb F Dm D A | Eb Abm Em C | Bbm Dbm | Ebm Ebm Gb Dbm Gm Em | Abm A | Dm Gbm"
{"Dbm D#m Gb C Gbm Em Am | Fm B Gm Am Am G#m Gm Cm D","m | B Cm Gb Dm Db Ab Abm Gb Dm Fm Am G#m | D#m G D","# A | A# | | | Gb F#m C | Cm B | Dbm Cm E F C G#m ","F# G Ebm D# Eb G A# A# D#m | | Am | Gm G | Db | B ","G# G# Bbm Gm A | G#m D# A#m | Dm D | C#m Abm A F D","bm | Ebm | Em | Gm | | Cm Fm Gb Bbm Em | G C#m C |"," Gbm Bm Bm Abm | G# | | | Ebm | | Dbm | | Em D Bm ","Em Eb | | C# E Fm Cm B | A# Gm Dm | F#m D# A | Bm ","| | Fm Fm D# Eb D#m Ab E C Em Em Dm G#m Fm F#m | C","# Cm | Dm Em Abm B | E G# Dbm G#m D# Am Bb | Db | ","Em F# | | B | D"}
"Am"
Returns: "Am Bm D G# Dm Cm Fm | C#m G D#m Fm Fm Em D#m G#m A#m | G G#m D A#m A E Em D A#m C#m Fm Em | Bm D# B F | F# | | | D Dm G# | G#m G | Am G#m C C# G# Em D D# Bm B B D# F# F# Bm | | Fm | D#m D# | A | G E E F#m D#m F | Em B F#m | A#m A# | Am Em F C# Am | Bm | Cm | D#m | | G#m C#m D F#m Cm | D# Am G# | Dm Gm Gm Em | E | | | Bm | | Am | | Cm A# Gm Cm B | | A C C#m G#m G | F# D#m A#m | Dm B F | Gm | | C#m C#m B B Bm E C G# Cm Cm A#m Em C#m Dm | A G#m | A#m Cm Em G | C E Am Em B Fm F# | A | Cm D | | G | A#"
{"A#m Dbm Bb C | Db Gb | Gm Fm Bm | F# Bm Bm Em | | ","| Em Abm | Cm Bb Bbm A#m | D Gm | Gbm G# Bm | C#m ","B G G# D Ebm C#m A Dm F#m C# | C#m Am | Cm C# Em |"," A#m D#m Dm Gm | G"}
"D#m"
Returns: "D#m F#m D# F | F# B | Cm A#m Em | B Em Em Am | | | Am C#m | Fm D# D#m D#m | G Cm | Bm C# Em | F#m E C C# G G#m F#m D Gm Bm F# | F#m Dm | Fm F# Am | D#m G#m Gm Cm | C"
{"Gb Dm E F G | | | Fm | Gm E Gm | D | Gbm Abm D#m G","bm | B B C#m | | Gm Db A#m | Em Cm | | B F Cm | Fm"," | Db Fm G# Fm | G | | | C#m Ebm | A C# A G#m Fm C"," | Am D E Abm Gbm Dm | A#m | Eb A# Cm Eb C | C#m A","b Cm C | Am E | G# Eb Am Cm Fm | G D#m | C# C#m B ","A# Em D | Fm D A# | C#m Fm Gbm | | Dm Abm | Fm | |"," E Gm Gm F Db B Ab | B Em | B Abm Fm Bm F | F C# B"," F E Dm Am F G Ab G#m Bm Gm Fm Bbm | Fm F Eb | A G","# A#m | Bm | Gbm | G D D | | | Dbm Gm"}
"Ab"
Returns: "Ab Em Gb G A | | | Gm | Am Gb Am | E | Abm Bbm Fm Abm | Db Db Ebm | | Am Eb Cm | Gbm Dm | | Db G Dm | Gm | Eb Gm Bb Gm | A | | | Ebm Fm | B Eb B Bbm Gm D | Bm E Gb Bbm Abm Em | Cm | F C Dm F D | Ebm Bb Dm D | Bm Gb | Bb F Bm Dm Gm | A Fm | Eb Ebm Db C Gbm E | Gm E C | Ebm Gm Abm | | Em Bbm | Gm | | Gb Am Am G Eb Db Bb | Db Gbm | Db Bbm Gm Dbm G | G Eb Db G Gb Em Bm G A Bb Bbm Dbm Am Gm Cm | Gm G F | B Bb Cm | Dbm | Abm | A E E | | | Ebm Am"
{"F Cm | | | Gm B Fm Dbm Bm | G# E Db B G Gbm A# Am ","C | Bb Gm E Ab D#m Cm Bm Fm | Dm | | Em Am B Ebm E","m | B C | Gm C# Gbm A#m | C# B Cm Db Abm | Abm B D"," C#m C Dbm"}
"D"
Returns: "D Am | | | Em G# Dm A#m G#m | F C# A# G# E D#m G F#m A | G Em C# F Cm Am G#m Dm | Bm | | C#m F#m G# Cm C#m | G# A | Em A# D#m Gm | A# G# Am A# Fm | Fm G# B A#m A A#m"
{"Fm Ebm Em A# | F#m Db Gb C Gbm | Cm A F#m C C# Am ","Dm D#m | G# Dm Dbm Ab | | | Dbm A#m Bm Ebm Em D# |"," Bm Gbm G | Gb Gbm F Abm | D Abm | Cm Fm Gbm D B D","bm | C A# C#m G A Cm Bbm Am | | C | F Gm E B | D# ","Am | F Gb | | Am | G#m | | | Am Gb | E | | | Dm"}
"D#m"
Returns: "D#m C#m Dm G# | Em B E A# Em | A#m G Em A# B Gm Cm C#m | F# Cm Bm F# | | | Bm G#m Am C#m Dm C# | Am Em F | E Em D# F#m | C F#m | A#m D#m Em C A Bm | A# G# Bm F G A#m G#m Gm | | A# | D# Fm D A | C# Gm | D# E | | Gm | F#m | | | Gm E | D | | | Cm"
{"C E E Em | Em A# E | Db Bbm Gm Gbm C | Eb G | G# G"," E | | | Cm | | Am A# | C# G# G G#m | F E Gb | Fm ","A Am Eb A#m Eb Cm Dm | | B A# Bb F# Bm Ab A | Bb B","m | | Dm | A | Bm G# | Dbm | Dm D Abm | | | Gm | B"," Bm B Cm Dbm Bm | | | | G Dm | B Gb Db B D# G# | B","m E | G Fm F#m D Bbm B F | Ebm D#m F | | C# Gb Dm ","D B Abm A Gm F#m Am Abm D D | D D F C | | Em E Em ","Ebm | | Gm A C B Bm D | | E G Fm Bm G#"}
"D#"
Returns: "D# G G Gm | Gm C# G | E C#m A#m Am D# | F# A# | B A# G | | | D#m | | Cm C# | E B A# Bm | G# G A | G#m C Cm F# C#m F# D#m Fm | | D C# C# A Dm B C | C# Dm | | Fm | C | Dm B | Em | Fm F Bm | | | A#m | D Dm D D#m Em Dm | | | | A# Fm | D A E D F# B | Dm G | A# G#m Am F C#m D G# | F#m F#m G# | | E A Fm F D Bm C A#m Am Cm Bm F F | F F G# D# | | Gm G Gm F#m | | A#m C D# D Dm F | | G A# G#m Dm B"
{"Em | | C# | Dm | | Ebm Ab A | Bb C | | F# Gb | Gb ","A#m B G#m Gm Fm Cm Fm | G Am | A Db Abm G# B B A#m"," C Cm E | G Am G# Eb F | | | Em Bm C#m G D | D#m G","b | A Gm E Bm C# A | Ab Ab Dbm Db Em A#m B Am D# |"," Ab A D# | C#m Cm B Bm Fm E A Bm E | Bb D Cm E | A","m D Bb Ebm Dbm B Bm Ebm | Db F | A A# | Gm Gbm | |"," C A#m Bm C | F Bm Bm Gb | E Am | F#m Eb Gm D G | ","Em D E Bbm A#m Bm Db"}
"Em"
Returns: "Em | | C# | Dm | | D#m G# A | A# C | | F# F# | F# A#m B G#m Gm Fm Cm Fm | G Am | A C# G#m G# B B A#m C Cm E | G Am G# D# F | | | Em Bm C#m G D | D#m F# | A Gm E Bm C# A | G# G# C#m C# Em A#m B Am D# | G# A D# | C#m Cm B Bm Fm E A Bm E | A# D Cm E | Am D A# D#m C#m B Bm D#m | C# F | A A# | Gm F#m | | C A#m Bm C | F Bm Bm F# | E Am | F#m D# Gm D G | Em D E A#m A#m Bm C#"
{"Bm A#m Gm C A F | Bbm | G A F | G#m | | Cm Fm | C#"," G# Gbm A Gbm F | Bb Ab A | A# Em Gm G Fm Eb Gm | ","B G#m A | Am A Bbm Cm Eb | | C#m D D | | | | Db F#","m B A E | Em Bbm Cm | | Gbm D Cm C A F A#m G# F#m ","Am Em | | C | Cm | | Bm | Fm Dm C | Gm | Ab | Eb E","bm F C#m B"}
"Dm"
Returns: "Dm C#m A#m D# C G# | C#m | A# C G# | Bm | | D#m G#m | E B Am C Am G# | C# B C | C# Gm A#m A# G#m F# A#m | D Bm C | Cm C C#m D#m F# | | Em F F | | | | E Am D C G | Gm C#m D#m | | Am F D#m D# C G# C#m B Am Cm Gm | | D# | D#m | | Dm | G#m Fm D# | A#m | B | F# F#m G# Em D"
{"B G# Eb Em A | A# D F Bm E Fm G D | Dm Em | | A Eb","m C# F#m Eb Gm Fm Em | A Em A#m Fm F D | Cm Cm Em ","Dm | F#m | Fm | F Em Am Bbm | C E F# G Bm Bm | D |"," | | A# | D# Am C | Gm Bbm A G | Am Cm A | Fm | Bb","m Fm | A# Dbm | Fm | Cm Bm C | Fm Cm | Gm | | | A ","C A# Em Dm Bm Ebm G G Fm Bm Dm Bm | G# Fm F E | C#","m Em F | | Ab G Ebm C G | Abm"}
"G"
Returns: "G E B Cm F | F# A# C# Gm C C#m D# A# | A#m Cm | | F Bm A Dm B D#m C#m Cm | F Cm F#m C#m C# A# | G#m G#m Cm A#m | Dm | C#m | C# Cm Fm F#m | G# C D D# Gm Gm | A# | | | F# | B Fm G# | D#m F#m F D# | Fm G#m F | C#m | F#m C#m | F# Am | C#m | G#m Gm G# | C#m G#m | D#m | | | F G# F# Cm A#m Gm Bm D# D# C#m Gm A#m Gm | E C#m C# C | Am Cm C# | | E D# Bm G# D# | Em"
{"A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A ","A A A A A A A A A A A A A A A A A A A A A A A A A"}
"Ab"
Returns: "Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab Ab"
{"C G Am F | C G F C Dm C | C G A", "m F | G F C Dm C | Am F G ", "F C Dm C" }
"F#"
Returns: "F# C# D#m B | F# C# B F# G#m F# | F# C# D#m B | C# B F# G#m F# | D#m B C# B F# G#m F#"
{"Gm C Gm | Eb D C Gm | Gm C Gm" }
"Dbm"
Returns: "Dbm Gb Dbm | A Ab Gb Dbm | Dbm Gb Dbm"
{"F Gb" }
"F"
Returns: "F Gb"