0:00/0:00
// Medley: Winter Wonderland — Rogers Kenny
// 208 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 3/4 at bar 66, 2/4 at bar 110) are rendered on a constant 4/4 grid of one bar per cycle
// note: Full arrangement: all 166 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(208/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 · piano
const piano = note("<~@15 A@5 ~@5 B@2 C@2 D E F@2 ~ G H I H ~@4 J K ~@13 L@2 M@2 N O P ~@102>".pickRestart({
A: "[[g4,b4]@10 ~@2 [g4,c5] ~@3 [g4,c5]@5 ~ [g4,b4]@18 ~@2 [g4,c5] ~@5 [g4,c5]@3 ~ [g4,b4]@2 ~@2 a4@4 b4@5 ~@15, g3@33 ~@7, ~@56 g4@9 ~@15]/5", // G C5 G C5 G
B: "[~@2 d6@2 c6@2 ~ d6@25, a5@31 ~]/2", C: "[[e5,c6]@3 ~]/2", D: "f6, a5@7 ~", E: "e6, g5@7 ~",
F: "[[f5,d6]@19 ~@13]/2", G: "~@5 g4@4 ~@3 [g4,c5,e5]@4, ~ [c5,e5] ~@2", H: "~@4 [g4,c5,e5]@5 ~@7",
I: "~ [g4,c5,e5] ~ [g4,c5,e5]", J: "~@4 [g4,c5,e5]@4 ~@5 [g4,c5,e5]@3", K: "~@5 [g4,c5]@4 ~@7, ~ e5 ~@2",
L: "[[d4,a4,d5,f5]@13 ~@3]/2", M: "[[c4,g4,c5,e5]@27 ~@5]/2", N: "[f4,f5], c5@7 ~, a4@3 ~", O: "[e4,c5,e5], g4@3 ~",
P: "[d4,a4,f5]", // Dm
})).s("gm_piano").gain(0.25).pan(0.8)
// chords · epiano1 · "Piano"
const epiano1 = note(`<
~@67 A@4 B C D@8 E@6 ~@2 F@5 G H@2 I@4 J@8 ~@3 K@2 L@6 M@3 N@6 O@8 P Q@8 R S@7 T@7 U@5
>`.pickRestart({
A: "[~ [f3,a3,c4]@15]/4", B: "~@9 [f3,a3,c4]@7", C: "~@9 c3@7",
D: "[~@11 c5@12 ~@4 [f3,a3,c4]@66 ~@20 f4@15, ~@8 g5@14 ~@73 [f3,a3,c4]@33, ~@9 e5@13 ~@5 b3 ~@66 c3@2 ~@32]/8", // F
E: "[~@2 [e3,g3]@17 g4@15 ~@2 [b3,d4]@30 ~@4 [g3,c4,e4]@18 ~@8, ~ c3@17 ~@30, ~@19 c4@12 ~@5 g3@33 ~@27, ~@19 e4@10 ~@67]/6", // Em Bm C
F: "[~@11 [a3,c4]@65 ~@4, ~@11 f3@68 ~]/5", G: "[f3,a3,c4]", H: "[~@9 c5@6 ~, c3, ~@15 g5@14 ~@3, ~@16 e5@13 ~@3]/2",
I: "[~ [f3,a3,c4]@31, ~@2 b3 ~@61]/4", // F
J: "[~@24 f4@16 ~ [e3,g3]@17 g4@15 ~@2 [b3,d4]@30 ~@4 [g3,c4,e4]@19, ~@5 c3@2 ~@34 c3@34 ~@53, ~@6 [f3,a3,c4]@34 ~@18 c4@12 ~@5 g3@33 ~@20, ~@29 e4@5 ~@30]/8", // Em Bm C F
K: "[~ [c5,e5]@7, ~ g4@15]/2", L: "[~@8 [f4,a4,c5]@12 ~@7 [c5,e5]@32 ~@4 [g4,e5]@30 ~@3, ~@24 g4@35 ~@4 c5@28 ~@5]/6",
M: "[~@3 [e4,g4,c5]@16 ~@2 [d4,g4,b4]@27]/3", // C G
N: "[~@9 e5@33 ~@3 [f4,a4,c5]@14 ~@4 [g4,c5,e5]@33, ~@7 g4@34 ~@55, ~@3 c5@10 ~@19]/6", // F C
O: "[~@4 [g4,e5]@35 ~ [g4,d5]@12 ~@6 [e4,g4,c5]@18 [e4,g4,c5]@15 ~@3 e5@33 ~, ~@2 c5@15 ~@3 b4@5 ~@22 g4@15 ~@2, ~@47 c5@14 ~@3]/8", // C G5 C
P: "~@2 [f4,a4,c5]@13 ~", // F
Q: "[~@4 [g4,e5]@14 ~@4 [f4,a4,c5]@14 ~@4 [g4,e5]@16 ~@3 [g4,b4,d5]@13 ~@5 g5@13 ~@5 [g4,e5]@33, ~@4 c5@12 ~@24 c5@13 ~@19 b4@18 ~@5 c5@31 ~@2, ~@74 d5@15 ~@39]/8", // C F C G C
R: "~@3 [f4,a4,c5]@13", // F
S: "[~@5 [g4,c5,e5]@17 ~ g4@17 ~ [f4,a4,c5]@16 ~@2 [g4,d5]@32 ~@4 [f4,a4]@15 ~@2, ~@23 e5@15 ~@57 d5@17, ~@23 c5@13 ~@23 b4@29 ~@24]/7", // C F G5 F
T: "[~@2 [b4,d5]@14 ~@4 e5@13 ~@5 [e4,g4,c5]@15 ~@3 e5@33 ~@3 [f4,a4,c5]@16 ~@4, ~@2 g4@31 ~@23 g4@30 ~@26, ~@20 c5@11 ~@25 c5@28 ~@28]/7", // Bm C F
U: "[~@3 [g4,c5,e5]@63 ~@14]/5", // C
})).s("gm_epiano1").gain(0.16)
// chords · acoustic guitar steel · "Gtr.Chord"
const acoustic_guitar_steel = note(`<
A@2 ~@4 B C D B A@2 E@2 F B G B@2 H@2 B@3 C H I E J K L A M ~ N O@2 P Q H R@3 S T H U B G B@2 T H B C B V A W E J X J
Y Z ~@2 AA AB AC AD AE AF AG AH AI@2 AJ@3 AK AL AM AN AO AP AQ ~@2 AR AS AT@4 AU AV AW AX AY AC AZ BA BB BC BD BE@4
BF@2 BG@7 BH@2 BI@2 BJ@3 BK@2 BL@4 BM@4 BN@2 BO@3 BP@4 BQ@2 BR@2 BS@5 BT@4 BU@8
>`.pickRestart({
A: "~ [a3,d4,f4] ~ [a3,d4,f4]", B: "~ [b3,d4,g4] ~ [b3,d4,g4]", C: "~@4 [b3,d4,g4]@4 ~@4 [b3,d4,g4]@3 ~",
D: "~@4 [b3,d4,g4]@3 ~@5 [b3,d4,g4]@4", E: "~ [c4,e4,g4] ~ [c4,e4,g4]", F: "~ [a3,c4,f4] ~ [a3,c4,f4]",
G: "~@4 [b3,d4,g4]@5 ~@3 [b3,e4,g4]@4", H: "~ [a3,c4,d4,f4] ~ [a3,c4,d4,f4]",
I: "~@4 [a3,c4,d4,f4]@5 ~@3 [a3,c4,d4,f4]@3 ~", J: "~@4 [c4,e4,g4]@4 ~@4 [c4,e4,g4]@3 ~",
K: "~@4 [a3,c4,f4]@5 ~@3 [a3,c4,f4]@4", L: "~@4 [a3,c4,e4]@5 ~@3 [a3,c4,e4]@4", M: "[d4,f4] ~@15",
N: "~@4 [e3,g3,c4]@3 ~@5 [e3,g3,c4]@4", O: "~ [e3,g3,c4] ~ [e3,g3,c4]", P: "~@4 [g3,e4]@3 ~@9",
Q: "~@4 [a3,c4,d4,f4]@3 ~@5 [a3,c4,d4,f4]@3 ~", R: "~ [g3,c4,e4] ~ [g3,c4,e4]",
S: "~@4 [g3,c4,e4]@4 ~@4 [g3,c4,e4]@3 ~", T: "~@4 [a3,c4,d4,f4]@3 ~@5 [a3,c4,d4,f4]@4",
U: "~@4 [a3,c4,f4]@4 ~@4 [a3,c4,f4]@3 ~", V: "~ [b3,d4,g4] ~ [b3,d4,a4]", W: "~@4 [a3,d4,f4]@4 ~@4 [a3,d4,f4]@3 ~",
X: "~ [c4,f4,a4] ~ [c4,f4,a4]", Y: "~@2 [c4,d4,f4]@2 ~@2 [c4,d4,f4] ~", Z: "[c4,d4,f4] ~@7",
AA: "~@3 [a3,c4,f4]@6 ~@7", AB: "~@2 [a3,c4,f4]@3 ~@3", AC: "~@5 [a3,c4,f4]@6 ~@5", AD: "~@7 [a3,c4,f4]@5 ~@4",
AE: "~@8 [a3,c4,f4]@5 ~@3", AF: "~@9 [g3,c4,e4]@5 ~@2", AG: "~@5 [g3,c4,e4]@3", AH: "~@11 [a3,c4,f4]@4 ~",
AI: "[~@12 [a3,c4]@6 ~@11 [a3,c4,f4]@3, ~@3 f4 ~@4]/2", AJ: "[~@14 [a3,c4,f4]@6 ~@11 [a3,c4,f4]@6 ~@11]/3",
AK: "[a3,c4,f4] ~@3", AL: "~ [g3,c4,e4]@2 ~@5", AM: "~@3 [g3,c4,e4]@4 ~@9", AN: "~ [g3,b3,d4] ~@2",
AO: "~@5 [g3,b3]@6 ~@5, ~@5 d4@4 ~@7", AP: "~@3 [c4,e4]@3 ~@2, ~@3 g3@2 ~@3", AQ: "~@7 [g3,c4,e4]@4 ~@5",
AR: "~@5 [a3,c4,f4]@3", AS: "~@11 [a3,c4,f4]@5", AT: "[~@12 [a3,c4,f4]@6 ~@12 [a3,c4,f4]@5 ~@12 [a3,c4,f4]@5 ~@12]/4",
AU: "[g3,c4,e4]@5 ~@11", AV: "~ [g3,c4,e4]@6 ~@9", AW: "~ [a3,c4,f4]@2 ~@5", AX: "~@3 [a3,c4]@6 ~@7, ~@3 f4@4 ~@9",
AY: "~ [a3,c4,f4] ~@2", AZ: "~@3 [a3,c4,f4]@3 ~@2", BA: "~@7 [a3,c4,f4]@4 ~@5", BB: "~@9 [g3,c4,e4]@4 ~@3",
BC: "~@5 [g3,c4,e4]@2 ~", BD: "~@11 [g3,b3,d4]@4 ~",
BE: "[~@12 [g3,b3]@6 ~@11 [c4,e4]@6 ~@11 [g3,c4,e4]@6 ~@12, ~@12 d4@4 ~@13 g3@4 ~@31]/4", // G C
BF: "[~@5 [e3,g3,c4]@4 ~@5 [e3,g3,c4]@4 ~@5 [g3,c4,e4]@4 g2@5, c3@9 g2@8 ~ c3@9 ~@5]/2", // C
BG: "[~ e4@3 ~@6 e4@3 ~@6 e4@3 ~@6 e4@3 g2@5 ~ e4@3 ~@6 c4@4 ~@5 c4@3 ~@6 e4@4 ~@5 e4@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@3, [g3,c4]@4 c3@9 g2@8 ~ c3@9 ~@9 f2@8 ~@2 c2@6 ~@7 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4, ~@9 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [f3,a3]@4 ~@5 [f3,a3]@4 ~ c3@8 ~ g2@8 ~ c3@9 g2@8 ~ c3@8 ~ g2@8]/7", // C C5 F
BH: "[~@6 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 g2@4, ~ c3@8 ~ g2@8 ~ c3@8 ~@5, ~@5 g3@4 ~@5 g3@5 ~@4 g3@4 ~@5]/2", // C
BI: "[~ [c4,e4]@3 ~@6 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4, g3@4 ~ g2@8 ~ d2@9 g2@8 ~]/2", // C G
BJ: "[d2@5 [g3,b3,d4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@4 ~@6 e4@3 ~@6 e4@3 f2@3, ~@9 c3@9 g2@8 ~ c3@9 g2@9 ~@3, ~@32 [g3,c4]@4 ~@5 [g3,c4]@4 ~@3]/3", // G C C5
BK: "[~@3 c4@3 c2@4 ~@2 c4@3 ~@6 e4@3 ~@6 e4@2, ~@2 [f3,a3]@4 ~@5 [f3,a3]@4 c3@8 ~ g2@8, ~@20 [g3,c4]@4 ~@5 [g3,c4]@3]/2", // F C5
BL: "[~@7 e4@3 ~@6 e4@3 ~@6 e4@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 g2@4 ~ [c4,e4]@4 ~@5 [b3,d4]@3, ~@2 c3@9 g2@8 ~ c3@8 ~ g2@8 ~ c3@9 ~@9 g2@8, ~@6 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@5 g3@4]/4", // C Bm C5
BM: "[~ c2@4 ~ [b3,d4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@4 ~@5 [e4,g4]@4 g2@5 [c4,e4,g4]@3 ~@6 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@3 ~, ~@5 g3@4 ~ c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8 ~ g2@8 ~, ~@14 g3@4 ~@5 g3@4 ~@5 c4@4 ~@28]/4", // Bm C Em C
BN: "[~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@3 c2@4 ~, c3@4 ~@5 f2@4 ~@3, ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@5 ~@4]/2", // C5 C F
BO: "[~ f3@3 ~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@3 c2@5 ~ f3@3 ~@5 [c4,e4]@3, [a3,c4]@4 c3@9 ~@9 f2@9 ~@9 c3@8, ~@9 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@4 ~@5 [a3,c4]@4 ~@8]/3", // C Am C5 C F Am
BP: "[~@7 g3@3 ~@6 d4@4 ~@5 [g3,b3]@3 ~@6 [b3,d4]@4 d2@4 ~ [g3,b3]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@3, ~@2 g2@7 ~@2 g2@9 d2@8 ~ g2@8 ~@10 c3@8 ~ g2@8, ~@6 [c4,e4]@4 ~@5 [g3,b3]@5 ~@4 d4@4 ~@5 g3@5 ~@4 d4@5 ~@4 g3@5 ~@4 e4@4]/4", // G Bm G C C5 C G
BQ: "[~@6 [c4,e4]@4 g2@4 ~ [g3,c4]@3 ~@6 [a3,c4]@4 c2@4, ~ c3@8 ~@10 f2@9 ~@4, ~@5 g3@4 ~@5 e4@4 ~@5 f3@4 ~@5]/2", // C C5 Am
BR: "[~ [f3,a3]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@4, c4@4 ~ c3@9 g2@8 ~ c3@8 ~]/2", // F C
BS: "[~@6 g3@3 ~@9 c2@4 ~@2 f3@3 ~@6 d4@3 ~@6 g3@3 ~@6 d4@2 ~@7 g3@2 ~@7 a3@3 ~@6 d3@2, g2@7 ~@2 f2@8 ~@10 g2@9 d2@9 g2@8 ~ d2@8 ~ d2@7 ~@2 a2@8, ~@5 [c4,e4]@4 ~@5 [f3,a3]@6 ~@12 [g3,b3]@5 ~@13 [g3,b3]@4 ~@14 [d3,f3]@5 ~@4 [f3,a3]@3, ~@15 c4@5 ~@3 [a3,c4]@4 ~@14 [b3,d4]@4 ~@14 [b3,d4]@2 ~@19]/5", // C F G Dm F Am Bm
BT: "[~@7 d4@4 ~@5 g3@4 ~@5 [e4,g4]@4 ~@5 [c4,e4]@4 ~@5 [e4,g4]@4 g2@4 ~ [c4,e4]@3 ~@6 [c4,e4]@3, ~@2 g2@6 ~@3 g2@6 ~@3 c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8, ~@6 [g3,b3]@5 ~@4 [b3,d4]@4 ~@5 c4@2 ~@7 g4@4 ~@5 c4@4 ~@5 g4@4 ~@5 g3@4]/4", // Em C Em C G Bm
BU: "[~@6 [g3,c4]@3 ~@6 [c4,e4]@3 ~ g2@4 ~ [g3,c4]@3 ~@7 [a3,c4]@5 c2@5 ~@2 f3@4 ~ [c3,g3,c4,e4]@63 ~@14, ~ g2@8 ~ c3@8 ~@10 f2@10 ~@90, ~@5 e4@4 ~@5 g3@4 ~@5 e4@4 ~@6 f3@6 ~@6 [a3,c4]@5 ~@78]/8", // C5 C C5 Am C Am
})).s("gm_acoustic_guitar_steel").gain(0.12).pan(0.8)
// chords · acoustic guitar steel · "Gtr.Chord" · soft notes
const acoustic_guitar_steel_2 = note(`<
~@67 A@2 B@2 C D E F G H I J K L M N O@2 P@2 ~@3 Q R S T U V@2 W X Y Z@2 AA D AB@2 AC AD AE ~@57
>`.pickRestart({
A: "[~@9 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2]/2", // F
B: "[[a3,c4,f4]@2 ~@2 [a3,c4,f4] ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [a3,c4,f4]@2 ~@2]/2", // F
C: "[a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [a3,c4,f4]@2 ~", // F
D: "~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@5 [g3,c4,e4]@2", E: "~ [g3,c4,e4]!2 ~ [g3,c4,e4] ~@3",
F: "[g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5", // C
G: "~ [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@4", // F
H: "~@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4] [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~@3", // F
I: "~@3 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@2", // F
J: "~@4 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~", // F
K: "~@5 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]", L: "~@3 [a3,c4,f4] ~ [a3,c4,f4]!2 ~",
M: "[a3,c4,f4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~", // F C
N: "~ [g3,c4,e4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2", // C
O: "[~@2 [g3,c4,e4]@2 ~@5 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@6 [g3,b3,d4]@2 ~ [g3,b3,d4]@2]/2", // C G
P: "[[g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@6 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@9]/2", // G C
Q: "[a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@5", // F
R: "~ [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4] ~@4", S: "~ [a3,c4,f4] ~ [a3,c4,f4]!2 ~ [a3,c4,f4] ~",
T: "~@3 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 ~", // F
U: "~@2 [a3,c4,f4] ~ [a3,c4,f4]!2 ~ [a3,c4,f4]", // F
V: "[~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@6 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2]/2", // C
W: "[g3,c4,e4]@2 ~@6 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 [a3,c4,f4]@2 ~", // C F
X: "~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4] [a3,c4,f4]@2", Y: "~ [a3,c4,f4] ~@3 [a3,c4,f4] ~ [a3,c4,f4]",
Z: "[[a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2 [a3,c4,f4]@2 [a3,c4,f4]@2 ~ [a3,c4,f4]@2 ~@6 [a3,c4,f4]@2 ~@2]/2", // F
AA: "[a3,c4,f4]@2 [a3,c4,f4]@2 ~@2 [a3,c4,f4] ~@6 [a3,c4,f4]@2 ~", // F
AB: "[~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@5]/2", // C
AC: "[g3,b3,d4] ~ [g3,b3,d4]!2 ~ [g3,b3,d4] ~@2", // G
AD: "~@2 [g3,b3,d4]@2 ~ [g3,b3,d4]@2 [g3,b3,d4]@2 ~@2 [g3,b3,d4]@2 ~@3", // G
AE: "~@3 [g3,c4,e4]@2 ~ [g3,c4,e4]@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@2", // C
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0.8)
// chords · percussive organ · "Organ"
const percussive_organ = note("<A@2 B ~@3 C@6 D@2 E@7 F@3 G@8 ~@2 H@4 I@2 H@4 J@3 K@6 L@6 M@5 ~@102>".pickRestart({
A: "[f5@31 ~]/2", B: "[g4,c5,e5] ~@15", C: "[[e5,g5]@63 ~ [a4,f5]@31 ~, d5, b4@61 ~@35]/6", D: "[g4,c5,e5]/2",
E: "[[a4,f5]@15 ~ b4@62 ~@2 [a4,c5,f5]@30 ~@2, ~@15 d5@97, ~@15 g4@62 ~@35]/7", F: "[g4,b4]/3",
G: "[~@15 [a4,d5,f5]@32 ~ e5@32 f5@16 [g4,e5]@15 ~ [a4,d5,f5]@16, ~@15 c5@113, ~@48 g4@30 ~@2 a4@15 ~@33]/8", // Dm C Dm
H: "[[c5,e5], g4@61 ~@3]/4", I: "[[d5,f5], a4@15 ~]/2", J: "[d5@2 c5, f5, a4@23 ~]/3",
K: "[b4@63 f5@32 ~, d5@47 ~, g4@61 ~@2 a4@30 ~@3]/6", L: "[[g4,b4]@62 ~@2 [a4,f5]@31 ~, d5@95 ~, ~@63 c5@32 ~]/6",
M: "[[g4,e5]@31 ~ f5@15 ~ g4@14 ~ [a4,d5,f5]@15 ~ [a4,c5,d5,f5], c5@39 ~, ~@32 a4@14 ~ e5@15 ~@18]/5", // C Dm Dm7
})).s("gm_percussive_organ").gain(0.17).pan(0.3)
// chords · acoustic guitar steel · "Guitar"
const acoustic_guitar_steel_3 = note(`<
~@110 A@2 B@7 C@2 D@2 E@3 F@2 G@4 H@4 I J K@3 L@4 M@2 N@2 O@5 P@4 Q@8
>`.pickRestart({
A: "[~@5 [e3,g3,c4]@4 ~@5 [e3,g3,c4]@4 ~@5 [g3,c4,e4]@4 g2@5, c3@9 g2@8 ~ c3@9 ~@5]/2", // C
B: "[~ g3@3 ~@6 e4@3 ~@6 g3@3 ~@6 e4@3 g2@5 ~ g3@3 ~@6 c4@4 ~@5 f3@4 ~@5 e4@4 ~@5 g3@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@3, [c4,e4]@4 c3@9 g2@8 ~ c3@9 ~@9 f2@8 ~@2 c2@6 ~@7 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 g3@4 ~@5 e4@4 ~@5 g3@4 ~@5 e4@4, ~@9 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [f3,a3]@4 ~@5 [a3,c4]@4 ~ c3@8 ~ g2@8 ~ c3@9 g2@8 ~ c3@8 ~ g2@8]/7", // C C5 C C5 C C5 C C5 …
C: "[~@6 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 g2@4, ~ c3@8 ~ g2@8 ~ c3@8 ~@5, ~@5 g3@4 ~@5 e4@4 ~@5 g3@4 ~@5]/2", // C C5 C
D: "[~ [g3,c4]@3 ~@6 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4 ~@5 [g3,b3,d4]@4, e4@4 ~ g2@8 ~ d2@9 g2@8 ~]/2", // C5 G
E: "[d2@5 [g3,b3,d4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@4 ~@6 e4@3 ~@6 g3@3 f2@3, ~@9 c3@9 g2@8 ~ c3@9 g2@9 ~@3, ~@32 [g3,c4]@4 ~@5 [c4,e4]@4 ~@3]/3", // G C C5 C
F: "[~@3 c4@3 c2@4 ~@2 f3@3 ~@6 e4@3 ~@6 g3@2, ~@2 [f3,a3]@4 ~@5 [a3,c4]@4 c3@8 ~ g2@8, ~@20 [g3,c4]@4 ~@5 [c4,e4]@3]/2", // F Am C5 C
G: "[~@7 e4@3 ~@6 g3@4 ~@5 e4@4 ~@5 [g3,c4]@4 ~@5 [c4,e4]@4 g2@4 ~ [g3,c4]@4 ~@5 [b3,d4]@3, ~@2 c3@9 g2@8 ~ c3@8 ~ g2@8 ~ c3@9 ~@9 g2@8, ~@6 [g3,c4]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 e4@4 ~@5 g3@4 ~@5 e4@4 ~@5 g3@4]/4", // C5 C C5 Bm C5 C C5
H: "[~ c2@4 ~ [g3,b3]@4 ~@5 [c4,e4]@4 ~@5 [g3,c4]@4 ~@5 [e4,g4]@4 g2@5 [c4,e4,g4]@3 ~@6 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@3 ~, ~@5 d4@4 ~ c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8 ~ g2@8 ~, ~@14 g3@4 ~@5 e4@4 ~@5 c4@4 ~@28]/4", // G C C5 Em C
I: "~@5 [g3,c4,e4]@3 ~ g2@5 [g3,c4,e4]@2, c3 ~", J: "~@7 [f3,a3,c4]@4 c2@4 ~, ~ f2@4 ~@3",
K: "[~ c4@3 ~@6 e4@3 g2@5 ~ e4@3 ~@6 c4@3 c2@5 ~ c4@3 ~@5 [c4,e4]@3, [f3,a3]@4 c3@9 ~@9 f2@9 ~@17, ~@9 [g3,c4]@4 ~@5 [g3,c4]@4 ~@5 [f3,a3]@4 ~@5 [f3,a3]@4 c3@8]/3", // C F C5 F
L: "[~@7 e4@3 ~@6 d4@4 ~@5 d4@3 ~@6 [b3,d4]@4 d2@4 ~ [b3,d4]@4 ~@5 [c4,e4]@4 ~@5 [c4,e4]@3, ~@2 g2@7 ~@2 g2@9 d2@8 ~ g2@8 ~@10 c3@8 ~ g2@8, ~@6 [g3,c4]@4 ~@5 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 g3@5 ~@4 g3@5 ~@4 g3@5 ~@4 g3@4]/4", // Bm C C5 G
M: "[~@6 [c4,e4]@4 g2@4 ~ [c4,e4]@3 ~@6 [a3,c4]@4 c2@4, ~ c3@8 ~@10 f2@9 ~@4, ~@5 g3@4 ~@5 g3@4 ~@5 f3@4 ~@5]/2", // C Am
N: "[~ [a3,c4]@4 ~@5 [g3,c4,e4]@4 ~@5 [g3,c4,e4]@3 ~@6 [g3,c4,e4]@4, f3@4 ~ c3@9 g2@8 ~ c3@8 ~]/2", // Am C
O: "[~@5 [g3,c4,e4]@4 ~@5 [f3,a3,c4]@4 c2@4 ~ [f3,a3,c4]@4 ~@6 d4@3 ~@6 d4@3 ~@6 d4@2 ~@7 d4@2 ~@7 a3@3 ~@6 a3@2, g2@7 ~@2 f2@8 ~@10 g2@9 d2@9 g2@8 ~ d2@8 ~ d2@7 ~@2 a2@8, ~@32 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 [g3,b3]@4 ~@5 [g3,b3]@3 ~@6 [d3,f3]@5 ~@4 [d3,f3]@3]/5", // C F G Dm
P: "[~@7 d4@4 ~@5 d4@4 ~@5 g4@3 ~@6 [e4,g4]@4 ~@5 [e4,g4]@4 g2@4 ~ [e4,g4]@3 ~@6 [c4,e4]@3, ~@2 g2@6 ~@3 g2@6 ~@3 c3@8 ~ g2@8 ~ c3@8 ~@10 c3@8, ~@6 [g3,b3]@5 ~@4 [g3,b3]@4 ~@5 e4@4 ~@36, ~@24 c4@2 ~@7 c4@5 ~@4 c4@4 ~@5 c4@4 ~@5 g3@4]/4", // Em C G
Q: "[~@6 [c4,e4]@3 ~@6 [c4,e4]@3 ~ g2@4 ~ [c4,e4]@3 ~@7 [a3,c4]@5 c2@5 ~@2 c4@4 ~ [c3,g3,c4,e4]@63 ~@14, ~ g2@8 ~ c3@8 ~@10 f2@10 ~@90, ~@5 g3@4 ~@5 g3@4 ~@5 g3@4 ~@6 f3@6 ~@6 [f3,a3]@5 ~@78]/8", // C Am C F
})).s("gm_acoustic_guitar_steel").gain(0.06).pan(0.8)
// chords · electric guitar muted · "mute guitar"
const electric_guitar_muted = note(`<
~@71 A B ~ C@3 ~ D@2 ~@2 E F@4 ~@6 G@2 ~ H I@2 J K L@2 ~ M@6 ~@24 N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI
AJ AK ~@8
>`.pickRestart({
A: "~@8 [a4,c5]@3 ~@2 [g4,b4]@3", B: "~@3 [f4,a4]@3 ~@10",
C: "[[g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [f4,c5]@23 [f4,a4]@3 ~@2 [g4,b4]@3 ~@3 [a4,c5]@3]/3", // C Dm F5 F G Am
D: "[~@4 [f4,a4]@3 ~@3 [g4,b4]@3 ~@2 [f4,a4]@17]/2", E: "~@3 [g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [e4,c5]@2",
F: "[~@2 [d4,b4]@17 c5@10 ~@3, ~@38 e4@17 ~@9]/4", G: "[~@15 [a4,c5]@3 ~@2 [g4,b4]@3 ~@3 [f4,a4]@3 ~@3]/2",
H: "~@7 [g4,e5]@3 ~@2 [f4,d5]@3 ~", I: "[~@2 [f4,c5]@23 [f4,a4]@3 ~@2 [g4,b4]@2]/2", J: "~@4 [a4,c5]@3 ~@9",
K: "~@11 [f4,a4]@3 ~@2", L: "[~ [g4,b4]@3 ~@2 [f4,a4]@17 ~@9]/2",
M: "[~@10 [g4,e5]@3 ~@2 [f4,d5]@3 ~@3 [e4,c5]@3 ~@3 [d4,b4]@34 c5@22 ~@13, ~@61 e4@17 ~@18]/6", // C Dm C G
N: "c4 ~@4 g3 ~@4 c4 ~@5", O: "~@3 c4 ~ c4 ~ g3 ~@4 c4 ~@3", P: "~@5 c4 ~ c4 ~ g3 ~@4 c4 ~",
Q: "~@7 f3 ~ f3 ~ f3 ~@4", R: "f3 ~@8 c4 ~ c4 ~ g3 ~@2", S: "~@2 c4 ~@8 f3 ~ f3 ~@2", T: "~@4 f3 ~@8 c4 ~ c4",
U: "~@2 g3 ~@3 c4 ~@8 g3", V: "~ g3 ~@2 d3 ~@3 g3 ~@7", W: "~ g2 ~ g2 ~@2 a2 ~@3 b2 ~@5",
X: "~@3 c4 ~@2 c4 ~ g3 ~@3 c4 ~@3", Y: "~@5 c4 ~@2 c4 ~ g3 ~@3 c4 ~", Z: "~@7 f3 ~@2 f3 ~ c3 ~@3",
AA: "f3 ~@9 c4 ~ c4 ~ g3 ~", AB: "~@3 c4 ~@8 c4 ~ c4 ~", AC: "g3 ~@4 c4 ~@8 f3 ~", AD: "f3 ~ c3 ~@4 f3 ~@8",
AE: "g3 ~ g3 ~ g3 ~@4 g3 ~@6", AF: "~@2 g3 ~ g3 ~ d3 ~@4 g3 ~@4", AG: "~@4 d3 ~ d3 ~ d3 ~@4 d3 ~@2",
AH: "~@6 g3 ~ g3 ~@6 g3", AI: "~@8 c4 ~ c4 ~@2 g3 ~@2", AJ: "~ g3 ~@8 c4 ~@4 g3", AK: "~@3 c4 ~@12",
})).s("gm_electric_guitar_muted").gain(0.17)
// bass · electric bass finger · "Bass"
const bass = note(`<
A B C ~@3 D E F G A B H I J K@2 L M N O K E P Q A R S T U V W X ~ S Y Z AA AB A AC@2 AD AE AF AG AH L@2 AI AJ AF O L
AK@2 AL AM R S T U V W AN ~@101
>`.pickRestart({
A: "d2@5 ~@3 a1@5 ~@3", B: "d2@5 ~ d2 ~ a1@4 ~@4", C: "c2 ~@7", D: "g2@3 ~@5 d2@4 ~@4", E: "g2@4 ~@4 d2@5 ~@3",
F: "g2 ~ d2 ~", G: "g2@4 ~@2 g2 ~ f2@3 ~ e2@3 ~", H: "c2@3 ~@5 g1@4 ~@4", I: "c2@4 b1@4 c2@4 e2 ~@3", J: "f2 ~ c2 ~",
K: "g2@5 ~@3 d2@5 ~@3", L: "g2@5 ~@3 d2@6 ~@2", M: "g2@2 ~ g2 f2@2 e2@2", N: "d2@4 ~@4 a1@5 ~@3",
O: "d2@6 ~@2 d2@5 ~@3", P: "g2@5 ~@3 d2@8", Q: "g2@5 ~ g2 ~ f2@3 ~ e2@3 ~", R: "d2@5 ~@3 d2@7 ~",
S: "c2@4 ~@4 g1@5 ~@3", T: "c2@5 ~@3 c2@4 d2@4", U: "f2@5 ~@3 f2@6 ~@2", V: "e2@5 ~@3 e2@4 ~@4", W: "d2@5 ~@3 a1@8",
X: "d2 ~@7", Y: "c2 ~ g1 ~", Z: "c2@4 ~@2 c2 ~ g1@5 ~@3", AA: "c2@4 ~@4 c2@4 c#2@3 ~", AB: "d2@2 ~@2 a1@3 ~",
AC: "c2@5 ~@3 g1@5 ~@3", AD: "c2@2 ~@2 g1@3 ~", AE: "c2@5 ~@3 c2@5 ~@3", AF: "d2@5 ~@3 a1@6 ~@2", AG: "d2@3 ~ d2@3 ~",
AH: "f2@6 ~@2 f2@5 ~@3", AI: "g2@3 ~ d2@3 ~", AJ: "g2@5 ~ g2 ~ f2@3 ~ e2@4", AK: "g2@6 ~@2 d2@5 ~@3",
AL: "g2@4 ~@2 g2@2 f2@3 ~ e2@3 ~", AM: "d2@3 ~ a1@2 ~@2", AN: "d2@3 ~@13",
})).s("gm_electric_bass_finger").gain(0.25)
// bass · acoustic bass · "Bass"
const bass_2 = note(`<
~@67 A B C D E@3 F@6 G H@2 I@4 ~@2 J@6 K L M@8 N@5 O P@4 Q@4 R@4 S T@4 U@4 V@2 W@2 X@2 Y Z@2 AA@2 AB@2 AC AD@3 AE AF
AG@3 AH AI@3 AJ@3 AK@5
>`.pickRestart({
A: "~@3 f2@13", B: "~ c2@3", C: "~@5 f2@11", D: "~@7 c2@9", E: "[~@8 f2@16 ~ c2@16 ~ c2@6]/3",
F: "[~@11 f2@16 ~ c2@17 f2@17 c2@17 f2@16 ~]/6", G: "f2", H: "[~@2 c2@16 ~ c2@3 ~@2 b1@3 ~@3 a1@2]/2",
I: "[~@4 g2@16 ~ g2@17 c3@17 c2@2 ~@7]/4", J: "[~@10 f2@16 ~ c2@16 ~ f2@17 ~ c2@16 ~ f2@16 ~]/6", K: "c2",
L: "~ c2@14 ~", M: "[~@2 f2@16 ~ c2@17 f2@17 c2@17 f2@16 ~ f2@17 ~ c2@16 ~ c2@3 ~@2 b1]/8",
N: "[~@5 a1@3 ~@3 g2@16 ~ g2@17 c3@17 c2@4 ~@14]/5", O: "c2@9 g1@7",
P: "[~@2 c2@8 ~ g1@8 ~ c2@8 ~ g1@8 ~ c2@8 ~ c2@8 ~ f2@8]/4",
// … 112 more lines
More by Kenny Rogers
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.