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: 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 K L M N O P Q R S T U V W B A X Y Z Y AA AB AC AD AE AF AG AH AI AJ AI AK AL AM Z AN AO AP AI
AQ AR AS AT AR K AU K AV L F Y AW AX AY K AZ BA BB U BC A@2 BD Y BE AT BF AB AC AB BG Y BH BI A@3 X Y AL AT AN BJ BK
BL BM BN BO BP W B A BQ BR BS BT BU BV BW BX BM BY BZ CA CB A B CC BR BS BT CD CE CF CG CH CI CJ ~@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@5 ~ a#1@3 ~ 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@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@6", F: "c#2 ~ c#2 b1 ~ b1 a#1 ~ a#1 g#1 ~ g#1",
G: "f#2@7 ~@3 f#2@2 c#2@5 ~ d#2@4 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@5 ~", 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@7 ~@3 c#2@2 a#2@6 g#2@6", L: "f#2@3 ~@2 f#2 c#2 ~ c#2 d#2@3",
M: "c#2 ~@3 c#2@2 b1@2 ~@2 b1@2 a#1 ~@3 a#1@2 g#1@2 ~@2 g#1@2", N: "f#2@8 ~@2 f#2@2 c#2@5 ~ d#2@4 c#2@2",
O: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2", P: "c#2@7 ~@3 c#2@2 g#1@5 ~ a#1@4 g#1@2",
Q: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@3 ~ g#1@2", R: "c#2@7 ~@3 c#2@2 a#2@5 ~ g#2@6",
S: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@4 ~@2", T: "f#2@9 ~ d#2@6 c#2@2 a#1@5 ~", U: "f#1 ~@3", V: "f#1 ~@2",
W: "b1@3 ~@2 b1 f#1@3 g#1@2 f#1", X: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 b1@2", Y: "f#2@4 ~ f#2 c#2@3 d#2@2 c#2",
Z: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ c#2@2", AA: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@3 ~ f#2@2",
AB: "c#2@7 ~@3 c#2@2 g#1@6 a#1@4 g#1@2", AC: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 g#1@2",
AD: "c#2 ~@9 c#2@2 g#1@5 ~ a#1@4 g#1@2", AE: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@4 c#2@2",
AF: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@3 ~ c#2@2", AG: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
AH: "f#1@2 ~@2 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1 ~ f#1@2 ~@2 f#1 ~", AI: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@4 f#1@2",
AJ: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ f#1@2", AK: "b1@7 ~@3 b1@2 f#1@2 ~@2 f#1@2 g#1@3 ~ b1 ~",
AL: "f#2@4 ~ f#2 c#2 ~ c#2 d#2@2 c#2", AM: "f#2@3 ~@2 f#2 c#2 ~ c#2 d#2@2 c#2",
AN: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 f#2@4 c#2@2", AO: "g#1@7 ~@3 g#1@2 d#1@2 ~@2 d#1@3 ~@3 d#1@2",
AP: "g#1@8 ~@2 g#1@2 g#1@5 ~ f#1@6", AQ: "c#2@3 ~@2 c#2 g#1 ~ g#1 c#2@3", AR: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@6",
AS: "c#2@2 ~@2 c#2@2 b1@2 ~@2 b1@2 a#1@2 ~@2 a#1@2 g#1@3 ~ g#1@2", AT: "f#2@7 ~@3 f#2@2 c#2@6 d#2@4 c#2@2",
AU: "c#2@7 ~@3 c#2@2 a#2@2 ~@2 a#2@2 g#2@6", AV: "c#2@7 ~@3 c#2@2 a#2@3 ~ a#2@2 g#2@6",
AW: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 f#2@2", AX: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@3 ~ g#1@2",
AY: "c#2@7 ~@3 c#2@2 g#1@2 ~@2 g#1@2 a#1@6", AZ: "c#2@7 ~@3 c#2@2 a#2@3 ~ a#2@2 g#2@4 ~@2",
BA: "f#2@4 ~ d#2@2 ~ c#2 a#1@3", BB: "f#1@5 ~@19", BC: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
BD: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 b1 ~", BE: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@4 c#2@2",
BF: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 f#2@6", BG: "c#2@4 ~ c#2 g#1 ~ g#1 a#1@2 c#2",
BH: "f#2@4 f#1@2 ~@4 f#1 ~ f#1@2 ~@2 f#1@2 ~@4 f#1 ~",
BI: "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",
BJ: "g#1@7 ~@3 g#1@2 d#1@3 ~ d#1@2 f#1@4 d#1@2", BK: "g#1@7 ~@3 g#1@2 d#1@6 a#1@6",
BL: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 b1@5 ~", BM: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 c#2@2",
BN: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@4 ~@2 c#2@2", BO: "f#1@3 ~ f#1@2 ~@4 f#1@2 f#1@3 ~ f#1@2 ~@4 f#1@2",
BP: "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", BQ: "b1@7 ~@3 b1@2 f#1@3 ~ f#1@2 g#1@4 b1@2",
BR: "f#2@8 ~@2 f#2@2 c#2@6 d#2@4 c#2 ~", BS: "f#2@7 ~@3 f#2@2 c#2@2 ~@2 c#2@2 d#2@4 c#2 ~",
BT: "f#2@7 ~@3 f#2@2 c#2@7 ~@3 c#2@2", BU: "f#2@7 ~@3 f#2@2 c#2@3 ~ c#2@2 d#2@3 ~ d#2@2",
BV: "c#2@7 ~@3 c#2@2 g#1@5 ~ a#1@4 g#1 ~", BW: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 a#1@4 g#1@2",
BX: "c#2@8 ~@2 c#2@2 g#1@7 ~@3 g#1@2", BY: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@3 ~@3 c#2@2",
BZ: "f#1@3 ~ f#1@2 ~@4 f#1 ~ f#1@3 ~ f#1@2 ~@4 f#2@2",
CA: "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", CB: "b1@5 ~@5 b1@2 f#1@3 ~ f#1@2 g#1@4 f#1@2",
CC: "b1@6 ~@4 b1@2 f#1@3 ~ f#1@2 g#1@4 b1 ~", CD: "f#2@8 ~@2 f#2@2 c#2@3 ~ c#2@2 d#2@4 f#2@2",
CE: "g#1@7 ~@3 g#1 ~ d#1@6 f#1@4 d#1@2", CF: "g#1 ~@9 g#1@2 d#1@6 a#1@6", CG: "b1@4 ~ b1 f#1@3 g#1@2 f#1",
CH: "c#2@7 ~@3 c#2@2 g#1@3 ~ g#1@2 c#2@6", CI: "f#2@8 ~@2 d#2@5 ~ c#2@2 a#1@6", CJ: "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@5 F@7 G@3 H@8 I@5 J@2 K@6 L@8 M@2 N O@8 P@4 Q@3 R@7 S@3 T@2 U@2 V@4 W@8 X@7 Y@7 Z@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 ~ f#4@45 ~@6 b4@91 ~ [c#4,f#4,a#4]@25, f4@21 ~@2 c#4@141 ~@28, ~@23 a#4@48 g#4@96 ~@25, ~@71 f4@93 ~@28]/8", // F#
E: "[[c#4,f#4,a#4]@4 ~@20 b4@93 ~@3, ~@23 [f#4,d#5]@94 ~@3]/5", 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]@25, ~@23 b4@39 ~@9 b4@21 ~@3 f4@22 ~@3]/5", // G#5 F# D#m C#5
J: "[a#4@23 ~ b4@21 ~@3, c#4@15 ~, f#4@20 ~@3 [f4,g#4]@22 ~@3]/2", // Fm
K: "[a#4@47 ~ b4@95 a#4, c#4@71 ~, f#4@45 ~@2 g#4@97, ~@16 f4@31 ~]/6",
L: "[f#4@21 ~@3 f4@21 ~@3 f#4@45 ~@2 [f4,g#4,b4]@95 ~@2, c#4@46 ~ a#4@48 ~@97, ~@23 g#4@25 c#4@142 ~@2]/8", // Fdim
M: "[[c#4,f#4,a#4]@9 ~@7]/2", N: "[c#4,f#4,a#4]@5 ~@19",
O: "[d#5@95 [a#4,f#5]@94 ~@3, f#4@73 ~@23, b4@93 ~@2 c#5@97]/8", P: "[f5, g#4@31 ~]/4", Q: "[f#5, a#4@35 ~]/3",
R: "[d#5@95 ~ a#4@72, f#4, b4@94 ~ [c#5,f#5]@73]/7", // F#5
S: "[~@23 [g#4,b4]@40 ~@2 [f#4,c#5]@6 d#5, ~@23 d#5@42 a#4@4 ~@3]/3", // G#m F#5
T: "[b4@21 ~@3 f4@22 ~@2, ~@23 c#5@25, ~@23 g#4@22 ~@3]/2", U: "[~ f#5, [f#4,a#4]]/2", V: "[~@23 [f#4,b4,d#5]@73]/4",
W: "[~ a#4@4 [g#4,f5]@3, ~@23 c#5@169, ~@23 f#5@93 ~@76]/8", // C#
X: "[~@23 a#4@71 ~ [b4,d#5]@73, ~@23 f#5@145, ~@23 f#4@25 ~@120]/7", // B
Y: "[~@24 c#5@95 [g#4,b4]@39 ~@3 [f#4,a#4,c#5]@7, ~@23 a#4@93 ~@3 d#5@42 ~@7]/7", // G#m F#
Z: "[[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 Y I ~@5 Z AA AB
~ M N ~@2 AC P ~@2 Q AD ~ AE K AF ~ M N ~@2 AC P ~@2 AG X ~ AH K AI ~ M AJ ~@2 AK P ~@2 AL R ~ S AM AN ~ M N ~@2 AC AO
~@2 AP X ~ AQ AR ~@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 ~@5 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 ~@5 b4 ~@5 c#5 ~@5", W: "~@6 g#4@2 ~@4 a#4 ~@5 f#4 ~@5", X: "d#4 ~@23",
Y: "f4@2 ~@2 c#5 ~ d#4 ~@3 b4 ~ c#4 ~@3 a#4 ~ b3@2 ~@2 g#4 ~", Z: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~@5 a#4 ~",
AA: "f#4 ~@21 f#5 ~", AB: "f#4 ~@15 f#5 ~ f#4@2 ~@4", AC: "~@6 a#4@2 ~@4 b4@2 ~@4 c#5 ~@5", AD: "g#4 ~@11",
AE: "~@22 f#5 ~", AF: "f#5 ~@9 f#4 ~ f#5 ~@11", AG: "~@6 g#4 ~@5 a#4 ~@5 f#4@2 ~@4",
AH: "f#5@2 ~@8 d#5 ~@5 c#5 ~ a#4 ~@5", AI: "f#5 ~@15 f#5 ~ f#4 ~@5", AJ: "b4 ~@11", AK: "~@3 a#4 ~@2 b4 ~@2 c#5 ~@2",
AL: "~@3 g#4 ~@2 a#4 ~@2 b4 ~@2", AM: "f#5 ~@7 f#5 f#4 ~@2", AN: "~@4 f#4@2 f#5 ~@17", AO: "a#4 ~@11",
AP: "~@6 g#4 ~@5 a#4 ~@5 f#4 ~@5", AQ: "~@6 f#5@2 ~@2 d#5 ~@5 c#5 ~ a#4 ~@5", AR: "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 O P@6 Q@4 R@4 S@7 Q@4 T@2 U V W X@6 Y@4 Z@4 AA@7 AB@4 AC@3 AD AE@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]@81 ~@3, [f#4,a#4]@26 ~@2 d#4@29 ~ d#4@22 ~@88, ~@20 f#4@35 ~]/7", // G#m F#
K: "[c#5@4 a#4@27 ~, [c#4,f#4]@31 ~]/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: "~@6 f#5@3 ~ d#5@2 ~@4 c#5@2 ~@4 a#4@2",
P: "[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
Q: "[c#5@3 a#4@20 ~, [c#4,f#4]@23 ~]/4", R: "[c#5@12 f4@79 ~@5, c#4, g#4@23 ~]/4",
S: "[d#5@12 c#4@15 ~ d#4@32 d#5@24 [d#4,b4]@80 ~@4, [f#4,a#4]@27 ~ f#4@30 ~@2 f#4@104 ~@4]/7", // G#m F#
T: "[g#4@9 ~ g#4@2 a#4@2 f#4@2, d#4@2 ~, c#5@5 ~@19]/2", U: "[b3,d#4]", V: "[c#4,f4]@7 ~", W: "[a#3,f#4]",
X: "[~@4 f#4@29 ~ d#5@26 [d#4,b4]@80 ~@4, ~ d#4@13 ~@22, ~@17 f#4@53 ~@2]/6", // G#m
Y: "[c#5@12 a#4@79 ~@5, [c#4,f#4]@23 ~]/4", Z: "[c#5@3 f4@20 ~, c#4@95 ~, g#4@31 ~]/4",
AA: "[[f#4,a#4]@26 ~@2 [d#4,f#4]@32 d#5@23 ~ [d#4,b4]@80 ~@4, d#5@4 ~@16 f#4@35 ~]/7", // F# D#m G#m
AB: "[c#5@3 a#4@20 ~, [c#4,f#4]@31 ~]/4", // F#5
AC: "[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", AD: "[g#3,c#4,f4]@7 ~",
AE: "[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 J K ~@2 G ~ H J L M N O P@4 Q@4 R@4 Q S O P@4 Q@4 T U P R Q V W G ~ H L J K ~ X G ~ H I J M Y
O P@4 Q@4 R Z R@2 Q AA AB P@3 AC Q@4 AD U AE AF AG AH AI P@2 AC AJ Q@4 R@4 Q AK AL AM AN AM AO Q AP Q@2 AD U P R AQ N
~@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,f6] ~@2, ~@18 c#6 ~@5", J: "~@9 [b5,c#6,f6] ~@2", K: "~@18 [a#5,c#6,f#6] ~@5", L: "~@18 [b5,c#6,f6] ~@5",
M: "~@6 f#6@2 ~@2 d#6 ~@5 c#6 ~@5 a#5 ~", N: "f#5 ~@23", O: "[f#5,a#5] ~@23",
P: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5] ~@5", Q: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 [f#5,a#5] ~@5",
R: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 [f5,b5] ~@5", S: "[f#5,a#5] ~@21 [f#5,a#5] ~",
T: "~@6 g#5 ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", U: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [f#5,a#5] ~@5",
V: "f5@2 ~@2 c#6 ~ d#5@2 ~@2 b5 ~ c#5@3 ~ a#5 ~ b4@3 ~ g#5 ~", W: "[a#4,f#5] ~@23",
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 [f#5,b5] ~@3 [f#5,b5] ~@7 b5@2 ~@4, ~@18 f#5 ~@5",
AD: "~@6 [g#5,b5] ~@3 [g#5,b5] ~@7 [g#5,b5] ~@5", AE: "[f#5,b5] ~@9 [f#5,b5] ~@7 [f#5,b5] ~@5",
AF: "~@6 [f5,b5] ~@3 [f5,b5] ~@7 b5@2 ~@4, ~@18 f5 ~@5", AG: "[f#5,a#5] ~@9 d#6 ~@5 c#6 ~ a#5 ~@5",
AH: "f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3",
AI: "f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3 f#6@2 f#5 ~@3",
AJ: "~@6 [f#5,b5] ~@3 b5@2 ~@6 b5@2 ~@4, ~@10 f#5 ~@7 f#5 ~@5", // B5
AK: "f#6@2 f#5 ~@3 f#5 ~@3 f#5 ~ f#6 ~ f#5 ~@3 f#6 ~ f#5@2 ~@2",
AL: "f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#6 ~ f#5 ~ f#6 ~ f#5 ~@3 f#6@2 f#5 ~@3",
AM: "~@6 [f#5,b5] ~@3 [f#5,b5] ~@7 [f#5,b5]@2 ~@4", AN: "~@6 [f#5,b5] ~@3 [f#5,b5]@2 ~@6 [f#5,b5] ~@5",
AO: "~@6 [f#5,b5] ~@3 b5@2 ~@6 [f#5,b5]@2 ~@4, ~@10 f#5 ~@13", // B5
AP: "~@6 [f#5,a#5] ~@3 [f#5,a#5] ~@7 f#5@2 ~@4, ~@18 a#5 ~@5", AQ: "~@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 M@3 N O B@2 P Q R S A@3 T M@3 U V A B M W ~ X ~ H ~@2 Y Z ~ X ~ AA
~@2 AB AC@2 A@4 M@4 AD B N B M AE AF AG A@2 AH M@2 AI AJ U AK AL AM AN AO AP AQ A@3 AR P M@2 B@4 M AS AT AQ A@2 AH P
AU AV AW AX AY AZ BA BB BC ~@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] ~@5, ~@9 f#4 ~@2", // F# A#m
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@2",
M: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~",
N: "c#5@2 g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~",
O: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4@2 f4 ~ g#4 ~",
P: "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 ~",
Q: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~ f#3 ~ f#4 ~",
R: "f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~ f#3 ~ f#4 ~ f#4 ~",
S: "b4@2 f#4 ~ d#4@2 b3 ~ d#4 ~ f#4 ~ b4 ~ f#4 ~ d#4 ~ b3 ~ d#4 ~ f#4 ~",
T: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~@3 c#4 ~ a#3 ~ c#4 ~ f#4 ~",
U: "b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~",
V: "b4@2 g#4 ~ d#4 ~ b3 ~ d#4 ~ g#4 ~ b4 ~ g#4@2 d#4 ~ a#4 ~ f#4 ~ c#4 ~",
W: "c#5 ~ g#4 ~ f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4 ~ f4 ~ c#4 ~@3 c#4 ~",
X: "[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#
Y: "f#3 ~ f#4 ~ f#3 ~ f#4 ~@3 f#4 ~ f#3 ~@9 c#4@2",
Z: "c#5 ~ c#4 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#5 ~ c#4 ~ c#5 ~ c#4 ~",
AA: "[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] ~@5, ~@9 b4 ~@2", // C#7 C#
AB: "[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#
AC: "[[f#3,f#4] ~@19 f#4@2 ~@2 f#4@2 ~@22, ~@11 f#3@2 ~@11]/2", // F#
AD: "c#5@2 g#4@2 f4 ~ c#4 ~ f4 ~ g#4 ~ c#5 ~ g#4@2 f4 ~ c#4 ~ f4 ~ g#4 ~",
AE: "a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ f#4 ~ a#4 ~ f#4 ~ c#4 ~ a#3 ~ c#4 ~ a#3 ~",
// … 109 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.