0:00/0:00
// You Can Win If You Want — Modern Talking
// 120 bpm, 4/4, key A# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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, A@4 for four bars: edit a riff to change every repeat.
// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
A@6 B@2 C D E F A@2 B@2 C G E F A@2 B@2 C@2 H I A@2 J K C@2 H F A@2 D G E F A@4 D H E F A L A@2 B@2 C H E F A@2 B K
C@2 H F A@2 B K C@2 H F A@2 D M E F A@4 D M E F A@3 N D M E F A@3 N D M E F A@5 O
>`.pickRestart({
A: "bb1 ~ bb1 ~ f1 ~ ab1 ~ bb1 ~ bb1 ~ f1 ~ ab1 ~", B: "f1 ~ f1 ~ c1 ~ eb1 ~ f1 ~ f1 ~ c1 ~ eb1 ~",
C: "gb1 ~ gb1 ~ db1 ~ eb1 ~ gb1 ~ gb1 ~ db1 ~ eb1 ~", D: "eb1 ~ eb1 ~@3 db1 ~ eb1 ~ eb1 ~@3 db1 ~",
E: "ab1 ~ ab1 ~ eb1 ~ f1 ~ ab1 ~ ab1 ~ eb1 ~ f1 ~", F: "ab1 ~ ab1 ~ eb1 ~ f1 ~ ab1 ~ ab1 ~ f1 ~ ab1 ~",
G: "eb1 ~ eb1 ~@3 db1 ~ eb1 ~ eb1 ~ eb1 ~ f1 ~", H: "eb1 ~ eb1 ~@3 db1 ~ eb1 ~ eb1 ~@3 eb1 ~",
I: "ab1 ~ ab1 ~ eb1 ~ f1 ~ ab1 ~ ab1 ~ eb1 ~ ab1 ~", J: "f1 ~ [eb1,f1] ~ c1 ~ eb1 ~ f1 ~ f1 ~ c1 ~ eb1 ~",
K: "f1 ~ f1 ~ c1 ~ eb1 ~ f1 ~ f1 ~ db1 ~ eb1 ~", L: "bb1 ~ bb1 ~ f1 ~@3 bb1 ~ bb1 ~ f1 ~ ab1 ~",
M: "eb1 ~ eb1 ~@3 db1 ~ eb1 ~ eb1 ~ c1 ~ eb1 ~", N: "bb1 ~ bb1 ~ f1 ~ ab1 ~ bb1 ~ bb1 ~ f1 ~ e1 ~", O: "bb1 ~@15",
})).s("gm_electric_bass_finger").gain(0.5)
// bass · synth bass 1 · "SYNTH BASS"
const bass_2 = note(`<
A@6 B@2 C D E F A@2 B@2 C G E F A@2 B@2 C@2 H I A@2 J K C@2 H F A@2 D G E F A@4 D H E F A L A@2 B@2 C H E F A@2 B K
C@2 H F A@2 B K C@2 H F A@2 D M E F A@4 D M E F A@3 N D M E F A@3 N D M E F A@5 O
>`.pickRestart({
A: "bb2 ~ bb2 ~ f2 ~ ab2 ~ bb2 ~ bb2 ~ f2 ~ ab2 ~", B: "f2 ~ f2 ~ c2 ~ eb2 ~ f2 ~ f2 ~ c2 ~ eb2 ~",
C: "gb2 ~ gb2 ~ db2 ~ eb2 ~ gb2 ~ gb2 ~ db2 ~ eb2 ~", D: "eb2 ~ eb2 ~@3 db2 ~ eb2 ~ eb2 ~@3 db2 ~",
E: "ab2 ~ ab2 ~ eb2 ~ f2 ~ ab2 ~ ab2 ~ eb2 ~ f2 ~", F: "ab2 ~ ab2 ~ eb2 ~ f2 ~ ab2 ~ ab2 ~ f2 ~ ab2 ~",
G: "eb2 ~ eb2 ~@3 db2 ~ eb2 ~ eb2 ~ eb2 ~ f2 ~", H: "eb2 ~ eb2 ~@3 db2 ~ eb2 ~ eb2 ~@3 eb2 ~",
I: "ab2 ~ ab2 ~ eb2 ~ f2 ~ ab2 ~ ab2 ~ eb2 ~ ab2 ~", J: "f2 ~ [eb2,f2] ~ c2 ~ eb2 ~ f2 ~ f2 ~ c2 ~ eb2 ~",
K: "f2 ~ f2 ~ c2 ~ eb2 ~ f2 ~ f2 ~ db2 ~ eb2 ~", L: "bb2 ~ bb2 ~ f2 ~@3 bb2 ~ bb2 ~ f2 ~ ab2 ~",
M: "eb2 ~ eb2 ~@3 db2 ~ eb2 ~ eb2 ~ c2 ~ eb2 ~", N: "bb2 ~ bb2 ~ f2 ~ ab2 ~ bb2 ~ bb2 ~ f2 ~ e2 ~", O: "bb2 ~@15",
})).s("gm_synth_bass_1").gain(0.35)
// chords · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note(`<
A B C D E F G H I J K L E M N@2 I O P Q E R N S T U J P V R W X Y I Z P E@2 J@2 P AA E@2 F AB AC J P@2 AD AE AF E AG
AH AI J AJ P AK E AL AM I AN AO AP AQ E AR N AS AT AU AV V AW AX AY AZ P BA BB BC BD BE J P BF E@3 BG J BH BI BJ V BK
AQ E BL J BM BN E BO BP E@2 BQ
>`.pickRestart({
A: "[f4,bb4,db5] ~ [f4,bb4,db5] [bb4,db5] [f4,bb4,db5] ~ [f4,bb4,db5] [bb4,db5] [f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
B: "[f4,bb4,db5,d5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bb Bbm
C: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2 [eb4,f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
D: "[f4,bb4,db5] ~ [f4,bb4,db5] [bb4,db5] [f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
E: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
F: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~@2 [f4,bb4,db5]", // Bbm
G: "[f4,ab4,c5] ~ [f4,ab4,bb4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
H: "[f4,ab4,c5] ~ [f4,ab4,c5]!2 [f4,ab4,b4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
I: "[gb4,bb4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!2", // Gb
J: "[eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
K: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,gb4,ab4,c5] [eb4,ab4,c5]", // Ab Ab7 Ab
L: "[gb4,ab4,b4,c5] ~ [gb4,ab4,c5]!2 [gb4,ab4,b4,c5] ~ [gb4,ab4,c5]!2 [gb4,ab4,b4,c5] ~ [gb4,ab4,c5]!3 ~ [gb4,ab4,c5]!2", // Ab7
M: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2 [f4,a4,bb4,db5] ~ [f4,bb4,db5]!2", // Bbm
N: "[f4,ab4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
O: "[eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4] [eb4,gb4,bb4,c5]", // Ebm Cm7b5
P: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!2", // Ab
Q: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!2 [eb4,ab4,b4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!2", // Ab
R: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2 [f4,a4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
S: "[f4,ab4,c5] ~ [ab4,c5] [f4,ab4,c5,d5] [f4,ab4,b4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,b4,c5] [f4,ab4,c5]", // Fm Ab Dm7b5 Fm
T: "[gb4,bb4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5] ~ [gb4,bb4,db5] ~ [gb4,bb4,db5] ~ [gb4,bb4,db5] ~ [gb4,bb4,db5]!2", // Gb
U: "[gb4,bb4,db5] ~@2 [gb4,bb4,db5]!2 ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!2", // Gb
V: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,a4,bb4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!2", // Bbm
W: "[f4,ab4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2 [f4,ab4,b4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
X: "[f4,ab4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!3 ~ [f4,ab4,b4,c5] [f4,ab4,c5]", // Fm
Y: "[gb4,bb4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!3 ~ [gb4,a4,bb4,b4,db5] [gb4,bb4,db5]!2 ~ [gb4,bb4,db5]!2", // Gb
Z: "[eb4,gb4,bb4] gb4 [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
AA: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~@2 [eb4,ab4,c5]", // Ab
AB: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~@2 [f4,bb4,db5]!2 ~ [f4,bb4,db5]!2", // Bbm
AC: "[eb4,gb4,a4,bb4] ~ [eb4,gb4,a4,bb4] [eb4,gb4,bb4]!2 ~ [eb4,gb4,bb4]!2 [eb4,gb4,bb4,c5] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm Cm7b5 Ebm
AD: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,a4,bb4,b4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] ~", // Bbm
AE: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] ~ [f4,bb4,db5] ~ [f4,bb4,db5]!3 ~@2 [f4,bb4,db5]", // Bbm
AF: "[f4,bb4,db5] ~@2 [f4,bb4,db5]!2 ~ [f4,bb4,db5]!2 ~ [f4,bb4,db5]!4 ~ [f4,bb4,db5]!2", // Bbm
AG: "[f4,ab4,c5] ~ [f4,ab4,b4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,b4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,bb4,c5] [f4,ab4,b4,c5] [f4,ab4,c5] ~ [f4,ab4,c5]!2", // Fm
AH: "[f4,ab4,c5] ~ [f4,ab4,c5] [f4,g4,ab4,c5] ~ [f4,ab4,c5] [f4,ab4,bb4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
AI: "[gb4,bb4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,a4,bb4,db5] [gb4,bb4,db5] ~ [gb4,bb4,db5]!4 ~ [gb4,bb4,db5]!2", // Gb
AJ: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,b4,c5] [eb4,ab4,c5]!2 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5] ~", // Ab
AK: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,a4,bb4,b4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
AL: "[f4,ab4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,b4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
AM: "[f4,ab4,c5] ~ [f4,ab4,bb4,c5] [f4,ab4,c5] [f4,ab4,c5,d5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,b4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,c5]!2", // Fm Dm7b5 Fm
AN: "[gb4,bb4,db5] ~ [gb4,bb4,db5] [gb4,a4,bb4,b4,db5] [gb4,bb4,db5] ~ [gb4,bb4,db5]!2 [gb4,bb4,b4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!2", // Gb
AO: "[eb4,gb4,bb4] ~@2 [eb4,gb4,bb4]!2 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
AP: "[eb4,ab4,c5] ~ [eb4,ab4,c5] [eb4,ab4,c5,d5] [eb4,ab4,c5] ~ [eb4,ab4,c5]!2 [eb4,gb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!2", // Ab Ab7 Ab
AQ: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,a4,bb4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
AR: "[f4,ab4,c5] ~ [f4,ab4,bb4,c5] [f4,ab4,c5]!2 ~ [f4,ab4,b4,c5] [f4,ab4,c5] [f4,ab4,b4,c5] ~ [f4,ab4,c5]!3 ~ [f4,ab4,c5]!2", // Fm
AS: "[gb4,bb4,db5] ~ [gb4,bb4,b4,db5] [gb4,bb4,db5]!2 ~ [gb4,bb4,db5] [gb4,bb4,b4,db5] [gb4,bb4,db5] ~ [gb4,bb4,b4,db5] [gb4,bb4,db5]!2 ~ [gb4,bb4,db5]!2", // Gb
AT: "[gb4,bb4,db5] ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,db5]!3 ~ [gb4,bb4,b4,db5] [gb4,bb4,db5]!2 ~ [gb4,bb4,db5]!2", // Gb
AU: "[eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~@2 [eb4,gb4,bb4]", // Ebm
AV: "[eb4,ab4,b4,c5] ~ [eb4,ab4,c5]!2 [eb4,ab4,b4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,bb4,c5] [eb4,ab4,c5]!2 ~ [eb4,ab4,b4,c5] [eb4,ab4,c5]", // Ab
AW: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2 [f4,a4,bb4,db5] ~ [f4,bb4,db5] [bb4,db5]", // Bbm
AX: "[eb4,gb4,bb4] ~ [eb4,gb4,a4,bb4]!2 [eb4,gb4,bb4] ~ [eb4,gb4,bb4] ~ [eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
AY: "[eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,a4,bb4] [eb4,gb4,bb4]", // Ebm
AZ: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,b4,c5] [eb4,ab4,c5]!2 ~ [eb4,ab4,c5]!2", // Ab
BA: "[f4,a4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,a4,bb4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
BB: "[f4,bb4,db5] ~ [f4,a4,bb4,b4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!2 ~ [f4,bb4,db5]!4 ~ [f4,bb4,db5]!2", // Bbm
BC: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] [f4,a4,bb4,db5]", // Bbm
BD: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2 db5 ~ [f4,bb4,db5]!3 ~@2 [f4,bb4,db5], ~@4 [f4,bb4] ~@3, ~@9 c-1@5 ~@2", // Bbm Bb5
BE: "[eb4,gb4,bb4] ~ [gb4,bb4] [eb4,gb4,bb4]!2 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2, ~ c4@3 ~@4", // Ebm Gb Ebm
BF: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,b4,c5] [eb4,ab4,c5,d5]", // Ab
BG: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] [f4,a4,bb4,db5] [f4,bb4,db5] ~ [f4,a4,bb4,db5] [f4,bb4,db5]!2 ~ [f4,bb4,db5]!2", // Bbm
BH: "[eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4] ~ [eb4,gb4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
BI: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~@2 [eb4,ab4,c5]!2 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!2", // Ab
BJ: "[eb4,ab4,b4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,b4,c5] [eb4,ab4,c5]!2 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5] ~", // Ab
BK: "[f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] ~ [f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Bbm
BL: "[eb4,gb4,a4,bb4] ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!3 ~ [eb4,gb4,bb4]!2", // Ebm
BM: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!2 [eb4,ab4,b4,c5] ~ [eb4,ab4,c5]!2", // Ab
BN: "[eb4,ab4,c5] ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,c5]!3 ~ [eb4,ab4,bb4,c5]!2 [eb4,ab4,c5] ~ [eb4,ab4,c5]!2", // Ab
BO: "[f4,g4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!2", // Gm7b5 Bbm
BP: "[f4,bb4,db5] ~ [f4,bb4,db5] [bb4,db5] [f4,bb4,db5] ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5]!3 ~ [f4,bb4,db5] ~", // Bbm
BQ: "[f4,bb4,db5] ~@15", // Bbm
})).s("gm_pizzicato_strings").gain(0.2).pan(0.7)
// chords · synth brass 1 · "SYNTHBRASS"
const synth_brass_1 = note(`<
A@4 B C D E F G H@2 B I@2 J K L M@2 N O P Q R@2 S T N O U@2 R V W X N Y Z AA AB AC AD@2 N AE AF AG AH AI AJ AK B I@2 J
AL AM AN@2 N O P AO R@2 W X N O AP@2 R AQ AR X N AS AT AU T AH AV@2 N AS AW AX AY AZ AJ BA N BB AT S AB@2 BC@2 BD Y BE
BF AB BG BH BI BJ@3 BK
>`.pickRestart({
A: "[[db4,f4,bb4]@7 ~]/2", B: "[db4,f4,bb4]@15 ~", C: "[db4,f4]", D: "~@3 f4@13, c4@15 ~",
E: "[c4,f4]@7 ~ [c4,eb4]@8", F: "[bb3,db4]@4 ~ [bb3,db4] [bb3,db4]@9 ~", G: "[bb3,eb4]@2 [bb3,eb4] [bb3,eb4]@5",
H: "[[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@6 [c4,eb4]@2 [c4,eb4,gb4]@15 ~@3]/2", I: "[[db4,f4]@12 [c4,f4]@2 [c4,f4]@17 ~]/2",
J: "[c4,f4]@3 [c4,eb4]", K: "[bb3,db4]@2 [bb3,db4] [bb3,db4]@5", L: "bb3@2 eb4 [bb3,eb4]@5, eb4@3 ~@13",
M: "[[c4,eb4]@3 ~ [c4,eb4] ~ c4@6 [c4,eb4]@2 [c4,ab4]@15 ~@3, ~@5 eb4@6 ~@21]/2", // Cm Fm
N: "[db4,f4]@4 [db4,f4] ~ [db4,f4]@10", O: "[db4,f4]@4 [bb3,db4] ~ [bb3,db4]@9 ~",
P: "[c4,f4]@2 f4 [c4,f4]@5, ~@4 c4 ~@11", Q: "[c4,f4]@4 [c4,f4] ~ [c4,f4]@9 ~",
R: "[db4,gb4]@4 [db4,gb4] ~ [db4,gb4]@10", S: "[eb4,gb4]@4 [eb4,gb4] ~ [eb4,gb4]@6 [eb4,gb4]@4",
T: "[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@10", U: "[[c4,f4]@2 [c4,f4]@5 [c4,f4]@9]/2",
V: "[db4,gb4]@4 gb4@2 [db4,gb4]@6 [db4,gb4]@3 ~, ~@4 db4 ~@11", // Gb5
W: "[eb4,gb4]@6 [eb4,gb4] ~ [eb4,gb4]@4 [eb4,gb4]@3 ~", X: "[c4,eb4]@7 ~",
Y: "[db4,f4]@4 [db4,f4] ~ [db4,f4]@6 [db4,f4]@4", Z: "[eb4,gb4]@4 [eb4,gb4] ~ [eb4,gb4]@6 ~ [eb4,gb4]@3",
AA: "[eb4,gb4]@4 [eb4,gb4]@2 [eb4,gb4]@5 ~ [eb4,gb4]@2 [eb4,gb4]@2", // Ebm
AB: "[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@6 [c4,eb4]@3 ~", AC: "[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@6 [c4,eb4]@2 c4@2",
AD: "[[db4,f4]@6 [db4,f4]@2 [bb3,db4]@21 ~@3]/2", AE: "[db4,f4]@5 ~ [db4,f4] [db4,f4]@5 [db4,f4]@4",
AF: "[bb3,eb4]@5 ~ [bb3,eb4]@2 [bb3,eb4]@8", AG: "[bb3,eb4]@6 [bb3,eb4] ~ [bb3,eb4]@8",
AH: "[c4,eb4]@6 [c4,eb4] ~ [c4,eb4]@8", AI: "[c4,eb4]@6 [c4,eb4] ~ [c4,eb4]@6 ~@2",
AJ: "[db4,f4,bb4]@3 ~ [db4,f4,ab4]@4 [db4,f4]@4 [db4,eb4]@3 ~, ~@12 e4 ~@3", AK: "bb4 ab4 f4@10 ~@4, db4@3 ~",
AL: "[bb3,db4]@4 [bb3,db4] ~ [bb3,db4]@9 ~", AM: "[bb3,eb4]@4 [bb3,eb4] ~ [bb3,eb4]@10",
AN: "[[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@6 [c4,eb4]@2 [c4,ab4]@15 ~@3]/2", AO: "[c4,f4]@15 ~",
AP: "[[c4,f4]@6 c4@2 [c4,f4]@18 [c4,f4] ~@2 [c4,f4]@3, ~@6 f4 ~@25]/2", // F5
AQ: "[db4,gb4]@4 [db4,gb4] ~ [db4,gb4]@6 [db4,gb4] ~ db4@2, ~@14 gb4 ~", // Gb5
AR: "[eb4,gb4]@4 [eb4,gb4]@4 [eb4,gb4]@3 ~ [eb4,gb4]@3 ~", AS: "[db4,f4]@6 [db4,f4] ~ [db4,f4]@7 ~",
AT: "[eb4,gb4]@4 [eb4,gb4] ~ [eb4,gb4]@9 ~", AU: "[eb4,gb4]@6 [eb4,gb4] ~ [eb4,gb4]@7 ~",
AV: "[[db4,f4]@27 ~ f4@2 ab4@2]/2", AW: "[bb3,eb4]@5 ~ gb4@2 [eb4,gb4]@8, ~@6 eb4 ~@9",
AX: "[bb3,eb4]@6 [eb4,gb4] ~ [eb4,gb4]@4 [eb4,gb4]@3 ~", AY: "f4@3 eb4@2 ~ [c4,eb4]@9 ~, c4@5 ~@11",
AZ: "[c4,eb4]@6 [c4,eb4] [c4,eb4]@4 ~ [c4,eb4]@2 ~@2", BA: "bb4 ab4 f4@11 ~@3, db4@13 ~@3",
BB: "[db4,f4]@5 [db4,f4] ~@2 [db4,f4]@7 ~", BC: "[[db4,f4]@6 [db4,f4]@2 [db4,f4]@19 ~ f4@2 ab4@2]/2",
BD: "[db4,f4]@4 [db4,f4] ~ [db4,f4]@6 [db4,f4]@3 ~", BE: "[bb3,eb4]@4 [eb4,gb4] ~ [eb4,gb4]@6 [eb4,gb4]@3 ~",
BF: "[bb3,eb4]@4 gb4 ~ [eb4,gb4]@5 ~ [eb4,gb4]@4", BG: "[c4,eb4]@4 [c4,eb4] ~ [c4,eb4]@5 ~ [c4,eb4]@2 ~@2",
BH: "[db4,f4,bb4]@4 [db4,f4,ab4]@4 [db4,f4]@3 ~ [db4,eb4]@3 ~", BI: "bb4 ab4 [db4,f4]@13 ~, db4 ~@7",
BJ: "[[db4,f4,bb4]@23 ~]/3", BK: "[db4,f4,bb4] ~@15",
})).s("gm_synth_brass_1").gain(0.25).pan(0.2)
// other · piano · "A.PIANO"
const piano = note("<~@4 A B@2 C D E F@2 A G@2 C D@2 H@2 ~@32 A G@2 C D@2 H@2 ~@52>".pickRestart({
A: "bb4@7 ~", B: "[bb4@3 ~ ab4@3 ~ f4@4 eb4 ~ f4@16 ~@2, ~@14 eb4 ~@17]/2", C: "bb4@3 ~ ab4@3 ~ f4@3 ~ eb4@3 ~",
D: "eb4@3 ~ f4@2 db4@8 ~@2", E: "eb4@3 ~ f4@2 db4@7 ~@3", F: "[eb4@4 [eb4,f4] ~ eb4@5 ~ f4@2 gb4@9 ~@5 bb3@3 ~]/2",
G: "[bb4@4 ab4@3 ~ f4@3 ~ eb4@2 f4@15 ~@3]/2", H: "[eb4@3 ~ f4 ~ eb4@5 ~ f4 ~ ab4@15 ~@3]/2",
})).s("gm_piano").gain(0.51).pan(0.9)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
A@4 B@2 C@2 D E F G H@2 C@2 I J K@2 B@2 L@2 M@2 N@2 B@2 C@2 O@2 P Q B@2 R@2 S@2 B@4 R@2 S@2 B@2 H@2 C@2 D E S@2 B@2
C@2 O@2 P T U@2 C@2 O@2 P T B@2 R@2 S@2 B@4 R@2 S@2 B@4 R@2 S@2 B@4 R@2 S@2 B@2 V@4
>`.pickRestart({
A: "[[db4,f4,bb4]@15 ~]/4", B: "[[db4,f4,bb4]@15 ~]/2", C: "[[f4,ab4,c5]@15 ~]/2", D: "[gb4,bb4,db5]@15 ~",
E: "[eb4,gb4,bb4,db5]", F: "[eb4,ab4,c5]", G: "[eb4,gb4,ab4,c5]@15 ~", H: "[[db4,f4,bb4]@31 ~]/2",
I: "[gb4,bb4,db5], b4 ~@15", J: "~@4 db5@11 ~, [eb4,gb4,bb4]", K: "[[eb4,ab4,c5]@29 ~@3]/2",
L: "[~@27 b4 ~@4, [f4,ab4,c5]@29 ~@3]/2", M: "[[gb4,bb4,db5]@15 ~]/2", N: "[[gb4,bb4]@8 [ab4,c5]@7 ~, eb4@15 ~]/2",
O: "[[gb4,bb4,db5]@31 ~]/2", P: "[eb4,gb4,bb4]", Q: "[ab4,c5]@15 ~, eb4@13 ~@3, b4 ~@15", R: "[eb4,gb4,bb4]/2",
S: "[[eb4,ab4,c5]@31 ~]/2", T: "[eb4,ab4,c5]@15 ~", U: "[[f4,bb4,db5]@31 ~]/2", V: "[[db4,f4,bb4]@49 ~@15]/4",
})).s("gm_string_ensemble_1").gain(0.15).pan(0.2)
// drums · kick
const kick = s("bd").struct(`<
A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3
B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@2 C D
>`.pickRestart({
A: "x!4", B: "x ~@3 x ~@3 x!8", C: "x ~ x ~@6 x!7", D: "x",
})).gain(0.5)
// drums · rim
const rim = s("rim").struct(`<
A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@2 ~@2
>`.pickRestart({
A: "~@3 x",
})).gain(0.5)
// drums · snare
const snare = s("sd").struct(`<
A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A
C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C A@2 B D
>`.pickRestart({
A: "~ x ~ x", B: "~@4 x ~@7 x ~@2 x", C: "~@4 x ~@7 x ~ x!2", D: "x",
})).gain(0.5)
// drums · clap
// … 24 more lines
More by Modern Talking
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.