0:00/0:00
// Terug in de tijd — Andre Hazes
// 176 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 136 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(176/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 · "A.PIANO 2"
const piano = note(`<
A@2 B@2 C D A E A@2 F@2 B@2 D G C H I J K L M N A F O D A F O D P Q R S T U A V A@2 F@2 B@2 D G C H I J K L M N A F O
D A F O D P Q R S T U A@2 B@2 F@2 R@2 O W X@2 Y@2 Z@2 AA AB AC AD AE AF AG AH C AI X Y W AA X Y W AA AJ AK AL AM AN AO
X AP X Y W AA X Y W AA AJ AK AL AM AN AO X AP X Y W AA X Y W AQ
>`.pickRestart({
A: "~@4 [d4,g4,b4] ~@7 [d4,g4,b4] ~@3", B: "~@4 [d4,e4,g4,b4] ~@7 [d4,e4,g4,b4] ~@3",
C: "~@4 [e4,g4,c5] ~@7 [e4,g4,c5] ~@3", D: "~@4 [d4,gb4,a4] ~@7 [d4,gb4,a4] ~@3",
E: "~@4 [bb3,eb4,g4] ~@7 [c4,f4,a4] ~@3", F: "~@4 [d4,gb4,b4] ~@7 [d4,gb4,b4] ~@3",
G: "~@4 [d4,f4,g4,b4] ~@7 [d4,f4,g4,b4] ~@3", H: "~@4 [gb4,a4,d5] ~@7 [gb4,a4,d5] ~@3",
I: "~@4 [eb4,gb4,a4,b4] ~@7 [eb4,gb4,a4,b4] ~@3", J: "~@4 [e4,g4,b4] ~@7 [d4,e4,g4,b4] ~@3",
K: "~@4 [e4,g4,a4,c5] ~@7 [e4,g4,a4,c5] ~@3", L: "~@4 [c4,e4,g4,bb4] ~@7 [c4,e4,g4,bb4] ~@3",
M: "~@4 [eb4,gb4,b4] ~@7 [eb4,gb4,b4] ~@3", N: "~@4 [d4,gb4,a4,c5] ~@7 [d4,gb4,a4,c5] ~@3",
O: "~@4 [c4,e4,g4] ~@7 [c4,e4,g4] ~@3", P: "~@4 [d4,e4,ab4,b4] ~@7 [d4,e4,ab4,b4] ~@3",
Q: "~@4 [d4,e4,ab4,c5] ~@7 [d4,e4,ab4,b4] ~@3", R: "~@4 [c4,e4,g4,a4] ~@7 [c4,e4,g4,a4] ~@3",
S: "~@4 [eb4,g4,a4,c5] ~@7 [eb4,g4,a4,c5] ~@3", T: "~@4 [db4,e4,g4,b4] ~@7 [db4,e4,g4,b4] ~@3",
U: "~@4 [c4,d4,gb4,a4] ~@7 [c4,d4,gb4,a4] ~@3", V: "~@4 [eb4,g4,bb4] ~@7 [d4,gb4,a4] ~@3",
W: "~@4 [db4,f4,ab4] ~@7 [db4,f4,ab4] ~@3", X: "~@4 [eb4,ab4,c5] ~@7 [eb4,ab4,c5] ~@3",
Y: "~@4 [eb4,g4,c5] ~@7 [eb4,g4,c5] ~@3", Z: "~@4 [eb4,f4,ab4,c5] ~@7 [eb4,f4,ab4,c5] ~@3",
AA: "~@4 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@3", AB: "~@4 [eb4,gb4,ab4,c5] ~@7 [eb4,gb4,ab4,c5] ~@3",
AC: "~@4 [f4,ab4,db5] ~@7 [f4,ab4,db5] ~@3", AD: "~@4 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@3",
AE: "~@4 [e4,g4,bb4,c5] ~@7 [e4,g4,bb4,c5] ~@3", AF: "~@4 [f4,ab4,c5] ~@7 [eb4,f4,ab4,c5] ~@3",
AG: "~@4 [f4,ab4,bb4,db5] ~@7 [f4,ab4,bb4,db5] ~@3", AH: "~@4 [db4,f4,ab4,b4] ~@7 [db4,f4,ab4,b4] ~@3",
AI: "~@4 [eb4,g4,bb4,db5] ~@7 [eb4,g4,bb4,db5] ~@3", AJ: "~@4 [eb4,f4,a4,c5] ~@7 [eb4,f4,a4,c5] ~@3",
AK: "~@4 [eb4,f4,a4,db5] ~@7 [eb4,f4,a4,c5] ~@3", AL: "~@4 [db4,f4,ab4,bb4] ~@7 [db4,f4,ab4,bb4] ~@3",
AM: "~@4 [e4,ab4,bb4,db5] ~@7 [e4,ab4,bb4,db5] ~@3", AN: "~@4 [d4,f4,ab4,c5] ~@7 [d4,f4,ab4,c5] ~@3",
AO: "~@4 [db4,eb4,g4,bb4] ~@7 [db4,eb4,g4,bb4] ~@3", AP: "~@4 [e4,ab4,b4] ~@7 [eb4,g4,bb4] ~@3",
AQ: "~@4 [eb4,g4,bb4] ~@11", // Eb
})).s("gm_piano").gain(0.35)
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A B C D E F B G A B H I C J K L E F M N O P I Q R S T U B S T U V W X Y Z AA AB AC A B AD AE C J K AF E U AG N AH AI I
Q B M E F B M E F AJ AK AL Y AH AM AN AO AJ AP AQ AE Z AH AR AS AT@2 AU Y AV@2 AW AX AY AZ T BA BB BC BD BE BF E AY AZ
BG E AY AZ BH BI BB BJ BK BL BM BN BF E AY AZ BG E AY AZ AV BO BB BP BB BQ BR BS BF E AY AZ BG E AY AZ
>`.pickRestart({
A: "g2@4 ~@3 g2 d2@4 ~@4", B: "g2@4 ~@3 g2 d2@3 ~ g2@3 ~", C: "e2@4 ~@3 e2 b1@4 ~@4", D: "e2@4 ~@3 e2 b1@3 ~ b1@3 ~",
E: "c2@4 ~@3 c2 g1@3 ~ c2@3 ~", F: "d2@4 ~@3 d2 a1@3 ~ d2@3 ~", G: "eb2 ~ f2 ~", H: "b1@4 ~@3 b1 gb1@4 ~@4",
I: "b1@3 ~ gb2@2 ~@2 b2@3 ~ gb2@3 ~", J: "e2@4 ~@3 e2 b1@3 ~ e2@3 ~", K: "d2@4 ~@4 a2@3 ~ ab2@3 ~",
L: "g2@3 ~ bb2@2 ~@2 b2@3 ~ d3@3 ~", M: "b1@4 ~@3 b1 gb1@3 ~ b1@3 ~", N: "e2@3 ~ gb2@2 ~@2 g2@3 ~ b2@3 ~",
O: "a1@4 ~@4 e2@3 ~ a1@3 ~", P: "c2@4 ~@4 g2@3 ~ c2@3 ~", Q: "d2@3 ~ a2@2 ~@2 e3@3 ~ d3@3 ~",
R: "g2@4 ~@3 g2 d2@5 ~@3", S: "b1@4 ~@3 b1 gb2@3 ~ b1@3 ~", T: "c2@4 ~@3 c2 g2@3 ~ c2@3 ~",
U: "d2@4 ~@3 d2 a2@3 ~ d2@3 ~", V: "e2@5 ~@3 b2@5 ~@2 b2", W: "e2@5 ~@3 b2@5 ~@3", X: "a1@3 ~ b1@3 ~ c2@3 ~ a1@3 ~",
Y: "c2@3 ~ d2@3 ~ eb2@3 ~ g2@3 ~", Z: "a1@5 ~@3 e2@5 ~@3", AA: "d2@5 ~@3 a2@5 ~@3", AB: "g2@3 ~ d3@4 e3@4 d3@4",
AC: "eb2@4 eb3@4 d2@4 d3@3 ~", AD: "b1@4 ~@3 b1 gb2@6 ~@2", AE: "b1@5 ~@3 gb2@3 ~ b1@3 ~",
AF: "g2@3 ~ bb2@2 ~@2 b2@3 ~ g2@3 ~", AG: "b1@3 ~ gb2@3 ~ b2@3 ~ b1@3 ~", AH: "a1@5 ~@3 e2@3 ~ a1@3 ~",
AI: "c2@5 ~@3 g2@3 ~ c2@3 ~", AJ: "e2@5 ~@3 b1@5 ~@3", AK: "e2@5 ~@3 b2@3 ~ e2@3 ~", AL: "a2@5 ~@3 e2@5 ~@3",
AM: "d2@5 ~@3 a2@3 ~ d2@3 ~", AN: "g2@5 ~@3 d2@5 ~@3", AO: "g2@3 ~ a2@3 ~ b2@3 ~ g2@3 ~",
AP: "e2@5 ~@3 g2@3 ~ e2@3 ~", AQ: "b1@5 ~@3 gb2@5 ~@3", AR: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~",
AS: "eb2@3 ~ eb2@3 ~ eb3@3 ~ eb2@3 ~", AT: "ab2@5 ~@3 eb2@5 ~@3", AU: "c2@5 ~@3 g1@5 ~@3", AV: "f2@5 ~@3 c2@5 ~@3",
AW: "eb2@5 ~@3 bb2@3 ~ eb2@3 ~", AX: "ab2@3 ~ bb2@2 ~@2 c3@3 ~ ab2@3 ~", AY: "db2@4 ~@3 db2 ab1@3 ~ db2@3 ~",
AZ: "eb2@4 ~@3 eb2 bb1@3 ~ eb2@3 ~", BA: "f2@3 ~ g2@2 ~@2 ab2@3 ~ f2@3 ~", BB: "bb1@5 ~@3 f2@3 ~ bb1@3 ~",
BC: "db2@5 ~@3 db3@3 ~ db2@3 ~", BD: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~", BE: "eb2@3 ~ bb2@2 ~@2 f3@3 ~ eb3@3 ~",
BF: "ab2@4 ~@3 ab2 eb2@5 ~@3", BG: "ab2@4 ~@3 ab2 eb2@3 ~ ab2@3 ~", BH: "f2@4 ~@3 f2 c2@5 ~@3",
BI: "f2@5 ~@3 c2@3 ~ f2@3 ~", BJ: "db2@3 ~ ab2@2 ~@2 db3@5 ~@3", BK: "bb1@5 ~@3 f1@3 ~ bb1@3 ~",
BL: "eb2@5 ~@3 eb2@5 ~@3", BM: "ab2@5 ~@3 eb2@3 ~ ab2@3 ~", BN: "e2@3 ~ e2@3 ~ eb2@3 ~ eb2@3 ~",
BO: "f2@5 ~@2 f2 c2@3 ~ f2@3 ~", BP: "db2@5 ~@3 db3@5 ~@3", BQ: "eb2@5 ~@3 eb3@5 ~@3",
BR: "ab2@3 ~ bb2@3 ~ c3@3 ~ eb3@3 ~", BS: "e2@3 ~ e3@3 ~ eb2@3 ~ eb3@3 ~",
})).s("gm_electric_bass_finger").gain(0.52)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
A@2 B@2 C@4 ~@7 D E F@2 G H@3 I J@2 K L J@2 K M N O P@2 Q R@3 ~@7 D E F@2 G H@3 I J@2 K L J@2 K M N O P@2 Q S@3 T@2
U@2 V@3 W ~@7 X Y Z@2 AA AB@3 AC AD@2 AE AF AD@2 AE AG AH AI AJ@2 AK AL@3 AD@2 AE AF AD@2 AE AG AH AI AJ@2 AK AL@3
AD@2 AE AF AD@2 AE AG
>`.pickRestart({
A: "[[g5,b5]@18 ~@2 g4@2 b4 ~@3 d5@2 b4@2 d5@2]/2", B: "[gb5@4 g5@2 ~ g5@22 ~@3, b5@29 ~@3, ~@3 e5@11 ~@2]/2",
C: "[[g4,g5]@9 ~ g5@2 b4@2 [d5,a5]@10 d5@3 ~ gb5@2 [g5,b5]@13 ~ g4@3 ~ [g4,bb4]@8 [f4,a4,c5]@8, ~@27 a5@2 ~@18 eb4@9 ~@8, ~@3 d5]/4", // G D5 G Gm F
D: "~ [g4,b4] [a4,c5] [b4,d5]", E: "[c5,e5]", F: "[d5 eb5, gb5]/2", G: "[gb5,a5] [e5,g5]",
H: "[[c5,e5]@31 ~ eb5@16, ~@31 b4@17]/3", I: "~@4 [d5,d6]@3 ~ [d5,d6]@2 e6 e5 [d5,d6]@4",
J: "[[gb5,gb6]@2 [g5,g6]@2 [d5,d6]@2 [b4,b5] [e5,e6]@2 [d5,d6]@7]/2", K: "[e5,e6]", L: "[gb5,gb6]", M: "d6@3 c6, d5",
N: "[d5,b5]", O: "[e5,c6] [d5,b5]@3", P: "[[c5,a5]@4 [e5,c6]@3 ~ [e5,c6]@4 [d5,b5]@2 a5@12 g5@5 ~, ~@7 c5@9]/2",
Q: "[db5,b5]", // Db7
R: "[c5@16 b4@16 [eb5,g5,bb5]@2 [eb5,g5] bb5 [eb5,g5,bb5] ~@3 [d5,gb5,a5]@2 [gb5,a5] ~ [gb5,a5] ~@3, d6@15 ~, ~@32 g4@8 gb4@5 ~@3, ~@43 d5@2 ~@3]/3", // Eb D Gbm
S: "[c5@16 b4@31 ~, d6@47 ~]/3", T: "[~@3 e5, e4, ~ g4@3, ~ b4]/2", U: "[gb4,gb5]/2", V: "[~@2 [e4,c5], [g4,g5]]/3",
W: "[f4,ab4,db5,ab5]", X: "~ [ab4,c5] [bb4,db5] [c5,eb5]", Y: "[db5,f5]", Z: "[eb5 e5, g5]/2",
AA: "[g5,bb5] [f5,ab5]", AB: "[[db5,f5]@31 ~ e5@16, ~@31 c5@17]/3",
AC: "~@4 [eb5,eb6]@3 ~ [eb5,eb6]@2 f6 f5 [eb5,eb6]@4", // Eb
AD: "[[g5,g6]@2 [ab5,ab6]@2 [eb5,eb6]@2 [c5,c6] [f5,f6]@2 [eb5,eb6]@7]/2", AE: "[f5,f6]", AF: "[g5,g6]",
AG: "eb6@3 db6, eb5", AH: "[eb5,c6]", AI: "[f5,db6] [eb5,c6]@3",
AJ: "[[db5,bb5]@4 [f5,db6]@3 ~ [f5,db6]@4 [eb5,c6]@2 bb5@12 ab5@5 ~, ~@7 db5@9]/2", AK: "[d5,c6]",
AL: "[db5@16 c5@16 [e5,ab5,b5]@2 [e5,ab5] b5 [e5,ab5,b5] ~@3 [eb5,g5,bb5]@2 [g5,bb5] ~ [g5,bb5] ~@3, eb6@15 ~, ~@32 ab4@8 g4@5 ~@3, ~@43 eb5@2 ~@3]/3", // E Eb Gm
})).s("gm_string_ensemble_1").gain(0.36)
// chords · trumpet
const trumpet = note(`<
A B C@2 D@3 E@2 ~ F ~@3 G ~@4 H ~ I@3 ~@3 J ~@3 K ~@3 L ~@2 M N ~@6 G ~@4 H ~ I@3 ~@3 J ~@3 K ~@3 L ~@2 M O ~@6 P Q
~@6 R ~@4 S ~ T@3 ~@3 U ~@3 V ~@3 W@2 X Y Z ~@3 AA ~ AB ~ AC ~@3 W@2 X AD Z ~@3 AA ~ AB ~ AC
>`.pickRestart({
A: "g5", B: "~@4 g4@2 b4 ~@3 d5@2 b4@2 d5 ~", C: "[gb5@2 g5 e5@11 ~@2]/2",
D: "[g4@9 ~ g5 ~ b4@2 d5@9 ~ d5@2 ~ a5 gb5@2 ~ g5@10 ~@3 g4!2 ~ b4]/3", E: "[d5@9 ~@7]/2", F: "~@8 d5@4 ~@2 d5 ~",
G: "~@4 d5 ~@3 d5 ~@3 d5 ~ d5 ~", H: "~@4 e5@2 e5 ~@9", I: "[~@8 [g4,e5]@6 eb5@17 ~ d5@16, ~@14 gb4@33 ~]/3",
J: "~@3 a4 c5@2 ~ d5 ~@2 d5 ~ d5 ~@3", K: "~@4 d5@2 d5 ~@4 d5!2 ~@3", L: "~@3 a4 c5@2 eb5 ~@4 g5 ~@4",
M: "~@11 g4 b4 ~@3", N: "[eb4,g4,d5]@2 ~ [eb4,g4,d5] ~@4 [d4,gb4,d5]@2 ~ [d4,gb4,d5] ~@4",
O: "[d4,g4,d5]@2 ~ [d4,g4,d5] ~@4 [d4,g4,d5]@2 [d4,g4] d5 ~@4", P: "[c4,e4,g4]@15 ~", Q: "[db4,f4,ab4]",
R: "~@4 eb5 ~@3 eb5 ~@3 eb5 ~ eb5 ~", S: "~@4 f5@2 f5 ~@9", T: "[~@8 [ab4,f5]@6 e5@17 ~ eb5@16, ~@14 g4@33 ~]/3",
U: "~@3 bb4 db5@2 ~ eb5 ~@2 eb5 ~ eb5 ~@3", V: "~@4 eb5@2 eb5 ~@4 eb5!2 ~@3",
W: "[ab4@2 db5 ~@3 eb5@2 ~@2 e5@3 ~@2 f5@17]/2", X: "eb5", Y: "~@12 ab4!2 c5 ~",
Z: "[e4,ab4,eb5]@2 eb5 [e4,ab4] ~@4 [eb4,g4,eb5]@2 [eb4,g4,eb5] ~@5", AA: "~@3 eb5@13",
AB: "~@4 [g4,c5,eb5]@2 [g4,c5,eb5] ~@4 [g4,c5,eb5]!2 ~@3", // Cm
AC: "~@4 [g4,bb4,eb5]@2 [g4,bb4,eb5] ~@4 [g4,bb4,eb5]!2 ~@3", AD: "~@11 ab4 c5 ~@3",
})).s("gm_trumpet").gain(0.4).pan(0.4)
// other · trombone
const trombone = note(`<
A B C@2 D@3 E@2 ~ F ~@3 G ~@4 H ~ I@3 ~@3 J ~@3 K ~@3 L ~@2 M N ~@6 G ~@4 H ~ I@3 ~@3 J ~@3 K ~@3 L ~@2 M O ~@6 P Q
~@6 R ~@4 S ~ T@3 ~@3 U ~@3 V ~@3 W@2 X Y Z ~@3 AA ~ V ~ V ~@3 W@2 X AB Z ~@3 AA ~ V ~ V
>`.pickRestart({
A: "g4", B: "~@4 g3@2 b3 ~@3 d4 ~ b3@2 d4 ~", C: "[gb4@2 g4 e4@11 ~@2]/2",
D: "[g3@9 ~@2 g4 b3@2 d4@9 ~ d4@2 ~ a4 gb4@2 g4@10 ~@4 g3!2 b3 ~]/3", E: "[d4@9 ~@7]/2", F: "~@8 d4@5 ~ d4 ~",
G: "~@4 c4 ~@3 c4 ~@3 c4@2 b3 ~", H: "~@4 b3@2 b3 ~@9", I: "[~@8 bb3@5 ~ a3@32 ~@2]/3",
J: "~@3 a3 c4@2 ~ d4 ~@2 d4 ~ d4 ~@3", K: "~@4 d4@2 d4 ~@4 d4!2 ~@3", L: "~@3 a3 c4 ~@2 eb4 ~@2 g4 ~@5",
M: "~@11 g3 b3 ~@3", N: "bb3@2 ~ bb3 ~@4 a3@2 ~ a3 ~@4", O: "b3@2 ~ b3 ~@4 b3@2 ~ b3 ~@4", P: "d3@15 ~",
Q: "eb3@15 ~", R: "~@4 db4 ~@3 db4 ~@3 db4@2 c4 ~", S: "~@4 c4@2 c4 ~@9", T: "[~@8 b3@5 ~ bb3@32 ~@2]/3",
U: "~@3 bb3 db4@2 eb4 ~@3 eb4 ~ eb4 ~@3", V: "~@4 eb4@2 eb4 ~@4 eb4!2 ~@3",
W: "[ab3@2 db4 ~@3 eb4@2 ~@2 e4@2 ~@3 f4@17]/2", X: "eb4", Y: "~@12 ab3!2 c4 ~", Z: "b3@2 b3 ~@5 bb3@2 bb3 ~@5",
AA: "~@3 [eb3,eb4]@13", AB: "~@11 ab3 c4 ~@3",
})).s("gm_trombone").gain(0.4).pan(0.6)
// chords · electric guitar clean · "CLEAN GTR"
const electric_guitar_clean = note(`<
A@2 B@2 C D A E F@2 G H I@2 J K L M N B O P N Q A H C R A H C R S T U V W Q A X F@2 G H I@2 J K L M N B O P N Q A H C
R A H C R S T U V W Q A@2 B Y H@2 U@2 C Z AA@2 AB AC AD@2 AE AF AG AH L AI AJ AK L AL AM AC Z AN AM AC Z AN V AO AP AQ
AR AL AM AS AM AC Z AN AM AC Z AN V AO AP AQ AR AL AM AS AM AC Z AN AM AC Z AN
>`.pickRestart({
A: "~@4 [d4,g4,b4] ~@6 [d4,g4,b4]!2 ~@3", B: "~@4 [e4,g4,b4] ~@6 [e4,g4,b4]!2 ~@3",
C: "~@4 [e4,g4,c5] ~@6 [e4,g4,c5]!2 ~@3", D: "~@4 [gb4,a4,c5] ~@6 [gb4,a4,c5]!2 ~@3",
E: "~@4 [eb4,g4,bb4] ~@6 [f4,a4,c5]!2 ~@3", F: "~@4 [d4,g4,b4] ~@7 [d4,g4,b4] ~@3",
G: "~@4 [d4,gb4,b4] ~@7 [d4,gb4,b4] ~@3", H: "~@4 [d4,gb4,b4] ~@6 [d4,gb4,b4]!2 ~@3",
I: "~@4 [e4,g4,b4] ~@7 [e4,g4,b4] ~@3", J: "~@4 [d4,gb4,a4] ~@7 [d4,gb4,a4] ~@3",
K: "~@4 [d4,f4,b4] ~@6 [d4,f4,b4]!2 ~@3", L: "~@4 [e4,g4,c5] ~@7 [e4,g4,c5] ~@3",
M: "~@4 [gb4,a4,d5] ~@7 [gb4,a4,d5] ~@3", N: "~@4 [eb4,gb4,b4] ~@7 [eb4,gb4,b4] ~@3",
O: "~@4 [e4,a4,c5] ~@7 [e4,a4,c5] ~@3", P: "~@4 [e4,g4,bb4] ~@7 [e4,g4,bb4] ~@3",
Q: "~@4 [d4,a4,c5] ~@6 [d4,a4,c5]!2 ~@3", R: "~@4 [d4,gb4,c5] ~@6 [d4,gb4,c5]!2 ~@3",
S: "~@4 [d4,ab4,b4] ~@6 [d4,ab4,b4]!2 ~@3", T: "~@4 [d4,ab4,c5] ~@6 [d4,ab4,b4]!2 ~@3",
U: "~@4 [e4,a4,c5] ~@6 [e4,a4,c5]!2 ~@3", V: "~@4 [eb4,a4,c5] ~@6 [eb4,a4,c5]!2 ~@3",
W: "~@4 [db4,g4,b4] ~@6 [db4,g4,b4]!2 ~@3", X: "~@4 [eb4,g4,bb4] ~@6 [d4,gb4,c5]!2 ~@3",
Y: "~@4 [e4,gb4,b4] ~@6 [e4,gb4,b4]!2 ~@3", Z: "~@4 [f4,ab4,db5] ~@6 [f4,ab4,db5]!2 ~@3",
AA: "~@4 [eb4,ab4,c5] ~@7 [eb4,ab4,c5] ~@3", AB: "~@4 [eb4,g4,c5] ~@7 [eb4,g4,c5] ~@3",
AC: "~@4 [eb4,g4,c5] ~@6 [eb4,g4,c5]!2 ~@3", AD: "~@4 [f4,ab4,c5] ~@7 [f4,ab4,c5] ~@3",
AE: "~@4 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@3", AF: "~@4 [eb4,gb4,c5] ~@6 [eb4,gb4,c5]!2 ~@3",
AG: "~@4 [f4,ab4,db5] ~@7 [f4,ab4,db5] ~@3", AH: "~@4 [g4,bb4,eb5] ~@7 [g4,bb4,eb5] ~@3",
AI: "~@4 [f4,ab4,c5] ~@6 [f4,ab4,c5]!2 ~@3", AJ: "~@4 [f4,bb4,db5] ~@7 [f4,bb4,db5] ~@3",
AK: "~@4 [f4,ab4,b4] ~@7 [f4,ab4,b4] ~@3", AL: "~@4 [eb4,bb4,db5] ~@6 [eb4,bb4,db5]!2 ~@3",
AM: "~@4 [eb4,ab4,c5] ~@6 [eb4,ab4,c5]!2 ~@3", AN: "~@4 [eb4,g4,db5] ~@6 [eb4,g4,db5]!2 ~@3",
AO: "~@4 [eb4,a4,db5] ~@6 [eb4,a4,c5]!2 ~@3", AP: "~@4 [f4,bb4,db5] ~@6 [f4,bb4,db5]!2 ~@3",
AQ: "~@4 [e4,bb4,db5] ~@6 [e4,bb4,db5]!2 ~@3", AR: "~@4 [d4,ab4,c5] ~@6 [d4,ab4,c5]!2 ~@3",
AS: "~@4 [e4,ab4,b4] ~@6 [eb4,g4,db5]!2 ~@3", // E Eb7
})).s("gm_electric_guitar_clean").gain(0.5).pan(0.3)
// chords · banjo
const banjo = note(`<
A@2 B C D E F G H I J K L M N O P Q R S T U V W A X D E A Y Z E AA AB AC AD AE E F AF H I J K L M N O P Q R S T U V W
A X D E A Y Z E AA AB AC AD AE E F AG AH AI ~ AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG
BH BE BI BJ BH BK BL BM BN BO BH BP BQ BE BF BG BH BE BI BJ BH BK BL BM BN BO BH BP BQ BE BF BG BH BE BI BJ BR
>`.pickRestart({
A: "[d4,g4,b4] ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~@2 [d4,g4,b4]!2 ~@2 [d4,g4,b4]", // G
B: "[e4,g4,b4] ~@3 [e4,g4,b4] ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]!2 ~@2 [e4,g4,b4]", // Em
C: "[e4,g4,b4] ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]!2 ~@2 [e4,g4,b4]!2 ~@2 [e4,g4,b4]", // Em
D: "[e4,g4,c5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5] ~@2 [e4,g4,c5]!2 ~@2 [e4,g4,c5]", // C
E: "[d4,gb4,c5] ~@3 [d4,gb4,c5] ~@2 [d4,gb4,c5]!2 ~@2 [d4,gb4,c5]!2 ~@2 [d4,gb4,c5]", // D7
F: "[d4,g4,b4] ~@3 [d4,g4,b4] ~@2 [d4,g4,b4]!2 ~@2 [d4,g4,b4]!2 ~@2 [d4,g4,b4]", // G
G: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@2 [eb4,g4,bb4] [f4,a4,c5] ~@2 [f4,a4,c5]!2 ~@2 [f4,a4,c5]", // Eb F
H: "[d4,g4,b4] ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~@2 [d4,g4,b4]", // G
I: "[d4,g4,b4] ~@2 [d4,g4,b4]!2 ~@3 [d4,g4,b4] ~@3 [d4,g4,b4] ~@2 [d4,g4,b4]", // G
J: "[d4,gb4,b4] ~@3 [d4,gb4,b4] ~@3 [d4,gb4,b4] ~@3 [d4,gb4,b4] ~@2 [d4,gb4,b4]", // Bm
K: "[d4,gb4,b4] ~@2 [d4,gb4,b4]!2 ~@3 [d4,gb4,b4] ~@2 [d4,gb4,b4]!2 ~@3", // Bm
L: "[e4,g4,b4] ~@3 [e4,g4,b4] ~@3 [e4,g4,b4] ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]", // Em
M: "[e4,g4,b4] ~@2 [e4,g4,b4]!2 ~@3 [e4,g4,b4] ~@3 [e4,g4,b4] ~@2 [e4,g4,b4]", // Em
N: "[c4,gb4,a4] ~@3 [c4,gb4,a4] ~@2 [c4,gb4,a4]!2 ~@2 [c4,gb4,a4]!2 ~@2 [c4,gb4,a4]", // Gbdim
O: "[d4,f4,b4] ~@3 [d4,f4,b4] ~@2 [d4,f4,b4]!2 ~@2 [d4,f4,b4]!2 ~@2 [d4,f4,b4]", // Bdim
P: "[e4,g4,c5] ~@3 [e4,g4,c5] ~@3 [e4,g4,c5] ~@2 [e4,g4,c5]!2 ~@3", // C
Q: "[d4,gb4,a4] ~@3 [d4,gb4,a4] ~@2 [d4,gb4,a4]!2 ~@3 [d4,gb4,a4] ~@2 [d4,gb4,a4]", // D
R: "[eb4,gb4,b4] ~@3 [eb4,gb4,b4] ~@3 [eb4,gb4,b4] ~@3 [eb4,gb4,b4] ~@2 [eb4,gb4,b4]", // B
S: "[gb4,a4,b4] ~@3 [gb4,a4,b4] ~@2 [gb4,a4,b4] [e4,g4,b4] ~@2 [e4,g4,b4]!2 ~@3", // B7 Em
T: "[e4,a4,c5] ~@3 [e4,a4,c5] ~@2 [e4,a4,c5]!2 ~@2 [e4,a4,c5]!2 ~@2 [e4,a4,c5]", // Am
U: "[e4,g4,bb4] ~@3 [e4,g4,bb4] ~@3 [e4,g4,bb4] ~@2 [e4,g4,bb4]!2 ~@2 [e4,g4,bb4]", // Edim
V: "[eb4,gb4,a4] ~@3 [eb4,gb4,a4] ~@2 [eb4,gb4,a4]!2 ~@2 [eb4,gb4,a4]!2 ~@2 [eb4,gb4,a4]", // Ebdim
W: "[d4,gb4,c5] ~@2 [d4,gb4,c5]!2 ~@3 [d4,gb4,c5] ~@3 [d4,gb4,c5] ~@2 [d4,gb4,c5]", // D7
X: "[d4,gb4,b4] ~@3 [d4,gb4,b4] ~@3 [d4,gb4,b4] ~@2 [d4,gb4,b4]!2 ~@2 [d4,gb4,b4]", // Bm
Y: "[d4,gb4,b4] ~@3 [d4,gb4,b4] ~@2 [d4,gb4,b4]!2 ~@2 [d4,gb4,b4]!2 ~@2 [d4,gb4,b4]", // Bm
Z: "[e4,g4,c5] ~@3 [e4,g4,c5] ~@2 [e4,g4,c5]!2 ~@2 [e4,g4,c5]!2 ~@2 [e4,g4,c5]", // C
AA: "[d4,ab4,b4] ~@3 [d4,ab4,b4] ~@2 [d4,ab4,b4]!2 ~@2 [d4,ab4,b4]!2 ~@2 [d4,ab4,b4]", // Abdim
AB: "[d4,ab4,c5] ~@3 [d4,ab4,b4] ~@3 [d4,ab4,b4] ~@2 [d4,ab4,b4]!2 ~@3", // Dm7b5 Abdim
AC: "[e4,a4,c5] ~@3 [e4,a4,c5] ~@2 [e4,a4,c5]!2 ~@3 [e4,a4,c5] ~@2 [e4,a4,c5]", // Am
AD: "[eb4,g4,c5]!2 ~ [eb4,g4,c5]!2 ~@2 [eb4,g4,c5]!2 ~@2 [eb4,g4,c5]!2 ~@3", // Cm
AE: "[e4,g4,db5] ~@3 [e4,g4,db5] ~@2 [e4,g4,db5]!2 ~@2 [e4,g4,db5]!2 ~@2 [e4,g4,db5]", // Dbdim
AF: "[eb4,g4,bb4] ~@2 [eb4,g4,bb4]!2 ~@3 [d4,gb4,a4] ~@2 [d4,gb4,a4]!2 ~@2 [d4,gb4,a4]", // Eb D
AG: "[d4,g4,b4] ~@2 [d4,g4,b4]!2 ~@3 [d4,g4,b4] ~@2 [d4,g4,b4]!2 ~@2 [d4,g4,b4]", // G
AH: "~@3 g3 b3@2 ~ e4 g4@2 e4 ~ b3@2 ~@2", AI: "~@3 g4 b4 ~ d5 ~ db5@2 ~ c5 b4@2 ~@2", AJ: "~@11 d4@2 ~@3",
AK: "a3@2 g3 ~ a3@2 c4@2 ~@3 c4 e4@2 ~ eb4", AL: "e4@2 a4 ~@4 a4 b4@2 ~ a4@2 ~@3",
// … 111 more lines
More by Andre Hazes
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.