0:00/0:00
// Snowbird — Anne Murray
// 214 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 111 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(214/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.
// bass · acoustic bass · "BASS"
const bass = note(`<
A B@2 C D E F G F H I J C K L M F N B I O P L M Q R B@2 S T D E U K F V B I W X L Y K B A B I J Z K L M F N F AA O P U
K@2 B F V I J D K U K A B A B W X U K@2 B A B S AB C E U K F V A B O P U K E B@2 E K AC@2 J A B A B AD F AE
>`.pickRestart({
A: "c2@5 ~@3 g1@6 ~@2", B: "c2@3 ~ g1@3 ~", C: "d2@3 ~ a1@3 ~", D: "d2@6 ~@2 e2@3 ~ f2@3 ~",
E: "g2@7 ~ g2@2 ~@2 g2@2 ~@2", F: "c2@7 ~ g1@7 ~", G: "c2@5 ~@11", H: "c2@3 ~ d2 ~ d#2 ~", I: "e2@3 ~ b1@3 ~",
J: "d2@7 ~ d2@2 ~@2 d2@2 ~@2", K: "g2@3 ~ d2@3 ~", L: "g2@7 ~ d2@7 ~", M: "g2@3 ~ g2 ~ g2 ~", N: "c2@3 ~ a1 ~ d2 ~",
O: "d2@6 ~@2 a1@7 ~", P: "d2@2 e2 f2", Q: "g2@7 ~ e2@2 ~@2 d2@2 ~@2", R: "c2@7 ~ a1@2 ~@2 d2@2 ~@2",
S: "e2@7 ~ e2@2 ~@2 e2@2 ~@2", T: "d2@7 ~ b1@2 ~@2 c2@2 ~@2", U: "g2@5 ~@3 d2@6 ~@2", V: "c2@3 ~ c2 ~ c2 ~",
W: "d2@7 ~ a1@7 ~", X: "d2@3 ~ d2 ~ d2 ~", Y: "g2@3 ~ e2 ~ a2 ~", Z: "d2@7 ~ e2@2 ~@2 a2@2 ~@2",
AA: "c2@3 ~ c2 ~ c#2 ~", AB: "d2@7 ~ f2@2 ~@2 e2@2 ~@2", AC: "f2@3 ~ c2@3 ~", AD: "c2@7 ~ c2@2 ~@2 c2@2 ~@2",
AE: "c2@3 ~@5",
})).s("gm_acoustic_bass").gain(0.53)
// chords · electric guitar clean · "GTR CL"
const electric_guitar_clean = note(`<
A B A C D E F G H I J K L M N O A P Q R S T M U E Q A Q V K L N@2 O H I A R L W M U E H A P R S K E M U H I A P S T N
O E Q A P V L K E@2 X H I H I S T M U N H@2 I V S L M E X H I H I S T E X M H@2 N M Y@2 D Q Z A P Q AA ~
>`.pickRestart({
A: "~@4 [g3,c4,e4] ~@7 [g3,c4,e4]@2 ~@2, c3@3 ~@5", B: "~@2 [g3,c4,e4] ~@3 [g3,c4,e4] ~", C: "~@6 [c4,d4,f4,a4] ~",
D: "~@4 [c4,d4,f4,a4] ~@7 [c4,d4,f4,a4]@2 ~@2, d3@3 ~@5", E: "~@4 [b3,d4,f4,g4] ~@7 [b3,d4,f4,g4]@2 ~@2, g2@3 ~@5",
F: "~@6 [g3,c4,e4] ~", G: "~@12 [g3,c4,e4] ~@3", H: "~@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4] ~",
I: "~@4 [g3,c4,e4]@6 ~@2 [g3,c4,e4] ~@3", J: "~@4 [g3,b3,e4] ~@7 [g3,b3,e4]@2 ~@2, e3@3 ~@5",
K: "~@2 [a3,d4,f4]@2 ~@2 [a3,d4,f4] ~", L: "~@4 [a3,d4,f4] ~@7 [a3,d4,f4]@2 ~@2, d3@3 ~@5",
M: "~@4 [b3,d4,f4,g4] ~@7 [b3,d4,f4,g4] ~@3, g2@3 ~@5", N: "~@2 [b3,d4,f4,g4]@2 ~@2 [b3,d4,f4,g4] ~",
O: "~@4 [b3,d4,f4,g4]@6 ~@2 [b3,d4,f4,g4] ~@3", P: "~@2 [g3,c4,e4] ~@3 [g3,c4,e4] ~, c3@3 ~@5",
Q: "~@4 [g3,c4,e4] ~@7 [g3,c4,e4] ~@3, c3@3 ~@5", R: "~@4 [g3,b3,e4] ~@7 [g3,b3,e4] ~@3, e3@3 ~@5",
S: "~@4 [a3,d4,f4] ~@7 [a3,d4,f4] ~@3, d3@3 ~@5", T: "~@4 [a3,d4,f4]@3 ~@5 [a3,d4,f4]@2 ~@2, d3@4 a2@3 ~",
U: "~@4 [b3,d4,f4,g4]@3 ~@5 [b3,d4,f4,g4]@2 ~@2, g2@4 d2@3 ~", V: "~@2 [g3,b3,e4]@2 ~@2 [g3,b3,e4] ~",
W: "~@2 [a3,d4,f4] ~@3 [a3,d4,f4] ~, d3@3 ~@5", X: "~@2 [b3,d4,f4,g4] ~@3 [b3,d4,f4,g4] ~, g2@3 ~@5",
Y: "~@4 [a3,c4,f4] ~@7 [a3,c4,f4]@2 ~@2, f3@3 ~@5", Z: "~@4 [g3,c4,e4]@3 ~@5 [g3,c4,e4]@2 ~@2, c3@4 g2@3 ~",
AA: "[g3,c4,e4]@3 ~@5", // C
})).s("gm_electric_guitar_clean").gain(0.16)
// chords · electric guitar clean · "GTR CL" · soft notes
const electric_guitar_clean_2 = note(`<
A B A C D E F G ~@2 H ~ D I ~@2 A@2 J K L ~ I ~ E J A J ~@2 D ~@5 A K D@2 I ~ E ~ A@2 K L ~ E I ~@3 A@2 L ~@3 E J A@2
~ D ~ E@3 ~@4 L ~ I ~@6 L D I E@2 ~@4 L ~ E@2 I ~@3 I M@2 D J ~ A@2 J ~@2
>`.pickRestart({
A: "~@8 g2@5 ~@3", B: "c3@6 ~@2 g2@5 ~@3", C: "~ [c4,d4,f4,a4] ~@2", D: "~@8 a2@5 ~@3", E: "~@8 d2@5 ~@3",
F: "~ [g3,c4,e4] ~@2", G: "~@2 [g3,c4,e4]@3 ~@3", H: "~@8 b2@5 ~@3", I: "~@8 d2@7 ~", J: "~@8 g2@7 ~",
K: "~@8 b2@7 ~", L: "~@8 a2@7 ~", M: "~@8 c3@5 ~@3",
})).s("gm_electric_guitar_clean").gain(0.09)
// chords · banjo
const banjo = note(`<
A B C D E F G H I@2 J K L M N@2 O@2 P Q R S T@2 U V W P Q K X Y Z@2 AA@2 AB AC AD@2 Z@2 M W O@2 J X AE AF T@2 AG AH AG
AH AI@2 Z@2 U P AG AH AC K AJ AF AK@2 O@2 AL@2 AM@2 T@2 Y AG@2 AH AN X AE M AO AP O@2 AL@2 AQ@2 Z@2 AR V AS U Y AT AU
AV AG AH AG AH AW AX AY
>`.pickRestart({
A: "[e4,g4,c5]@3 ~ [e4,g4,d5]@3 ~ [g4,c5,e5]@5 ~@3", // C Em7 C
B: "[e4,g4,b4]@3 ~ [e4,g4,c5]@3 ~ [e4,g4,d5]@5 ~@3, ~@4 [g3,c4] ~@11", // Em C Em7 C5
C: "[c4,e4,a4]@3 ~ [e4,g4,b4]@3 ~ [e4,g4,c5]@5 ~@3", D: "[f4,a4,c5]@3 ~ [f4,a4,d5]@3 ~ [f4,a4,e5]@5 ~@3",
E: "[f5,a5,c6] ~ [f5,a5,c6]@3 ~ [d5,f5,b5]@3 ~ [d5,f5,a5] ~ [a4,d5,g5]@3 ~", // F Bdim Dm Dsus4
F: "[f4,b4,d5]@3 ~ [f4,b4,e5]@3 ~ [b4,d5,f5] ~ [b4,d5,f5] ~ [b3,d4,f4,g4] ~@3, ~@12 [b4,d5,f5]@3 ~", // Bdim E Bdim G7 Bdim
G: "[f4,b4,e5]@3 ~ [f4,b4,d5]@3 ~ [e4,g4,c5]@3 ~ b4 ~ b4 ~", H: "a4 ~ g4 ~ [g3,c4,e4,f4] ~ f4 ~ e4 ~ d4 ~ c4 ~ c4 ~",
I: "[e4 ~ f4 ~ g4 ~ a4 ~ b4 ~ c5 ~ e3@4 ~@4 e3@3 ~@5 e3@2 ~@2, c4@13 ~@3 e4@16, c3@11 g3@11 ~ g3@9, ~@4 e3@4 g2@7 ~ c3@13 ~@3, ~@27 c4@5]/2",
J: "e2@4 g3@3 ~@5 g3@2 ~@2, ~ b3@3, ~@4 g4@7 e4@5, ~@4 e2@3 ~",
K: "~@2 a3@2 ~@2 a3 ~, d3@3 ~ d3@3 ~, ~ f4@3, ~@11 d4@3 ~@2",
L: "~@4 a3@3 ~@5 a3@3 ~, f4@10 ~ a4@5, d3@6 ~ d4@9, ~@4 d3@3 ~",
M: "~@2 g3@2 ~@2 g3 ~, g2@3 ~ g2@3 ~, ~ d4@3, ~@11 b3@3 ~@2",
N: "[~@4 g3 ~@3 f3@3 ~ g2@2 ~@2 g2@4 f3@2 ~@2 g2@2 ~@2 f3@2 ~@2, d4@15 ~ d4@15 ~, g2@7 ~@4 b3@5 ~@11 b3@3 ~@2, b3@5 ~@2 g3@5 ~@11 g3@3 ~@6, ~@3 f4@24 ~@5]/2",
O: "[~@4 e3@4 ~@4 e3@4 ~@4 e3@3 ~@5 e3@2 ~@2, c4@13 ~@3 e4@16, c3@11 g3@11 ~ g3@9, ~@8 g2@7 ~ c3@13 ~@3, ~@27 c4@5]/2",
P: "~@3 e3, c3@11 ~@5, ~@4 [e3,g3,c4]@6 ~ g3@5, ~@8 g2@7 ~", Q: "~@4 g3@3 ~@5 g3@3 ~, e4@4 e2@3 ~, e2@6 ~ b3@4 e4@5",
R: "d4@4 a3 ~@3 f3@3 ~ d3@2 ~@2, f4@15 ~, d3@7 a3@4 d4@5", S: "d3@2 f3 ~ d3 ~ f3 ~, f4@11 d4@3 ~@2, ~@7 a3@3 ~@6",
T: "[~@4 g3@4 ~@4 g3@4 ~@4 g3@3 ~@5 g3@2 ~@2, b3@14 ~@13 b3@5, g2@6 ~@2 g2@5 ~@3 [g2,b3]@6 ~@2 g2@5 ~@3, ~@11 d4@11 ~ d4@9]/2", // G
U: "~@4 g3@3 ~@5 g3@3 ~, d4@10 ~ f4@5, g2@6 ~ b3@9, ~@4 g2@3 ~",
V: "~@4 [e3,g3]@4 g2@3 ~ e3@2 ~@2, c3@11 g3@5, ~@4 c4@11 ~", // Em
W: "~@4 e3@3 ~@5 e3@4, c4@3 ~, g3@8 ~@3 g3@5, c3@3 ~ g2@3 ~", X: "d3@2 a3@2 f3 ~ a3 ~, ~ f4@3, ~@11 d4@4 ~",
Y: "~@4 g3@3 ~@5 g3@3 ~, d4@4 g2@3 ~, g2@6 ~ b3@4 d4@5",
Z: "[f3@4 ~@8 f3@3 ~ g2@4 f3@3 ~ g2@3 ~ f3@2 ~@2, b3@23 ~@4 b3@5, ~@4 g2@7 d4@21, ~@7 g3@13 ~@3 g3@9, ~ f4]/2",
AA: "[~@4 [e3,g3]@4 ~@4 e3@4 ~@4 e3@3 ~ g2@3 ~ e3@2 ~@2, c3@11 g3@11 ~ g3@9, ~@2 c4@5 ~ e4@8, ~@8 g2@6 ~@2 c3@6 ~@5 c4@5]/2", // Em
AB: "~ e3 ~ e3, c4@13 ~@3, c3@11 g3@5, ~@8 g2@7 ~", AC: "~@2 g3@2 ~@2 g3 ~, e2@3 ~ e2@3 ~, ~ e4@3, ~@11 b3@3 ~@2",
AD: "[d3@4 f3@3 ~ d3@3 ~ f3@2 ~@2 d3@4 f3@2 ~@2 d3@3 ~ f3@2 ~@2, f4@23 ~@9, ~@7 a3@11 ~@5 a3@9, ~@11 d4@11 ~@5 d4@5]/2",
AE: "d3@4 a3@3 ~@5 a3@2 ~@2, ~ d4@3, ~@4 a4@7 f4@5, ~@4 d3@3 ~", AF: "g2@2 g3@2 f3 ~ g3 ~, ~ d4@3, ~@11 b3@4 ~",
AG: "~@4 e3@4 ~@4 e3@3 ~, c3@5 ~@3, ~@4 [g3,c4]@6 ~ g3@4 ~, ~@8 g2@7 ~", // C5
AH: "g3@4 ~@4 g2@3 ~ e3@2 ~@2, [c3,c4]@7 g3@8 ~, ~@4 e3@6 ~ c4@4 ~", // C
AI: "[d3@4 a3@2 ~@2 d3@3 ~ f3@3 ~ d3@4 f3 ~@3 d3@3 f4 a3 ~@3, ~@4 [d4,f4]@22 ~ d4@5, ~@4 f3 ~@6 a3@7 ~@5 a3@3 ~@6]/2", // Dm
AJ: "~@4 a3@3 ~@5 a3@3 ~, f4@4 d3@3 ~, d3@6 ~ d4@4 f4@5",
AK: "[g2@4 f3@3 ~ g2@3 ~ f3@2 ~@2 g2@4 f3@2 ~@2 g2@3 ~ f3@2 ~@2, d4, ~@7 g3@11 ~@5 g3@9, ~@11 b3@11 ~@5 b3@5, ~@16 f4@7 ~@9]/2",
AL: "[~@12 e3@4 c3@4 e3@4 d3@3 ~ g3@3 c4, c3@11 ~@5 c4@10 ~@6, ~@4 [e3,g3,c4]@6 ~ g3@15 ~ e3@3 ~@2, ~@8 g2@7 ~@17]/2", // C
AM: "[~@4 a3@4 ~@4 a3@4 ~@4 a3@3 ~@5 a3@2 ~@2, d4@14 ~@13 d4@5, d3@6 ~@2 d3@5 ~@3 [d3,d4]@6 ~@2 d3@5 ~@3, ~@11 f4@11 ~ f4@9]/2", // D
AN: "~@4 g3@3 ~@5 g3@3 ~, e4@10 ~ g4@5, e2@6 ~ b3@9, ~@4 e2@3 ~", AO: "~ g3 ~ g3, d4@11 b3@5, g2@3 ~ g2@3 ~",
AP: "~@4 g3@3 ~ f3@3 ~ g3@3 ~, [g2,d4]@7 b3@4 d4@5", // G5
AQ: "[f3@4 ~@8 f3@3 ~ d3@4 f3@3 ~ d3@3 ~ f3@2 ~@2, d4@23 ~@4 d4@5, ~@4 d3@7 f4@21, ~@7 a3@13 ~@3 a3@9]/2",
AR: "g2@4 g3@3 ~@5 g3@2 ~@2, ~ b3@3, ~@4 f4@7 d4@5, ~@4 g2@3 ~",
AS: "c3@2 ~@2 d3@3 ~ g2@3 ~ e3@3 c4, ~@4 c4@7 ~@5, ~@4 g3@5 ~@2 g3@5, ~@7 e3@3 ~@6",
AT: "~@4 c3@3 ~ g2 ~@3 c3 ~@2 f3, f2@7 ~@4 a2@2 ~@3, ~ [a3,c4]@3, ~@4 f3@7 ~@5", // Am
AU: "~@2 c3@3 ~ c3@2, f2@6 ~@5 a3@5, ~ [f3,c4]@3", AV: "d3@2 a3@2 f3 ~ a3 ~, ~ d4@3, ~@11 c4@4 ~",
AW: "~@4 [g3,c4,e4]@2 ~@6 [g3,c4,e4] ~@3", AX: "[e3,g3,c4]@5 ~@3 e3 ~@3 a3@2 ~ g3, c3@7 d#3@2 ~@2 g3@3 ~@2",
AY: "c4 ~@7",
})).s("gm_banjo").gain(0.23)
// chords · banjo · soft notes
const banjo_soft = note(`<
A B A C D E F G ~ H ~@7 H ~@27 H ~@6 I ~ I ~@7 I ~@8 H ~@7 I@2 ~@8 H ~@12 J ~ I ~ I ~@4
>`.pickRestart({
A: "~@4 [g3,c4]@2 ~@6 [g3,c4,e4] ~@3", B: "~@12 [g3,c4,e4] ~@3", C: "~@4 [c4,d4]@2 ~@6 [c4,d4,f4,a4] ~@3",
D: "~@4 [c4,d4,f4,a4]@2 ~@6 [c4,d4,f4] ~@3", E: "~@4 [b3,d4,g4] ~@11", F: "~@4 [g3,c4,e4]@2 ~@6 [g3,c4,e4] ~@3",
G: "~@12 [g3,e4] ~@3", H: "~@2 g2 ~", I: "~@12 c4 ~@3", J: "~@8 a2@3 ~@5",
})).s("gm_banjo").gain(0.15)
// chords · electric guitar jazz · "GTR JZ"
const electric_guitar_jazz = note(`<
A@2 B C D@2 E F@2 G H I J K L M N G O P Q R S@2 K T U O V I W X Y Z AA@2 AB AC Q R Y Z L N AD@2 AE I AF AG AH@2 AI AJ
N G AK@2 Y Z AG AB AD@2 AE AL AM AN S@2 AO@2 O AP Q R Y Z K AQ AR@2 P Q W Y AH@2 N G AD@2 AS@2 Y Z AT AB N AU AG AV AW
AX AR@2 O AP O AY@2
>`.pickRestart({
A: "[[g3,c4,e4,g4]@2 [g3,c4,e4] ~ [c4,e4] ~@2 g3 [c4,e4,g4]@2 [g3,c4,e4] c4 [g3,c4,e4] e4@2 ~, ~ g4 c5@6, ~@2 g4@2 ~ g4 g4@2, ~@6 e3@2 g3 ~@7]/2", // C
B: "[g3,c4,e4]@2 [g3,c4,e4] c4 [g3,c4,e4] c4@3, e3 [e3,g4], ~ g4 ~@2", // C Em
C: "[a3,d4,f4,a4]@2 [a3,d4,f4] d4 [a3,d4] d4@3, ~ a4 [f4,a4]@2", // Dm D5 F
D: "[[a4,d5,f5,a5] [a4,d5,f5]@2 [f4,a4,d5,f5]@2 [d4,f4,a4,d5]!2 [b3,f4] [b3,d4,f4,b4]@2 [d4,b4]@2 [d4,f4,b4,d5]!2 ~ g3, [d4,f4]@2 ~@3 f5@2 g3@3 [b3,f4] ~@3 [f3,d4,f4,b4,d5]@2, ~ a5@6 ~@9]/2", // Dm Bdim G Bdim Dm Bdim
E: "[b3,d4,f4,b4]@4 [b3,d4,f4,b4]@3 ~ [c4,e4]@2 ~@2 [e4,g4]@2 [e4,g4]@2, ~ g3, ~@2 g4 ~", // Bdim C Em
F: "[[c4,e4]@2 [c4,e4]@2 [g3,c4]@2 c4@2 [g3,c4]@2 ~@2 [e3,g3]@2 [g3,c4]@2 [g3,c4] ~ [a3,c4] ~ e4 ~ [d4,e4,f4] ~ [e4,g4] ~ [e4,g4] ~@3 g3@2, [d4,f4]@14 ~@2 c3@8 c3@5 ~@3, ~@3 a3@2 [f3,a3,e4]@2 e3@2 g3@2 ~@2 g3@2 ~, ~@4 e4 c4 ~ c4]/2", // C C5 Em C5 Am Dm Em Dm …
G: "~@7 g3, [c3,e4] c4 c3 ~, ~ g3@2 e4@3 c4@2, ~@5 g3@2 ~", // C
H: "~@7 b3, b4@3 g4@3 e4@2, e3@2 d4@2 ~ d4@3, ~ b3@2 ~ b3@2 ~@2",
I: "~@2 d4 ~@4 a3, [d3,f4]@3 a4@4 ~, ~ a3@3 d3@3 ~, ~@5 a3@2 ~, ~@3 d4", // Dm
J: "~@7 a3, a4@3 f4, d3@5 ~@3, ~ a3@2 f4@2 d4@2 ~, ~@2 d4@2 a3@3 ~",
K: "~@2 a3 ~@2 g3 ~ f3, g2@3 ~, f4@5 ~ e4@5 ~ d4@4, ~@2 d3@5 ~ d3@7 ~",
L: "~@2 f3 ~@4 d3, [g2,b3]@3 d4@4 ~, ~ d3@3 g2@3 ~, ~@5 d3@2 ~, ~@3 f3", // G
M: "~@7 d3, [g2,b3]@3 d4@4 ~, ~ d3@3 g2@3 ~, ~@2 f3@2 ~ d3@2 ~, ~@3 f3", // G
N: "~@7 g3, e4@3 e4@3 c4@2, c3@2 c4@2 ~ g3@2 ~, ~ g3@2 ~ c3@2 ~@2",
O: "~@2 c4 ~@4 g3, [c3,e4]@3 g4@4 ~, ~ g3@3 c3@3 ~, ~@5 g3@2 ~, ~@3 c4", // C
P: "~@7 b3, g4@3 g4@3 e4@2, e3@2 e4@2 ~ b3@2 ~, ~ b3@2 ~ e3@2 ~@2",
Q: "~@7 a3, f4@3 f4@3 d4@2, d3@2 d4@2 ~ a3@2 ~, ~ a3@2 ~ d3@2 ~@2",
R: "~@7 a3, [d3,f4] d4 d3 ~, ~ a3@2 f4@3 d4@2, ~@5 a3@2 ~", // Dm
S: "[~ b3 g3 ~@6 b3 g3 ~@4 b3, g2@4 d3@4 g2@5 ~ f3@2, ~@3 b3@2 b3@2 b3@2 ~@2 b3@2 b3@2 ~, ~@3 f3 ~@2 d3@2]/2",
T: "~ e4 c4 ~@4 e4, c3 g3, ~@3 e4@2 e4@2 ~, ~@3 c4", U: "~@7 c4, c3, ~@2 e4@4 c4@4 e4@5 ~, ~ g3 e3 g3",
V: "~@7 b3, b4@3 g4, e3@5 ~@3, ~ b3@2 g4@2 e4@2 ~, ~@2 e4@2 b3@3 ~",
W: "~@7 a3, a4@3 f4@3 d4@2, d3@2 c4@2 ~ c4@3, ~ a3@2 ~ a3@2 ~@2", X: "~@3 b3 f4 e4 d4 g3, g2 d3 g2 d3, ~@2 d4@5 ~@9",
Y: "~@7 d3, b3@3 b3@3 f3@2, g2@2 f3@2 ~ d3@2 ~, ~ d3@2 ~ g2@2 ~@2",
Z: "~@7 d3, [g2,b3] f3 g2 ~, ~ d3@2 b3@3 f3@2, ~@5 d3@2 ~", // G
AA: "[~@13 c4 ~ c4, [c3,g4]@3 ~@2 c4@2 c4@2 g3@2 ~ g3@3 ~, ~ g3@2 e4@3 e4@2 g4@3 e4@3 e4@2, ~@2 c4@2 g3@3 ~ c3@2 c4@2 ~@4]/2", // C5
AB: "~@7 c4, [c3,g4]@3 ~@2 c4@2 ~, ~ g3@2 e4@3 e4@2, ~@2 c4@2 g3@3 ~", // C5
AC: "~@7 e4, [e3,b4]@3 ~@2 e4@2 ~, ~ b3@2 g4@3 g4@2, ~@2 e4@2 b3@3 ~", // E5
AD: "[~@15 c4, g4@6 e4@2 ~@3 e4@3 e4@2, c3@5 ~@3 [c3,g4]@5 ~@3, ~ g3@2 e4@2 c4@2 ~@3 c4@2 ~ c4@2 ~, ~@2 c4@2 g3@3 g3@2 g3@2 ~ g3@3 ~]/2", // C5
AE: "~@2 e4 ~@4 b3, [e3,g4]@3 b4@4 ~, ~ b3@3 e3@3 ~, ~@5 b3@2 ~, ~@3 e4", // Em
AF: "~@7 d4, [d3,a4]@3 ~@2 d4@2 ~, ~ a3@2 f4@3 f4@2, ~@2 d4@2 a3@3 ~", // D5
AG: "~@7 f3, g2, ~@2 b3@4 f3@4 b3@5 ~, ~ d3 b2 d3",
AH: "[~@15 f3, d4@6 b3@2 ~@3 b3@3 b3@2, g2@5 ~@3 [g2,d4]@5 ~@3, ~ d3@2 b3@2 f3@2 ~@3 f3@2 ~ f3@2 ~, ~@2 f3@2 d3@3 d3@2 d3@2 ~ d3@3 ~]/2", // G5
AI: "~ g3 ~ g3 ~@3 g3, c3 c4 e4 c4, ~@5 g3@2 ~", AJ: "c3 ~@4 g3 ~ g3, ~ g3@2 g3@2 ~@3, ~ c4 e4 c4",
AK: "[~@5 f4 ~@7 f4 ~ f4, d3@8 d3@5 ~@3, ~ d4@4 ~@2 f4@3 f4@2 a3@4, ~@2 f4@2 a3@4 ~ d4@4 ~@3, ~@3 a4@3 a4@2 ~@3 a4@2 ~ a4@2]/2",
AL: "~@7 d4, d3, ~ f4@4 f4@3, ~ a3 f3@2, ~@3 d4@3 a3@2", AM: "~@7 d4, d3, ~@2 f4@4 d4@4 f4@5 ~, ~ a3 f3 a3",
AN: "~@7 d3, d4@3 b3, g2@5 ~@3, ~ d3@2 b3@2 f3@2 ~, ~@2 f3@2 d3@3 ~",
AO: "[~ e4 c4 ~@6 e4 c4 ~@4 e4, c3@4 g3@4 c3@5 ~ c4@2, ~@3 e4@2 e4@2 e4@2 ~@2 e4@2 e4@2 ~, ~@3 c4 ~@2 g3@2]/2",
AP: "~@7 g3, [c3,e4]@3 g4@4 ~, ~ g3@3 c3@3 ~, ~@2 c4@2 ~ g3@2 ~, ~@3 c4", // C
AQ: "~@7 c4, c3, ~ e4@4 e4@3, ~ g3 e3@2, ~@3 c4@3 g3@2",
AR: "[~@5 e4 ~@7 e4 ~ e4, c3@8 c3@5 ~@3, ~ c4@4 ~@2 e4@3 e4@2 g3@4, ~@2 e4@2 g3@4 ~ c4@4 ~@3, ~@3 g4@3 g4@2 ~@3 g4@2 ~ g4@2]/2",
AS: "[~@15 d4, a4@6 f4@2 ~@3 f4@3 f4@2, d3@5 ~@3 [d3,a4]@5 ~@3, ~ a3@2 f4@2 d4@2 ~@3 d4@2 ~ d4@2 ~, ~@2 d4@2 a3@3 a3@2 a3@2 ~ a3@3 ~]/2", // D5
AT: "~@7 g3, g2, ~ b3@4 b3@3, ~ d3 b2@2, ~@3 g3@3 d3@2", AU: "~ b3 g3 ~@4 b3, g2 d3, ~@3 b3@2 b3@2 ~, ~@3 f3",
AV: "~@5 a4 ~ a4, f3, ~ f4@4 ~@3, ~ a4 c4@2, ~@3 c5@3 c5@2",
AW: "~@2 f4 ~@4 c4, [f3,a4]@3 c5@4 ~, ~ c4@3 f3@3 ~, ~@5 c4@2 ~, ~@3 f4", // F
AX: "~@2 c4 ~@4 a3, [d3,f4]@3 a4@4 ~, ~ a3@3 d3@3 ~, ~@5 a3@2 ~, ~@3 c4", // Dm
AY: "[~@4 e4@2 ~@10 c5@15 ~, c3@15 ~, ~ c4@2 c4@2 g3@10 ~, ~@8 g4@4 e4@19 ~, ~@14 g4@17 ~]/2",
})).s("gm_electric_guitar_jazz").gain(0.29)
// chords · electric guitar jazz · "GTR JZ" · soft notes
const electric_guitar_jazz_2 = note("<A B C D E@2 F G ~@103>".pickRestart({
A: "e3@2 ~ [c4,e4] ~ [c4,e4]@3, c3, ~ e3!2 ~, ~@3 g3@2 g3@2 ~", // C
B: "~ g3 ~ [g3,e4] ~@3 [g3,e4], c3, e3@7 ~ e3@4 e3@4, ~@5 c4@3, ~@5 g3@2 ~", C: "~@3 [g3,e4] ~ g3@2 g3, c3, ~@5 e4@3",
D: "~@3 [a3,f4] ~@3 a3, d3, ~@5 a3@2 ~, ~@3 f3", // Dm
E: "[a3@2 [a3,d4,f4] ~@2 a3@2 f3@3 g3 f4 ~ b3@3, d3@7 g2@9, f3@4 f3@3 ~@3 f3@2 f3@2 ~@2, ~@3 [a3,d4]@2 ~@6 [g3,b3]@2 g3@2 ~]/2", // Dm D5 G
F: "[f3,g3]@4 [f3,g3]@2 g3 ~@3 e4@2 ~@2 c4@2, g2@3 e3@5, ~@5 c4@2 ~, ~@3 c3", // Fsus2
G: "[e3,g3]@2 ~ g3 ~ c4@2 [c3,e4], c3@7 ~, ~@2 e4@3 g3 ~@2, ~ e3!2 ~", // Em C
})).s("gm_electric_guitar_jazz").gain(0.17)
// other · harmonica · "HARMNICA"
const harmonica = note("<~@52 A B ~@25 A B ~@7 A C ~@21>".pickRestart({
A: "g3!2 a3!2 b3!2 c4!2 d4!2 e4!2 f4!2 g4!2", B: "a4!2 b4!2 c5!2 d5!2 e5!2 f5!2 g5!2 a5!2",
C: "a4!2 b4!2 c5!2 d5!2 e5!2 f5!2 g5!2 a5 ~",
})).s("gm_harmonica").gain(0.64)
// drums · kick
const kick = s("bd").struct("<[x!2]!110 x>").gain(0.29)
// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!107 [~ x ~@2] ~@3>").gain(0.19)
// drums · snare
const snare = s("sd").struct(`<
A B@2 C D E F C@2 G A E H@2 I H J E K L@2 I L M A N@2 O I L O P K P@2 I@2 F M H P J@2 L G L@2 D B N K N B@2 J G L D C
P O I A B H B C F@2 C O A H B J A F B A K A P A H C A P H G H@2 J B P N O N O P C P M K N G P L Q ~@3
>`.pickRestart({
A: "~@3 x!2 ~@7 x ~@3", B: "~@3 x!2 ~@2 x ~@4 x ~@3", C: "~@3 x!2 ~@6 x!2 ~@3", D: "~@3 x!2 ~@7 x ~@2 x",
E: "~@4 x ~@7 x ~@2 x", F: "~@4 x ~@2 x ~@4 x ~@2 x", G: "~@3 x!2 ~@2 x ~@4 x ~@2 x", H: "~@4 x ~@6 x!2 ~@3",
I: "~@4 x ~@2 x ~@3 x!2 ~@2 x", J: "~@3 x!2 ~@6 x!2 ~@2 x", K: "~ x ~ x", L: "~@4 x ~@6 x!2 ~@2 x",
M: "~@4 x ~@2 x ~@3 x!2 ~@3", N: "~@3 x!2 ~@2 x ~@3 x!2 ~@2 x", O: "~@4 x ~@2 x ~@4 x ~@3",
P: "~@3 x!2 ~@2 x ~@3 x!2 ~@3", Q: "~@4 x ~@3 x ~@6 x",
})).gain(0.1)
// … 8 more lines
More by Anne Murray
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.