0:00/0:00
// Lady Sunshine — G. G. Anderson
// 120 bpm, 4/4, key F# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 2 "BASS" named as a bass, played on electric bass finger (its electric guitar jazz patch is not one)
// note: Full arrangement: all 131 bars on a 24-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 · "BASS"
const bass = note(`<
~ A B C D E F G H I J I@2 E K G H C L I M N O P A B A Q G R G S C L T U R V W B X@2 Q Y R@2 Z AA AB AC AD E F G E I AE
I AE E F G AF L AG I M AH O@2 B A@2 Q G R G AI C L C U G AJ AK A@3 Q G Y G Z AL AM AN U AO V AP AQ B A Q G R AR AS C L
AT U AU AV AW AX A B Q G R AR AF AY AZ A AD N BA ~@2
>`.pickRestart({
A: "b1@7 ~@3 b1@2 f#1@6 g#1@4 f#1@2", B: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
C: "c#2@7 ~@3 c#2@2 g#1@6 a#1@4 g#1@2", D: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 c#2@3 ~ c#2@2",
E: "f#2@3 ~@2 f#2 c#2 ~ c#2 d#2@3", F: "c#2 ~ c#2 b1 ~ b1 a#1 ~ a#1 g#1 ~ g#1", G: "f#2@4 ~ f#2 c#2@3 d#2@2 c#2",
H: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@3 ~ f#2@2", I: "c#2@7 ~@3 c#2@2 a#2@6 g#2@6",
J: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@2 ~@2 g#2@2", K: "c#2 ~@3 c#2@2 b1@2 ~@2 b1@2 a#1 ~@3 a#1@2 g#1@2 ~@2 g#1@2",
L: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 g#1@2", M: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@4 ~@2",
N: "f#2@9 ~ d#2@6 c#2@2 a#1@5 ~", O: "f#1 ~@3", P: "f#1 ~@2", Q: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 b1@2",
R: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ c#2@2", S: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2",
T: "c#2 ~@9 c#2@2 g#1@5 ~ a#1@4 g#1@2", U: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 c#2@2",
V: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
W: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~", X: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 f#1@2",
Y: "f#2@4 ~ f#2 c#2 ~ c#2 d#2@2 c#2", Z: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@4 c#2@2",
AA: "g#1@7 ~@3 g#1@2 d#1@2 ~@2 d#1@3 ~@3 d#1@2", AB: "g#1@8 ~@2 g#1@2 g#1@5 ~ f#1@6",
AC: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ f#1@2", AD: "c#2@3 ~@2 c#2 g#1 ~ g#1 c#2@3",
AE: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@6", AF: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 f#2@2",
AG: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@6", AH: "f#2@4 ~ d#2@2 ~ c#2 a#1@3",
AI: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@6", AJ: "f#2@4 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
AK: "f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1@2",
AL: "g#1@7 ~@3 g#1@2 d#1@3 ~ d#1@2 f#1@4 d#1@2", AM: "g#1@7 ~@3 g#1@2 d#1@6 a#1@6",
AN: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 b1@5 ~", AO: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@4 ~@2 c#2@2",
AP: "f#1@2 ~@2 f#1 ~ f#1@3 ~ f#1@2 f#1@2 ~@2 f#1@2 f#2@2 f#1@2 f#2@2", AQ: "b1@3 ~@2 b1 f#1@3 g#1@2 f#1",
AR: "f#2@7 ~@3 f#2@2 c#2@7 ~@3 c#2@2", AS: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ d#2@2",
AT: "c#2@8 ~@2 c#2@2 g#1@7 ~@3 g#1@2", AU: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@3 ~@3 c#2@2",
AV: "f#1@3 ~ f#1@2 ~@4 f#1 ~ f#1@3 ~ f#1@2 ~@4 f#2@2",
AW: "f#1@3 ~ f#1@2 f#1@3 ~ f#1@2 f#2@2 f#1@2 f#2@2 f#1@2 f#2@2 f#1@2", AX: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
AY: "g#1@7 ~@3 g#1 ~ d#1@6 f#1@4 d#1@2", AZ: "g#1 ~@9 g#1@2 d#1@6 a#1@6", BA: "f#1@7 ~@5",
})).s("gm_electric_bass_finger").gain(0.5)
// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~ A@2 B@3 C@8 D@8 E@6 F@7 G@3 H@8 I@7 J@6 K@8 L@3 M@8 N@7 O@7 P@2 Q R@4 S@4 T@8 U@7 V@7 W@4 ~@2
>`.pickRestart({
A: "[[f#4,b4,d#5]@47 ~]/2", B: "[g#4@2 [f#4,a#4], c#5, f4@5 ~@3]/3",
C: "[g#4@23 [f#4,a#4]@46 ~@3 g#4@95 ~ c#4@24, f4@21 ~@2 c#4@142 ~@27, ~@70 f4@95 ~@3 f#4@21 ~@3, ~@71 b4@96 a#4@25]/8", // F#
D: "[g#4@23 a#4@48 ~@4 b4@91 ~ [c#4,f#4,a#4]@25, f4@21 ~@2 c#4@141 ~@28, ~@23 f#4@45 ~@3 g#4@96 ~@25, ~@71 f4@93 ~@28]/8", // F#
E: "[~@24 f#4@4 ~@20 b4@93 ~@3, ~@23 [c#4,a#4]@4 ~@20 [f#4,d#5]@94 ~@3]/6", // F# D#m
F: "[[a#4,f#5]@93 ~@2 [g#4,f5]@73, c#5]/7", G: "[~@23 [a#4,f#5]@49]/3",
H: "[~@23 d#5@96 ~ c#5@72, ~@23 f#5@169, ~@23 b4@94 ~@2 a#4@73]/8",
I: "[~@23 [g#4,d#5]@41 ~ [f#4,a#4,c#5]@4 ~@2 [f#4,d#5]@23 ~ [g#4,c#5]@24 ~@25 b4@21 ~@3, ~@23 b4@39 ~@9 b4@21 ~@3 f4@22 ~@2 a#4@24 ~@25, ~@119 f#4@20 ~@4 [f4,g#4]@22 ~@3, ~@40 c#4@15 ~]/7", // G#5 F# D#m C#5 Fm
J: "[a#4@47 ~ b4@95 a#4, c#4@71 ~, f#4@45 ~@2 g#4@97, ~@16 f4@31 ~]/6",
K: "[f#4@21 ~@3 f4@21 ~@3 f#4@45 ~@2 [f4,g#4,b4]@95 ~ a#4, c#4@46 ~ a#4@48 ~@97, ~@23 g#4@25 c#4@142 ~@2]/8", // Fdim
L: "[[c#4,f#4]@27 ~@20 [c#4,f#4,a#4]@5 ~@20]/3", M: "[d#5@95 [a#4,f#5]@94 ~@3, f#4@73 ~@23, b4@93 ~@2 c#5@97]/8",
N: "[f5@95 ~ f#5@72, g#4@93 ~@2 a#4@70 ~@3]/7", O: "[d#5@95 ~ a#4@72, f#4, b4@94 ~ [c#5,f#5]@73]/7",
P: "[~@23 [g#4,b4,d#5]@25]/2", Q: "~@17 [f#4,c#5]@6 [b4,d#5], ~@17 a#4@4 ~@3",
R: "[~@23 [f4,g#4]@22 ~@27 f#5@24, ~@23 c#5@73, ~@47 a#4@49, ~ f#4]/4", S: "[~@23 [f#4,b4,d#5]@73]/4",
T: "[~@23 a#4@97 [g#4,f5]@72, ~@23 c#5@169, ~@23 f#5@93 ~@76]/8", // C#
U: "[~@23 a#4@71 ~ [b4,d#5]@73, ~@23 f#5@145, ~@23 f#4@25 ~@120]/7", // B
V: "[~@24 c#5@95 [g#4,d#5]@41 ~ [f#4,a#4,c#5]@7, ~@23 a#4@93 ~@3 b4@39 ~@10]/7", // G#5 F#
W: "[[b4,d#5]@23 g#4@24 ~@24 f#5@9 ~@16, ~@23 c#5@56 ~@17, ~@23 f4@21 ~@3 [f#4,a#4]@32 ~@17]/4", // B F#
})).s("gm_string_ensemble_1").gain(0.2).pan(0.4)
// other · music box
const music_box = note(`<
~@2 A B C D E F ~@5 G H I ~@5 J K L ~ M N ~@2 O P ~@2 Q R ~ S T U ~ M N ~@2 V P ~@2 W X ~ G E I ~@5 G E I ~@5 J Y Z ~
M N ~@2 O P ~@2 Q AA ~ AB K AC ~ M N ~@2 O P ~@2 W X ~ AD K AE ~ M N ~@2 O P ~@2 AF R ~ S AG AH ~ M N ~@2 O P ~@2 W X
~ AI AJ ~@2
>`.pickRestart({
A: "~@6 b4@2 ~@4 c#5 ~@5 d#5@2 ~@4", B: "c#5@2 ~@7 g#4 ~@2", C: "b4 ~@5 a#4 ~@5", D: "f#4 ~@10 e4",
E: "f4@2 ~@2 c#5 ~ d#4@2 ~@2 b4 ~ c#4 ~@3 a#4 ~ b3@2 ~@2 g#4 ~", F: "a#3 ~@11", G: "~@11 e4",
H: "f4@2 ~@2 c#5 ~ d#4@2 ~@2 b4 ~ c#4@2 ~@2 a#4 ~ b3@2 ~@2 g#4 ~", I: "a#3 ~@23",
J: "~@6 f#5 ~@3 d#5 ~@5 c#5 ~@5 a#4 ~", K: "f#4 ~@21 f#4 ~", L: "f#5 ~@15 f#4@2 f#5 ~@5",
M: "~@6 b4@2 ~@4 c#5 ~@5 d#5 ~@5", N: "b4 ~@23", O: "~@6 a#4@2 ~@4 b4@2 ~@4 c#5 ~@5", P: "a#4 ~@23",
Q: "~@6 g#4@2 ~@4 a#4 ~@5 b4 ~@5", R: "g#4 ~@23", S: "~@22 f#4 ~", T: "f#5@2 ~@20 f#4 ~", U: "f#5 ~@23",
V: "~@6 a#4@2 ~@4 b4 ~@5 c#5 ~@5", W: "~@6 g#4@2 ~@4 a#4 ~@5 f#4 ~@5", X: "d#4 ~@23", Y: "f#4 ~@21 f#5 ~",
Z: "f#4 ~@15 f#5 ~ f#4@2 ~@4", AA: "g#4 ~@11", AB: "~@22 f#5 ~", AC: "f#5 ~@9 f#4 ~ f#5 ~@11",
AD: "f#5@2 ~@8 d#5 ~@5 c#5 ~ a#4 ~@5", AE: "f#5 ~@15 f#5 ~ f#4 ~@5", AF: "~@3 g#4 ~@2 a#4 ~@2 b4 ~@2",
AG: "f#5 ~@7 f#5 f#4 ~@2", AH: "~@4 f#4@2 f#5 ~@17", AI: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~ a#4 ~@5", AJ: "f#4 ~@23",
})).s("gm_music_box").gain(0.36).pan(0.2)
// chords · vibraphone
const vibraphone = note(`<
A B@2 C D E ~@15 F G@6 H@4 I@4 J@7 K@4 L@3 M N ~@15 F O@6 K@4 P@4 Q@7 K@4 R@2 S M T U@6 K@4 I@4 V@7 K@4 W@3 X Y@2 ~@2
>`.pickRestart({
A: "~@4 [d#4,f#4] ~ f#4@2 ~@2 [d#4,f#4] ~ [f#4,d#5]@2 ~@2 [f#4,d#5] ~ [f#4,d#5]@2 ~@2 [f#4,d#5] ~, ~@6 d#4 ~@17", // D#m
B: "[[f#4,d#5]@9 ~@3 [d#4,b4]@18 [d#4,b4]@4 ~@2 [f4,c#5]@4 ~@2 [f#4,d#5]@4 ~@2]/2", C: "[f4,c#5]@15 ~@3 [b3,g#4]@5 ~",
D: "[d#4,b4]@10 ~@2 [c#4,a#4]@9 ~@3", E: "[a#3,f#4]@3 ~", F: "~@6 f#5@2 ~@2 d#5@3 ~@3 c#5@2 ~@4 a#4@2",
G: "[~@3 d#4@15 d#5@12 [d#4,b4]@40 ~@2, f#4@17 ~ f#4@52 ~@2]/6", H: "[[f#4,c#5]@12 [c#4,f#4,a#4]@79 ~@5]/4",
I: "[c#5@3 f4@20 ~, [c#4,g#4]@47 ~]/4", // C#5
J: "[d#5@11 ~ c#4@14 ~@2 f#4@19 ~ f#4@10 ~@2 d#5@23 ~ [d#4,b4]@80 ~@4, [f#4,a#4]@26 ~@2 d#4@29 ~ d#4@22 ~@88, ~@20 f#4@35 ~]/7", // G#m F#
K: "[c#5@3 a#4@20 ~, [c#4,f#4]@23 ~]/4", L: "[g#4@14 ~ g#4@3 a#4@3 ~@3 [b3,d#4]@12, d#4@33 ~@9 f#4@29 ~, c#5 ~@5]/3",
M: "[c#4,f4]@5 ~", N: "[a#3,c#4,f#4]@5 ~",
O: "[f#4@3 ~@2 f#4@12 ~ d#5@12 [d#4,b4]@40 ~@2, ~@10 d#4@45 ~@89, ~@9 f#4@26 ~]/6", // G#m
P: "[c#5@12 f4@79 ~@5, c#4, g#4@23 ~]/4",
Q: "[d#5@11 ~ c#4@14 ~@2 d#4@32 d#5@24 [d#4,b4]@80 ~@4, [f#4,a#4]@13 ~ f#4@15 ~ f#4@52 ~@2]/7", // G#m F#
R: "[g#4@9 ~ g#4@2 a#4@2 f#4@2, d#4@2 ~, c#5@5 ~@19]/2", S: "[b3,d#4]", T: "[a#3,f#4]",
U: "[~@4 f#4@29 ~ d#5@26 [d#4,b4]@80 ~@4, ~ d#4@13 ~@22, ~@17 f#4@53 ~@2]/6", // G#m
V: "[[f#4,a#4]@13 ~ d#4@16 d#5@12 [d#4,b4]@40 ~@2, d#5@6 ~@8 f#4@15 ~ f#4@52 ~@2]/7", // F# G#m
W: "[c#5@2 b3@3 g#4 a#4 ~ d#4@4, d#4@31 ~@17 b3@19 ~@5, g#4@27 ~@15 f#4@14 ~@16]/3", X: "[g#3,c#4,f4]@7 ~",
Y: "[f#4@2 ~@4 f#5@3 ~ d#5@3 ~@3 c#5@3 ~@5 f#4@9 ~@15, [a#3,c#4]@17 ~@7]/2", // A#m
})).s("gm_vibraphone").gain(0.28).pan(0.7)
// chords · marimba
const marimba = note(`<
~ A B C D E F ~ G ~ H I@2 J ~@2 G ~ H I K L M N O@4 P@4 Q@4 P R N O@4 P@4 S T O Q P U V G ~ H W I J ~ X G ~ H K I L Y
N O@4 P@4 Q Z Q@2 P AA AB O@4 P@4 AC T AD Q AE AF AG O@4 P@4 Q@4 P AH AI O@4 P@4 AC T O Q AJ M ~@2
>`.pickRestart({
A: "[f#5,b5] ~@9 [f#5,b5] ~ [f#5,b5] ~@3 [f#5,b5] ~@5 [f#5,b5] ~", // B5
B: "f#5@10 f#5@2 f#5@4 f#5@4 ~@2 [f#5,b5] ~, b5 ~@9 b5 ~ b5 ~@3 b5 ~@7", // B5
C: "b5@2 ~@8 [f5,b5] ~ [f5,b5] ~@3 [f5,b5] ~@5 [f5,b5] ~, f5 ~@23", // Fdim
D: "[f5,b5] ~@9 [f5,b5] ~ [f5,b5] ~@3 [f5,b5] ~@5 [f5,b5] ~", // Fdim
E: "[f5,c#6] ~@9 [f5,c#6] ~ [f5,c#6] ~@3 [f5,c#6] ~@5 [f5,c#6] ~", F: "[f5,b5] ~@23",
G: "[a#5,c#6,f#6] ~@5 [a#5,c#6,f#6] ~@5 [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~ [a#5,c#6,f#6] ~@5", // F#
H: "[b5,c#6,f6] ~@5 [b5,c#6,f6] ~@5 [b5,c#6,f6] ~ [b5,c#6,f6] ~ [b5,c#6,f6] ~ [b5,c#6,f6] ~@5", // C#7
I: "~@9 [b5,c#6,f6] ~@2", J: "~@18 [a#5,c#6,f#6] ~@5", K: "~@9 [b5,f6] ~@2, ~@18 c#6 ~@5",
L: "~@6 f#6@2 ~@2 d#6 ~@5 c#6 ~@5 a#5 ~", M: "f#5 ~@23", N: "[f#5,a#5] ~@23",
O: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5] ~@5", P: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 [f#5,a#5] ~@5",
Q: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 [f5,b5] ~@5", R: "[f#5,a#5] ~@21 [f#5,a#5] ~",
S: "~@6 g#5 ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", T: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [f#5,a#5] ~@5",
U: "f5@2 ~@2 c#6 ~ d#5@2 ~@2 b5 ~ c#5@3 ~ a#5 ~ b4@3 ~ g#5 ~", V: "[a#4,f#5] ~@23", W: "~@18 [b5,c#6,f6] ~@5",
X: "~@18 [a#5,c#6] ~@5, ~@9 f#6 ~@2", Y: "f#5 ~@21 [f#5,a#5] ~",
Z: "~@6 f5@2 ~@2 [f5,b5] ~@7 f5@2 ~@4, ~@6 b5 ~@11 b5 ~@5", AA: "[f#5,f#6] ~@9 f#5 ~ [f#5,f#6] ~@9 f#5 ~",
AB: "f#6 ~@9 f#5@2 f#6@2 f#5 ~ f#6@2 f#5 ~ f#6@2 f#5 ~", AC: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5",
AD: "[f#5,b5] ~@9 [f#5,b5] ~@7 [f#5,b5] ~@5", AE: "[f#5,a#5] ~@9 d#6 ~@5 c#6 ~ a#5 ~@5",
AF: "f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3",
AG: "f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3",
AH: "f#6@2 f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#6 ~ f#5@2 ~@2",
AI: "f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#5 ~@3 f#6@2 f#5 ~@3", AJ: "~@6 f#6 ~@3 d#6 ~@5 c#6 ~ a#5 ~@5",
})).s("gm_marimba").gain(0.28).pan(0.3)
// other · pizzicato strings · "PIZZICATO"
const pizzicato_strings = note(`<
~ A@2 B@2 C B ~ D ~ E ~@3 F ~ G ~ H ~@2 I J K A@4 L@4 M B@3 N O P A@4 Q L@3 R S A B L T ~ D ~ H ~@2 U V ~ D ~ H ~@2 W
X@2 A@4 L@4 B@4 L Y Z AA A@3 L@4 R AB A B AC Y AD A@4 L@4 B@4 L AE AF A@4 L@4 AG AH A B AI AJ ~@2
>`.pickRestart({
A: "b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
B: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
C: "a#4 ~ f#4 ~@3 a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
D: "[a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5", // F#
E: "[g#3,b3,c#4,f4] ~@5 [g#3,b3,c#4,f4] ~@5 [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~ [g#3,b3,c#4,f4] ~@5", // C#7
F: "c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~",
G: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@5", // F#
H: "[c#4,f4,b4] ~@5 [c#4,f4,b4] ~@5 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~@5", // C#7
I: "f#3 ~@3 f#3@2 f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~", J: "f#3 ~@17 f#4 ~ f#3 ~ f#4 ~",
K: "f#3 ~@23", L: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
M: "c#5@2 g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
N: "a#4@2 f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
O: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~",
P: "f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~",
Q: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~@3 c#4 ~ a#3 ~ c#4 ~ f#4 ~",
R: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~",
S: "b4@2 g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4@2 d#4 ~ a#4 ~ f#4 ~ c#4 ~",
T: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~@3 c#4 ~",
U: "f#3 ~ f#4 ~ f#3 ~ f#4 ~@3 f#4 ~ f#3 ~@9 c#4@2",
V: "c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~",
W: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@5 [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~ [a#3,c#4,f#4] ~@5", // F#
X: "[[f#3,f#4] ~@19 f#4@2 ~@2 f#4@2 ~@22, ~@11 f#3@2 ~@11]/2", // F#
Y: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ a#3 ~",
Z: "f#4 ~ a#3@2 f#4 ~ a#3 ~ c#4 ~ a#3 ~ f#4 ~ a#3 ~ c#4@2 a#3 ~ f#4 ~ a#3 ~",
AA: "~@2 f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
AB: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ a#4 ~ f#4 ~ c#4 ~",
AC: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4@2 a#3 ~",
AD: "c#4@2 f#4@2 c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
AE: "a#4@2 f#4 ~ c#4 ~ a#3 ~ c#4@2 a#3 ~ f#4 ~ a#3 ~ c#4 ~ f#4 ~ a#3 ~ c#4 ~",
AF: "f#4 ~ a#3 ~ c#4 ~ f#4 ~ c#4 ~ f#4 ~ a#4 ~ c#4 ~ f#4 ~ a#4 ~ c#4 ~ f#4 ~",
AG: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4@2 b4 ~ g#4@2 d#4 ~ b3 ~ d#4@2 g#4@2",
AH: "b4 ~ g#4 ~ d#4 ~ b3@2 d#4 ~ g#4@2 b4@2 g#4@2 d#4@2 a#4@2 f#4@2 c#4 ~",
AI: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ f#4 ~ c#4 ~ a#3 ~", AJ: "f#4 ~@23",
})).s("gm_pizzicato_strings").gain(0.22).pan(0.2)
// chords · pizzicato strings · "PIZZICATO"
const pizzicato_strings_2 = note(`<
~ A@2 B C D E F@2 G@4 F H F@2 G@4 F I@2 A@4 D@4 J@4 D@3 A@4 D@4 K L A J D M N@2 O@4 P Q R N O@4 S I@2 A@4 D@4 T J U J
D V@2 A@4 D@4 K L A J W D@2 A@4 D@4 J@4 D@3 A@4 D@4 K L A J D X@2 ~
>`.pickRestart({
A: "[d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~ [d#4,f#4,b4] ~", // B
B: "[f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~", // C#
C: "[f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [f4,g#4,c#5] ~ [g#4,c#5] ~", // C# C#5
D: "[c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
E: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f#4,g#4,a#4] ~", // C# F#
F: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~", // F#
G: "[c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~", // C#7
H: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~", // C#
I: "[c#4,f#4,a#4] ~@23", // F#
J: "[c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~", // C#7
K: "[d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~", // G#m
L: "[d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [d#4,g#4,b4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // G#m F#
M: "[c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
N: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
O: "[c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~@3 [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~ [c#4,f4,b4] ~", // C#7
P: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4] ~@3 [c#4,f#4,a#4] ~, ~@9 a#4 ~@2", // F# F#5 F#
Q: "[c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~@3 [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~ [c#4,f4,g#4] ~", // C#
R: "[c#4,f#4,a#4] ~@5 [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~", // F#
S: "[c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~ [c#4,f#4,a#4] ~@3 [c#4,f#4,a#4] ~", // F#
// … 55 more lines
More by G. G. Anderson
Weisse Rosen schenk' ich dirG major · 80 bpmGitarren klingen leise durch die NachtF major · 114 bpmIch bin so treu wie GoldB major · 120 bpmIch bin verliebt in DichA major · 128 bpmEngel von ValparaisoA♭ major · 173 bpmMadchen MadchenE major · 139 bpmRosalieC major · 112 bpmSommernacht in RomG major · 126 bpm
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.