0:00/0:00
// Give Me One Reason — Tracy Chapman
// 102 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: duplicate parts dropped: ch 8 "Jazz Guitar Lead" electric guitar jazz (copy of ch 9 "Lead Room Reverb" electric guitar jazz, 0.083 beats early)
// note: Full arrangement: all 113 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Jazz Electric Guitar.
setcpm(102/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.
// chords · electric guitar jazz · "Jazz Electric Guitar"
const electric_guitar_jazz = note(`<
~@2 A ~ B@2 C D E ~ F ~ G H I ~ J K L ~@3 M N O ~ P ~ Q@2 ~ R S@2 ~@2 T ~@2 U ~ V W X Y Z AA ~ AB ~ AC AD AE AF ~@2 AG
AH ~@2 AI@2 AJ AK ~@2 AL ~ AM ~@13 AN ~@6 AO AP ~ AQ AR ~ AS AT ~ AU ~@2 AV ~ AW AX AY AZ BA@2 BB ~ BC ~
>`.pickRestart({
A: "~@12 c#2 ~@3", B: "[~@31 [f#1,f#2]@2 ~@12 c#3@2 ~@7 b1@9 ~]/2", C: "~@8 [b2,d#3,f#3] ~@7", D: "~@3 c#2 ~@12",
E: "~@5 [a#2,c#3,f#3]@2 ~@25", F: "~@4 c#2@9 ~@19", G: "~@10 [f#1,f#2]@9 [a#2,c#3,f#3]@2 ~@11",
H: "~ [f#1,f#2]@4 ~@18 [a#2,c#3,f#3]@2 ~@7", I: "~ [f#1,f#2] ~@6", J: "c#2@2 ~@11 [c#3,f3,g#3]@2 ~@17",
K: "~@3 f#1 ~@4", L: "~ [a#2,c#3,f#3] ~@14", M: "~@6 [a#2,f#3] ~@9", N: "~@19 c#2@2 ~@11", O: "~@11 b1 ~@4",
P: "~@2 f#1@4 ~@17 [a#2,c#3,f#3]@2 ~@2 f#1@2 ~@3", Q: "[~@19 b1@9 ~@3 c#2@2 ~@31]/2", R: "~@3 f#1@2 ~@27",
S: "[~@14 b1@4 ~@9 b1@9 ~@28]/2", T: "~@13 c#2@2 ~@7 c#2@4 ~@6", U: "~ e1 ~@14", V: "~@11 c#2 ~@4",
W: "~@11 f#1@8 ~@13", X: "~@2 [c#3,f#3] ~@13", Y: "~@5 a1 ~@10", Z: "~@3 b1@4 ~@21 c#2@2 ~@2", AA: "~@2 f#1 ~",
AB: "~@7 f#1@4 ~@21", AC: "~@13 [b2,d#3,f#3]@2 ~@17", AD: "~@21 f1@2 ~@9", AE: "~@6 [a#2,c#3] ~@5 f#1@4",
AF: "~@5 f#1@2 ~@25", AG: "~ [a#2,c#3] ~ f#1 ~@12", AH: "~@7 b1", AI: "[~@29 c#2@8 ~@13 c#2@4 ~@10]/2",
AJ: "~@23 [b2,d#3,f#3]@2 ~@7", AK: "~@7 [f#2,a#2,c#3]@2 ~@23", AL: "b1@3 ~@13", AM: "~@5 [a#2,c#3] ~@2",
AN: "~@5 g#3 ~@2", AO: "~@27 a1@2 ~@3", AP: "~@7 [b2,f#3]@2 ~@13 [c#3,f3,g#3]@2 ~@8",
AQ: "~@5 [a#2,c#3,f#3]@2 ~@2 f#1@2 ~@6 a#2@4 ~@11", AR: "~@17 b1@3 [b2,d#3,f#3]@2 ~@10",
AS: "~@4 [f#2,a#2,c#3,f#3]@2 ~@9 f#1@4 ~@13", AT: "~@15 f#1@4 [a#2,c#3]@2 ~@2 a1@2 ~@7", AU: "~@17 f#3@2 ~@13",
AV: "[a#2,c#3] ~@15", AW: "~@5 f#1@2 ~@3 f1 ~@5", AX: "~@5 [a#2,c#3]@2 ~@9", AY: "~ b1@2 ~@29",
AZ: "~@6 [c#3,f3,g#3] ~@9", BA: "[~@31 f#1@2 ~@31]/2", BB: "~@14 c#2@3 ~ b1@3 ~@11", BC: "~@21 c#3@3 ~@8",
})).s("gm_electric_guitar_jazz").gain(0.24).pan(1)
// chords · electric guitar jazz · "Jazz Electric Guitar" · soft notes
const electric_guitar_jazz_2 = note(`<
A ~@9 B ~@18 C ~@24 D ~@7 E ~@9 F ~@5 G ~@3 H ~@5 I ~ J ~ K ~@15 L ~@4
>`.pickRestart({
A: "~@13 [e1,e2]@2 ~", B: "~@26 c#2@5 ~", C: "~@21 g#1@2 ~@9", D: "~@11 e1 ~@4", E: "~@27 e1@2 ~@3",
F: "~@5 [a#2,c#3] ~@2", G: "~@5 [f3,g#3] ~@2", H: "~@5 [c#3,f3] ~@2", I: "~@6 e1 ~@9", J: "~@7 d#3@2 ~@23",
K: "~@17 c#3@4 ~@11", L: "~@7 f#1@4 ~@21",
})).s("gm_electric_guitar_jazz").gain(0.12).pan(1)
// chords · electric guitar jazz · "Jazz Electric Guitar"
const electric_guitar_jazz_3 = note(`<
A@3 B C D E F@2 G H I J K L M N O P@3 Q@2 R S@2 T U V W X Y Z AA@3 AB AC AD AE AF AG@2 AH AI AJ AK AL AM AN AO AP@2 AQ
AR AS@3 AT@7 AU@2 AV AW AX AY AZ BA BB BC BD BE BF BG AZ AW AX BH BI BJ BB BK BI BL@8 BM BN BO BP BQ BR BS BT BU BV BW
BX BY@2 BZ CA@2
>`.pickRestart({
A: "[~@27 [e1,e2]@4 e2@4 [e1,e2]@4 ~ [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@8 f#2@4 [a#2,c#3,f#3] ~@4 a1 ~@3 b1@9 [b2,d#3,f#3] ~@4 c#2@2 ~@5]/3", // E F# B
B: "~ [c#3,f3,g#3]@5 [c#3,f3,g#3] ~@3 [e1,e2]@2 ~@3 [f#1,f#2]@9 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@3", // C# E F#
C: "~@5 [f#1,f#2]@4 [a#2,c#3,f#3] ~@4 [e1,e2] ~@3 [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@4", // F# E F#
D: "[f#1,f#2] ~@7 f#3@4 c#3 [a#2,f#3] ~@3 a1 ~@3 b1@9 [b2,d#3,f#3] ~", // F# D#m B
E: "~@3 b1 ~@8 b1@4 ~ [b2,d#3,f#3] ~@3 a1 ~@3 b1@7", // B
F: "[~@2 [b2,d#3,f#3] ~@4 c#2 ~@7 [c#3,f3,g#3]@5 [c#3,f3,g#3] ~@3 e1 ~@4 [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@8 [f#1,f#2]@4 [a#2,c#3,f#3] ~@4 e1@2 ~@2]/2", // B C# F#
G: "[f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@7 [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@3 a1", // F#
H: "~@3 c#2@8 ~ [c#3,f3,g#3] ~@4 c#2 ~@7 c#2@5 [c#3,f3,g#3] ~", I: "~@3 a1 ~@3 b1@9 [b2,d#3,f#3] ~@3 b1@2 ~@7 b1@3",
J: "~@2 [b2,d#3,f#3] ~@3 [e1,e2]@2 ~@3 [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6", // B E F#
K: "[f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@3 e1@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@4 [f#1,f#2]@2 ~@3", // F#
L: "~@3 [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@3 [e1,e2]@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@4 f#2@2", // F# E F#
M: "~@6 [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@3 a1 ~@3 b1@8 ~ [b2,d#3,f#3] ~@3", // F# B
N: "~ c#2 ~@7 [c#3,f3,g#3]@5 [c#3,f3,g#3] ~@3 e1@2 ~@2 [f#1,f#2]@8 ~ [a#2,c#3,f#3]", // C# F#
O: "~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@5 [a#2,c#3,f#3] ~@4 e1@2 ~@2 [f#1,f#2]@7", // F#
P: "[~ [a#2,c#3,f#3] ~@4 [f#1,f#2] ~@12 [a#2,c#3,f#3] ~@3 a1 ~@4 b1@8 [b2,d#3,f#3] ~@4 b1 ~@7 b1@4 ~ [b2,d#3,f#3] ~@3 a1 ~@3 b1@8 ~ [b2,d#3,f#3] ~@3 c#2 ~@8 [c#3,f3,g#3]@4 [c#3,f3,g#3]@2 ~@3 [e1,e2]@2 ~]/3", // F# B C# E
Q: "[~ [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@4 e1@2 ~@2 [f#1,f#2]@8 c#3 [a#2,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~, ~@31 e2@2 ~@31]/2", // F# D#m F#
R: "~@2 a1@2 ~@2 c#2@8 ~ [c#3,f3,g#3] ~@4 c#2@2 ~@6 c#2@4", // C#
S: "[~ [c#3,f3,g#3] ~@3 a1 ~@3 b1@8 ~ [b2,d#3,f#3] ~@4 b1@2 ~@6 b1@4 [b2,d#3,f#3] ~@8 [f#1,f#2]@8 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@5]/2", // C# B F#
T: "~ [f#1,f#2]@5 [a#2,c#3,f#3] ~@3 [e1,e2]@2 ~@3 [f#1,f#2]@9 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@2", // F# E F#
U: "~@4 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 e1@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~", // F#
V: "~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1@2 ~@2 b1@9 [b2,d#3,f#3] ~@4", // F# B
W: "c#2@2 ~@6 [c#3,f3,g#3]@4 [c#3,f3,g#3] ~@3 e1@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@2", // C# F#
X: "~ [f#1,f#2]@2 ~@7 f#2@4 [a#2,c#3,f#3] ~@3 [e1,e2] ~@4 [f#1,f#2]@8 [a#2,c#3,f#3]", // F# E F#
Y: "~@4 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1 ~@4 b1@7", // F#
Z: "~ [b2,d#3,f#3] ~@3 b1 ~@7 b1@5 [b2,d#3,f#3] ~@3 a1 ~ a#1@2 b1@6", // B
AA: "[~@3 [b2,d#3,f#3] ~@3 c#2@2 ~@7 [f3,g#3]@4 [c#3,f3,g#3] ~@3 e1@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 e1@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@4 f#1@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1 ~@3, ~@75 f#2@2 ~@19]/3", // B Fm C# F#
AB: "~ c#2@8 [c#3,f3,g#3] ~@4 c#2 ~@6 c#2@4 ~ [c#3,f3,g#3] ~@3 a1 ~", // C#
AC: "~@3 b1@8 [b2,d#3,f#3] ~@3 b1@2 ~@7 [d#3,f#3]@4 [b2,d#3,f#3] ~@3", // B D#m B
AD: "[e1,e2]@2 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~", // E F#
AE: "~@3 e1 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@7 [f#1,f#2]@3 ~", // F#
AF: "[a#2,c#3,f#3] ~@8 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 f#2@3", // F#
AG: "[~@2 [a#2,c#3,f#3] ~@3 a1 ~@3 b1@8 [b2,d#3,f#3] ~@4 c#2@2 ~@6 [f3,g#3]@4 [c#3,f3,g#3] ~@3 [e1,e2]@2 ~@3 [f#1,f#2]@7 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6]/2", // F# B Fm C# E F#
AH: "~@4 a#2 [c#3,f#3] ~@2 [e1,e2] ~@4 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 f#2 f#1 ~@5", // F#5 E F#
AI: "~ [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@2 a1 ~@4 b1@8 [b2,d#3,f#3] ~@3 b1@2 ~@4", // F# B
AJ: "~@2 b1@5 [b2,d#3,f#3] ~@3 a1 ~@3 b1@8 ~ [b2,d#3,f#3] ~@2 c#2 ~@4", // B
AK: "~@4 [c#3,f3,g#3]@4 [c#3,f3,g#3] ~@3 [e1,e2] ~@4 [f#1,f#2]@7 ~ [a#2,c#3,f#3] ~@3 f#2@2 ~", // C# E F#
AL: "~@5 [f#1,f#2]@4 [a#2,c#3,f#3] ~@8 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2", // F#
AM: "~@6 [f#1,f#2]@4 ~ [a#2,c#3,f#3] ~@3 a1 ~@3 c#2@8 [c#3,f3,g#3] ~@4", // F# C#
AN: "c#2 ~@7 c#2@4 [c#3,f3,g#3] ~@3 a1 ~@3 b1@8 ~ [b2,d#3,f#3] ~@2", // C# B
AO: "~ b1 ~@7 b1@4 ~ [b2,d#3,f#3] ~@3 e1 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3]@2", // B F#
AP: "[~@2 [f#1,f#2]@2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3]@2 ~@2 e1@2 ~@2 [f#1,f#2]@8 [a#2,c#3,f#3]@2 ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3]@2 ~@2 [e1,e2]@2 ~@3 [f#1,f#2]@7]/2", // F# E F#
AQ: "[a#2,c#3,f#3] ~@3 [f#1,f#2] ~@8 f#1@4 [a#2,c#3,f#3] ~@3 a1 ~@3 b1@7, ~@3 f#2 ~@4", // F#
AR: "~ [b2,d#3,f#3] ~@3 c#2 ~@7 [f3,g#3]@4 [c#3,f3,g#3] ~@3 e1 ~@4 [f#1,f#2]@6", // B Fm C# F#
AS: "[~@2 [a#2,c#3,f#3] ~@3 f#1@2 ~@6 f#2@4 [a#2,c#3,f#3] ~@7 [f#1,f#2]@8 f#3 [a#2,c#3] ~@3 [f#1,f#2]@2 ~@6 f#2@4 [a#2,c#3,f#3] ~@3 a1 ~@3 b1@8 [b2,d#3,f#3] ~@3 b1@2 ~@6 b1@4 [b2,d#3,f#3] ~@3 a1 ~ a#1 ~ b1@5]/3", // F# A#m F# B
AT: "[~@4 [b2,d#3,f#3] ~@3 c#2 ~@7 [c#3,f3,g#3]@4 [c#3,f3,g#3] ~@3 e1 ~@3 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@8 [f#1,f#2]@4 [a#2,c#3,f#3] ~@7 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [a#2,c#3,f#3]@4 [a#2,c#3,f#3] ~@3 a1 ~@4 c#2@7 ~ [c#3,f3,g#3] ~@3 c#2 ~@6 c#2@4 ~ [c#3,f3,g#3] ~@3 a1 ~@3 b1@8 [b2,d#3,f#3] ~@3 b1@2 ~@6 b1@3 ~ [b2,d#3,f#3] ~@3 e1 ~@3 f#1 [f#1,f#2]@7 [a#2,c#3,f#3] ~@4 f#2 ~@7 f#2@3 ~ [a#2,c#3,f#3] ~@3 e1 ~ f1@2 f#1@8 ~ [a#2,c#3,f#3] ~@3 f#2 ~@7 f#2@3 ~ [a#2,c#3,f#3] ~@3 [e1,e2] ~@3]/7", // B C# F# C# B F# E
AU: "[[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1 ~@2 b1@8 ~ [b2,d#3,f#3] ~@3 c#2 ~@7 [c#3,f3,g#3]@4 [c#3,f3,g#3] ~@3 e1 ~@3]/2", // F# B C#
AV: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [f#1,f#2]@3 ~ [a#2,c#3,f#3] ~@3 e1 ~@3", // F#
AW: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1 ~@3", // F#
AX: "b1@8 [b2,d#3,f#3] ~@3 b1 ~@7 b1@4 [b2,d#3,f#3] ~@3 a1 ~ a#1 ~", // B
AY: "b1@8 [b2,d#3,f#3] ~@3 c#2 ~@7 [f3,g#3]@4 [c#3,f3,g#3] ~@3 e1 ~@3", // B Fm C#
AZ: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 [e1,e2]@2 ~@2", // F# E
BA: "[f#1,f#2]@8 [c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 a1 ~@3", // F# F#5 F#
BB: "c#2@8 [c#3,f3,g#3] ~@3 c#2@2 ~@6 c#2@4 [c#3,f3,g#3] ~@3 a1 ~@3", // C#
BC: "b1@8 [b2,d#3,f#3] ~@3 b1 ~@7 b1@3 ~ [b2,d#3,f#3] ~@3 e1 f1 ~@2", // B
BD: "f#1@8 [a#2,c#3,f#3] ~@3 f#2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 e1 ~@3", // F#
BE: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@7", // F#
BF: "~@8 [f#2,a#2,f#3] ~@3 f#1@2 ~@6 f#2@4 [a#2,c#3,f#3] ~@3 a1 ~@3", // F#
BG: "b1@8 [b2,d#3,f#3] ~@3 c#2@2 ~@6 c#2@4 [c#3,f3,g#3] ~@3 e1 ~@3", // B C#
BH: "b1@8 [b2,d#3,f#3] ~@3 c#2@2 ~@5 c#2@4 ~ [c#3,f3,g#3] ~@3 [e1,e2] ~@3", // B C# E
BI: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 [e1,e2] ~@3", // F# E
BJ: "[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [a#2,c#3,f#3]@4 [a#2,c#3,f#3] ~@3 a1 ~@3", // F#
BK: "b1@7 ~ [b2,d#3,f#3] ~@3 b1 ~@7 b1@3 ~ [b2,d#3,f#3] ~@3 e2 ~@3", // B
BL: "[[f#1,f#2]@8 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@2 e1 ~@4 f#2@7 [a#2,c#3,f#3] ~@3 [f#1,f#2] ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@4 a1 ~@2 b1@7 [b2,d#3,f#3] ~@4 c#2@2 ~@5 [c#3,f3,g#3]@4 ~ [c#3,f3,g#3] ~@2 [e1,e2] ~@3 [f#1,f#2]@7 ~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@7 f#1@8 [f#2,a#2,c#3,f#3] ~@3 f#1@2 ~@5 f#2@4 [a#2,c#3,f#3] ~@3 a1 ~@3 b1@7 ~ [b2,d#3,f#3] ~@3 b1 ~@6 b1@4 ~ [b2,d#3,f#3] ~@2 a1 ~ a#1 ~ b1@7 ~ [b2,d#3,f#3] ~@3 c#2 ~@7 [f3,g#3]@4 [c#3,f3,g#3] ~@3 e1 ~@3 [f#1,f#2]@7 [a#2,c#3,f#3] ~@3 f#2@2 ~@7 f#2@3 [a#2,c#3,f#3] ~@3 e1 ~@3 f#1@5, ~@31 f#1@7 ~@218]/8", // F# B C# E F# B Fm C# …
BM: "~@3 [a#2,c#3,f#3] ~@3 f#2 ~@6 f#2@4 [a#2,c#3] f#3 ~@2 a1 ~@3 c#2@6", // F# A#m
BN: "~@2 [c#3,f3,g#3] ~@3 c#2 ~@7 c#2@4 [c#3,f3,g#3] ~@3 a1 ~@3 b1@6", // C#
BO: "~@2 [b2,d#3,f#3] ~@3 b1@2 ~@5 b1@4 [b2,d#3] f#3 ~@6 [f#1,f#2]@7", // B F#
BP: "~ [a#2,c#3,f#3] ~@3 [f#1,f#2]@2 ~@6 [f#1,f#2]@3 ~ [a#2,c#3,f#3] ~@3 [e1,e2] ~@3 [f#1,f#2]@7", // F# E F#
BQ: "[a#2,c#3,f#3] ~@3 f#2@2 ~@6 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 e1 ~@3 [f#1,f#2]@7 [a#2,c#3]", // F# A#m
BR: "f#3 ~@3 [f#1,f#2] ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@2 a1 ~@3 b1@7 ~ [b2,d#3,f#3]", // F# B
BS: "~@3 c#2@2 ~@6 c#2@4 [c#3,f3,g#3] ~@3 e1 ~@3 [f#1,f#2]@7 ~ [a#2,c#3,f#3]", // C# F#
BT: "~@3 f#2@2 ~@6 f#2@3 [a#2,c#3,f#3] ~@3 e1 ~@3 f#1@8 [a#2,c#3,f#3] ~", // F#
BU: "~@2 f#2 ~@7 f#2@4 [a#2,c#3,f#3] ~@3 a1 ~@3 b1@7 [b2,d#3,f#3] ~@2", // F# B
BV: "~@2 b1 ~@6 b1@3 ~ [b2,d#3,f#3] ~@3 a1 ~ a#1 ~ b1@8 [b2,d#3,f#3] ~@2", // B
BW: "~ c#2@2 ~@6 [c#3,f3,g#3]@4 [c#3,f3,g#3] ~@2 [e1,e2] ~@4 f#2@7 [a#2,c#3,f#3] ~@3, ~@20 f#1@7 ~@5", // C# E F#
BX: "f#2 ~@7 [f#1,f#2]@4 [a#2,c#3,f#3] ~@3 e1@2 ~@2 [f#1,f#2]@8 [a#2,c#3,f#3] ~@3", // F#
BY: "[f#2 ~@7 f#2@3 [a#2,c#3,f#3] ~@3 a1 ~@3 c#2@8 [c#3,f3,g#3]@2 ~@2 c#2@2 ~@6 c#2@4 [c#3,f3,g#3]@3 ~ c#2@3 ~ [b1,b2,d#3,f#3,a3]@4 ~@9]/2", // F# C# B7
BZ: "~@15 c#4", CA: "[~@3 a3@2 ~@2 b3@2 ~@3 a3@3 ~@2 f#3@2 ~@3 c#3@2 ~@3 f#3@23 ~@14]/2",
})).s("gm_electric_guitar_jazz").gain(0.2).pan(0)
// chords · electric guitar jazz · "Jazz Electric Guitar" · soft notes
const electric_guitar_jazz_4 = note(`<
A@3 ~@2 B ~ C D ~@4 E F ~ G H I ~@6 J ~ K ~ L M ~@2 N O ~@2 P ~ Q R S@2 T ~@2 U V ~@2 W X ~@2 Y Z ~@2 C AA ~@3 AB ~@2
AC@2 ~@2 AD ~ AE ~ AF AC AG AH AC ~@7 AI ~ AJ ~@2 AK ~@2 AL AM ~@2 AN ~ AO ~ AP ~@4 AQ ~@5
>`.pickRestart({
A: "[~@31 e1@4 ~@27 f#1@5 ~@29]/3", B: "~@8 [a#2,c#3]@5 ~@19", C: "~@24 e2 ~@7", D: "~@14 e2 ~", E: "~@5 e2 ~@10",
F: "~@15 f#1", G: "~@9 e2 ~@6", H: "~@21 e2@2 ~@9", I: "~@15 [a#2,c#3,f#3]@4 ~@13", J: "~@4 [e1,e2] ~@11",
K: "~@6 e2 ~@9", L: "~@8 e2 ~@7", M: "~@10 f#1@5 ~@17", N: "~@8 c#3@2 ~@2 e2 ~@3", O: "~@13 e2 ~@2", P: "~@6 b2 ~",
Q: "~@3 e2 ~@28", R: "~@4 [e1,e2]@2 ~@23 f#1@3", S: "[~@31 c#3@4 ~@29]/2", T: "[f#1,f#2] ~@7", U: "~@29 f#1@2 ~",
V: "~@14 e2 ~@17, ~@13 e1@2 ~@17", W: "~@18 e2 ~@13", X: "~@19 e2@2 ~@11", Y: "~@13 c#3@4 ~@4 e2 ~@10",
Z: "~@22 e1 ~@9", AA: "~@25 [e1,e2] ~@6", AB: "~@11 f#1 ~@7 f#1@3 ~@10", AC: "~@28 e2 ~@3",
AD: "~@20 c#3@4 ~@4 e2 ~@3", AE: "~@8 a#2 ~@23", AF: "c#2 ~@31", AG: "g#2 ~@27 e1 ~@3", AH: "f#1@8 c#3 ~@23",
AI: "~@28 e1 ~@3", AJ: "~@27 e2 ~@4", AK: "~@26 e1 ~@5", AL: "~@16 c#3@4 ~@4 e2 ~@7", AM: "~@8 f#1 ~@23",
AN: "~@21 [e1,e2]@2 ~@9", AO: "~@5 f#1@2 ~@13 e2 ~@11", AP: "~@19 e2 ~@12", AQ: "f#1 ~@15 e2@2 ~@14",
})).s("gm_electric_guitar_jazz").gain(0.12).pan(0)
// bass · electric bass finger · "Bass"
const bass = note(`<
~@27 A B@2 C D E@4 F@2 G H I J@2 K L M N O@2 P Q R S T U V W X@8 Y Z AA AB AC Z AD AE AF AG AH AI AJ Z AK AL AM Z AN
AO AP AQ AH AR@8 AS AT AU AV S AW AX AY AZ BA BB BC@3 BD@3
>`.pickRestart({
A: "~@17 f#1@6 ~@6 f#1@3", B: "[~@6 a1@4 c#2@4 c2@4 ~ b1@12 c#2@2 ~@7 c#2@4 ~@4 e1@4 ~ f#1@9 ~@2]/2",
C: "~ f#1@2 ~@7 f#1@4 ~@4 e1@4 ~ f#1@9", D: "~@3 f#1@2 ~@3 c#2@4 f#2@4 c#2@4 c2@4 ~ b1@7",
E: "[~@5 b1@2 ~@7 b1@4 ~@4 a1@2 ~ a#1@2 b1@9 ~@3 c#2@2 ~@7 c#2@4 ~@4 e1@4 ~ f#1@9 ~@3 f#1@2 ~@7 f#1@4 ~@4 e1@4 ~ f#1@9 ~@3 a1@4 ~@5 b1@4 ~@4 c2@4]/4",
F: "[~ c#2@9 ~@3 c#2@2 ~@7 c#2@4 ~@4 a1@4 ~ b1@9 ~@3 b1@4 ~@5 c#1@4 e1@4]/2",
G: "f1@4 ~ f#1@9 ~@3 f#1@2 ~@7 f#1@4 ~@2", H: "~@2 e1@4 ~ f#1@9 ~@3 f#1@2 ~@7 f#1@4",
I: "~@4 e1@4 ~ f#1@8 ~@4 f#1@4 ~@4 a1@3",
J: "[~@2 c#2@4 c2@4 b1@8 ~@4 c#2@2 ~@7 c#2@4 ~@4 e1@4 f#1@8 ~@5 f#1@2 ~@6]/2",
K: "f#1@4 ~@4 e1@2 f1@2 ~ f#1@8 ~@4 f#1@2 ~@2 c#2@3", L: "~ f#2@4 ~ c#2@4 c2@4 b1@8 ~@4 b1@2 ~@4",
M: "~@3 b1@4 ~@4 a1@2 a#1@2 b1@8 ~@5 c#2@2 ~@2", N: "~@4 c#2@4 ~@4 e1@4 f#1@8 ~@5 f#1@2 ~",
O: "[~@5 f#1@4 ~@5 e1@4 f#1@8 ~@4 a1@4 ~@5 b1@4 ~@4 c2@4 c#2@8 ~@5]/2", P: "c#2 ~@3 c#2@2 ~@2 a1@2 b1@4 ~@2",
Q: "~ b1@2 ~@6 b1@4 ~@5 e1@4 f#1@8 ~@2", R: "~@2 f#1@2 ~@7 f#1@4 ~@4 e1@4 f#1@8 ~",
S: "~@2 f#1 ~@3 f#1@2 ~@2 e1@2 f#1@4", T: "~@5 f#1@2 ~@6 a1@4 c#2@4 c2@4 b1@7",
U: "~@5 c#2@2 ~@6 c#2@4 ~@5 e1@4 f#1@6", V: "~@3 f#1 ~@3 f#1@2 ~@2 e1@2 f#1@3",
W: "~@6 f#1@2 ~@3 c#2@4 f#2@4 c#2@4 c2@4 b1@5",
X: "[~@7 b1@2 ~@6 b1@4 ~@4 a1@2 a#1@2 ~ b1@8 ~@4 c#2@2 ~@6 c#2@4 ~@4 e1@4 f#1@8 ~@4 f#1@2 ~@7 f#1@4 ~@4 e1@4 f#1@8 ~@4 a1@4 ~@4 b1@4 ~@4 c2@4 c#2@8 ~@5 c#2@2 ~@6 c#2@4 ~@4 a1@4 b1@8 ~@4 b1@2 ~@6 b1@4 ~@5 e1@4 f#1@8 ~@4 f#1@2 ~@6 f#1@4 ~@4 e1@4 f#1@6 ~@7 f#1@2 ~@6 f#1@2 ~@6 e1@2 ~@2]/8",
Y: "f#1@2 ~ f#1 ~ a1 c#2 c2", Z: "b1@4 ~@2 c#2 ~@3 c#2@2 ~@2 e1@2", AA: "f#1@5 ~ d#2@2 e2@4 d#2@3 ~",
AB: "f#1@4 ~@2 d#2@2 e2@4 d#2@3 ~", AC: "b1@4 ~@2 b1 ~@3 b1 ~@3 a1 a#1", AD: "f#1@2 ~ d#2 e2@2 d#2@2",
AE: "f#1@2 ~ d#2 e2 a#1 b1 c2", AF: "c#2@4 ~@2 c#2 ~@3 c#2@2 ~@2 a1 a#1", AG: "b1@4 ~@2 b1 ~@3 b1@2 ~@2 e1 ~",
AH: "f#1@4 ~@2 f#1 ~@3 f#1 ~@3 e1 f1", AI: "f#1@4 ~@2 f#1 ~@3 f#1@2 ~@4", AJ: "~@6 f#2 a1",
AK: "f#1@4 ~@2 f#1 ~@3 f#1@2 ~@2 e1@2", AL: "f#1@4 ~@2 f#1 ~@3 a1@2 c#2@2 c2@2",
AM: "b1@4 ~@2 b1 ~@3 b1@2 ~@2 a1 a#1", AN: "f#1@4 ~@2 f#1 ~@3 f#1@2 ~@2 e1 ~", AO: "f#1@2 ~ a1 ~ b1 ~ c2",
AP: "c#2@4 ~@2 c#2 ~@3 c#2@2 ~@2 a1 ~", AQ: "b1@4 ~@2 b1 ~@3 b1@2 ~@2 e1@2",
AR: "[f#1@8 ~@4 f#1@2 ~@6 f#1@2 ~@5 e1@4 f#1@8 ~@4 f#1@2 ~@6 a1@4 c#2@4 c2@4 b1@8 ~@4 c#2@2 ~@5 c#2@4 ~@4 e1@4 f#1@8 ~@4 f#1@2 ~@6 f#1@4 ~@4 e1@4 f#1@8 ~@3 f#1@2 ~@2 c#2@4 f#2@4 c#2@4 c2@4 b1@8 ~@4 b1@2 ~@6 b1@4 ~@3 a1@2 a#1@2 b1@8 ~@4 c#2@2 ~@6 c#2@4 ~@4 e1@4 f#1@8 ~@3 f#1@2 ~@6 f#1@4 ~@4 e1@2 f1@2 f#1@5]/8",
AS: "~@7 a1@4 ~@4 b1@4 ~@4 c2@3 c#2@6", AT: "~@3 c#2 ~@3 c#2@2 ~@2 a1@2 b1@3", AU: "~@6 b1@2 ~@5 b1@4 ~@4 e1@4 f#1@7",
AV: "~@5 f#1@2 ~@6 f#1@2 ~@6 e1@2 f1@2 f#1@7", AW: "~@4 f#1@2 ~@6 a1@4 c#2@3 c2@4 b1@8 ~",
AX: "~@3 c#2@2 ~@6 c#2@4 ~@4 e1@4 f#1@8 ~", AY: "~@3 f#1@2 ~@5 f#1@4 ~@4 e1@4 f#1@8 ~@2",
AZ: "~ f#1 ~ c#2@2 e2@2 c#2@2 c2@2 b1@4 ~", BA: "~ b1@2 ~@6 b1@4 ~@4 a1@2 a#1@2 b1@10 ~",
BB: "~ c#2@2 ~@6 c#2@4 ~@3 e1@4 f#1@8 ~@4",
BC: "[f#1@2 ~@6 f#1@2 ~@6 e1@4 f#1@8 ~@3 a1@2 ~@6 b1@2 ~@6 c2@4 c#2@8 ~@4 c#2@2 ~@6 c#2@4 ~@4 a1@3 b1@4 ~@10]/3",
BD: "[~@30 c#2@4 ~ a1@2 ~@2 b1@2 ~@2 a1@2 ~@3 f#1@2 ~@2 c#1@4 ~ e1@2 f#1@15 ~@22, ~@15 c2 ~@32]/3",
})).s("gm_electric_bass_finger").gain(0.46)
// chords · rock organ · "Hammond Organ"
const rock_organ = note(`<
~@40 A@4 B@4 C@4 D ~@12 E@2 F G H I J K L@2 M N O ~@5 P@2 Q@2 R S@4 T@4 U@4 V@2 W@2 X Y Z AA@3 AB@3
>`.pickRestart({
A: "[~@9 [a#3,c#4,e4]@33 [b3,d#4]@12 [c#4,f4,g#4]@21 [a#3,c#4,e4,f#4]@31 ~@3 [a#3,c#4,e4,f#4]@8 ~@4 [a#3,c#4,e4,f#4]@6 ~, ~@9 f#4@46 ~@73, ~@21 d4 ~@42]/4", // A#dim B C# F#7
B: "[~ [a#3,c#4,e4,f#4]@8 ~@5 [a3,b3,d#4,f#4]@31 ~@2 [a3,b3,d#4,f#4]@8 ~@5 [b3,c#4,f4,g#4]@19 ~ [a#3,c#4,e4,f#4]@31 ~@3 [a#3,c#4,e4,f#4]@8 ~@4 [a#3,c#4,e4,f#4]@2]/4", // F#7 B7 C#7 F#7
C: "[~@7 [c#4,e4,f#4]@8 ~@4 [b3,c#4,f4,g#4]@29 b3@2 ~@2 [d#4,f#4,a4]@21 b3@4 [d#4,f#4,a4]@5 b3@2 ~@2 [c#4,e4,f#4]@31 ~@2 [c#4,e4,f#4]@8 ~, ~@7 a#3@4 ~@8 e4@2 ~@31 b3@19 ~@15 a#3@27 ~@6 a#3@4 ~@5]/4", // F#7 C#7 D#dim F#7
D: "~@2 [a#3,c#4,e4,f#4] ~@3 [a#3,c#4,e4,f#4]@4 a#3 ~@5", // F#7
E: "[c#5@15 ~ [b4,d#5,a5]@6 e5 f5@9, f#5@11 ~@5, c5 ~@21 [c#5,g#5]@9 ~]/2", // B7 C#5
F: "[a#4,c#5,f#5]@3 [a#4,f#5] e5@2 [a#4,d#5,f#5]@2, ~@6 d#5 ~@9", // F# D#m
G: "[a#4,c#5,f#5]@5 ~ [a#4,d#5] ~ [a#4,e5]@4 [a#4,d#5,f#5]@3 ~, ~@6 f#5@5 ~@5", // F# D#5 A#dim D#m
H: "[d#5,f#5,a5]@5 ~ [d#5,f#5,a5]@9 ~, b4@13 ~@3", // D#dim
I: "[b4,d#5,f#5,a5]@5 ~ [c#5,f5,g#5]@3 ~ [c#5,f5,g#5]@6, ~@10 e5 ~@5", // B7 C#
J: "[a#4,c#5,f#5]@5 ~ [a#4,d#5] ~ [a#4,e5]@4 [a#4,d#5,f#5]@4, ~@3 f#5 ~@4", // F# D#5 A#dim D#m
K: "[a#4,c#5,f#5]@5 ~ [a#4,d#5,f#5] ~ [a#4,e5,f#5]@3 ~ [d#5,f#5]@3 ~, ~@12 a#4 ~@3", // F# D#m F#7 D#m
L: "[[b4,c#5,f5,g#5]@5 ~ [c#5,f5,g#5]@8 ~@2 [d#5,f#5,a5]@5 ~ [b4,d#5,f#5,a5]@3 ~ [d#5,f#5,a5]@5 ~, e5 ~@5 b4@7 ~ b4@7 ~@5 b4@3 ~@3]/2", // C#7 C# D#dim B7 D#dim
M: "[a#4,f#5]@4 [c#6,f#6]@3 ~ [c#6,f#6]@3 ~ [c#6,f#6]@3 ~, c#5@2 ~@2 c6 ~@3 c6 ~@3 c6 ~@3", // D#m F#5
// … 287 more lines
More by Tracy Chapman
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.