0:00/0:00
// Anche tu — Mina
// 89 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: Full arrangement: all 102 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(89/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 · fretless bass
const bass = note(`<
~@7 A B C D ~@3 E F ~@2 G@3 H I J K L M N O P@2 Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM@4 I J K L
M AN O P@2 Q R S T U V W@2 X Y Z AA AB AC AO AP AQ AR AS AT AU AV AW AX AY AR AS AT AU AV AW AX AZ@3
>`.pickRestart({
A: "~@4 c#2@2 ~ c#2", B: "d2@3 ~ a1@3 ~ c#2@5 ~ c#2@2", C: "b1@3 ~ b1@3 ~@3 e2@2 e2@2 ~@2", D: "~ e2 e1@4 ~@2",
E: "~ a1", F: "a2 b2 ~@4 a1@2 ~@8, ~ a2@3 ~@4", G: "[~@6 c2@2 ~@12 c2@4 e2@14 d2 e2 e1@8, ~@8 f1@15 ~@25]/3",
H: "e1@7 ~ a1@6 ~ a1", I: "a1@6 ~ a1 d2@6 ~ d2", J: "d2@6 ~ d2 e2@6 ~ d2", K: "e2 b1 e1@4 e2 e1 a1@6 ~ a1",
L: "a1@5 ~@2 a1 d2@6 ~ d2", M: "d2@4 ~@2 a1 g#1 g1@6 ~ g1", N: "g1@7 ~ c2@6 ~ c2", O: "c2@5 ~ c2@2 f1@6 ~ c2",
P: "[f2@2 f2@3 ~ f2@2 e2@14 d2 e2 e1@8]/2", Q: "e2@4 e1@3 ~ a1@6 ~ e2", R: "a1 ~ a1@3 ~ a1 g#1 f#1@6 ~ c#2",
S: "f#1 ~ f#1@3 ~ f#1 a1 b1@8", T: "f#2@4 b1@2 g#1 f#1 e1@6 b1 e2", U: "e2@2 b1@2 e1@2 f#1 g#1 a1@6 e2 a1",
V: "a1 ~ a1@4 a1 g#1 f#1@6 c#2 f#1", W: "[f#1@4 ~@2 f#1 a1 b1@6 b1@6 ~@2 b1 f#1 e1 ~ e1@4 b1 e2]/2",
X: "e2@4 d2@4 c2@6 ~ g2", Y: "c2 ~ c2@3 ~ c2 b1 a1@6 ~ e2", Z: "a1 ~ a1@3 ~ a1 c2 d2@8",
AA: "a2@4 d2@2 b1 a1 g1@6 d2 g2", AB: "g2@2 d2@2 g1@2 a1 b1 c2@6 g2 c2", AC: "c2 ~ c2@4 c2 b1 a1@6 e2 a1",
AD: "a1@4 ~@2 a1 c2 d2@6 ~ d2", AE: "d2@3 ~ d#2 ~@5 e1 ~ e1 ~ e1@2, ~@3 e2@5", AF: "e1 ~ e1@2 e1 ~ e1 ~ a1@6 ~ a1",
AG: "a1@5 ~ a1 g#1 f#1@5 ~@2 c#2", AH: "f#1 ~ f#1@4 a1 a#1 b1@6 ~ b1", AI: "b1@5 ~ b1 f#1 e1@6 b1 e2",
AJ: "e2 ~ e2@2 b1 e1 g1@2 d2@6 ~ d2", AK: "d2@5 ~ d2@2 c#2@6 ~ g#1", AL: "c#2 ~ c#2@3 ~ c#2 c2 b1@6 ~ b1",
AM: "[b1 ~ b1@3 ~ b1 ~ e1@4 e2 ~ e1@6 e2 b1 e1 ~ e1@4 e2 ~@5 e2 ~ e2 b1 e1@2 ~@8 e2@7 ~ a1@6 ~ a1, ~@30 e1@6 ~@4 e1@15 ~@9]/4",
AN: "g1@8 c2@6 ~ c2", AO: "a1@4 ~@2 a1 c2 d2@6 a1 d1", AP: "d1@4 d2@2 a1 g1 g1@5 ~ g1@2",
AQ: "~@4 f1@4 d#2@6 ~ a#2, f2 ~", AR: "d#2 ~ d#2@3 ~ d#2 d2 c2@6 ~ g2", AS: "c2 ~ c2@3 ~ c2 d#2 f2@8",
AT: "c3@4 f2@2 d2 c2 a#1@6 f2 a#2", AU: "a#2@2 f2@2 a#1@2 c2 d2 d#2@6 a#2 d#2", AV: "d#2 ~ d#2@4 d#2 d2 c2@6 g2 c2",
AW: "c2@4 ~@2 c2 d#2 f2@6 c2 f1", AX: "f1@4 f2@2 c2 a#1 a#1@5 ~ a#1@2", AY: "a#1@2 a#1 a#2 f2 a#1 f2 a#1 d#2@6 ~ a#2",
AZ: "[~@3 a#2 ~ a#2 a#1 a#2 a#1 ~@2 d#2@25 ~@12, a#1@5 ~@4 d#1@27 ~@12]/3",
})).s("gm_fretless_bass").gain(0.52)
// chords · string ensemble 2
const string_ensemble_2 = note("<~ A@7 B C ~@19 D@6 E@4 F@4 G@3 H@5 I@5 ~@9 J@6 K@8 L@4 M@16 N@3>".pickRestart({
A: "[~@3 [a2,a3,g#4]@15 [f#2,f#3,a4]@24 ~ [d2,d3,d4,f#4,a4]@19 [c#3,e4,g#4,e5]@20 [b2,d4,f#4,a4,d5]@17 ~@5 [e5,g#5,c#6]@3 [f#5,a5,d6]@3 [e5,g#5,c#6]@2, ~@3 [e4,c#5]@39 ~ c#5@39 ~@30, ~@62 b4@37 ~@13]/7", // Amaj7 F#m D C#m Bm7 C#m D C#m
B: "[a4,c#5,f#5,a5]@4 [a4,c#5,e5]@3 ~ [c#5,g#5,c#6]@3 [c#5,g#5]@2 ~ [c#5,e5,g#5]@2, ~@4 e5@3 ~", // F#m A C#5 C#m
C: "[b4,d5,f#5]@4 [f#4,c#5,e5]@3 ~@9, a4@7 ~@9", // Bm F#7
D: "[~@3 e5@2 g#4@2 a4@2 [d4,f#4,a4]@2 [d4,f#4,a4,b4], ~ e4@6 ~@5, ~ [a4,b4]@4 c#5@4 ~@3]/6", // D Bm7 Asus2
E: "[[e4,g#4] g#4@2 a4@2 [d4,f#4,a4]@2 [d4,f#4,a4,b4], ~ [e4,c#5]@4 ~@3]/4", // E D Bm7 C#m
F: "[[e4,g#4] b4@2 c5@2 ~@2 d5, ~ [g4,e5]@4 [f4,a4,c5]@3]/4", G: "[[g4,b4] b4@2 c5@2 [f4,a4,c5], ~ [g4,e5]@4 ~]/3",
H: "[~@3 [d4,g#4,b4]@9 ~@16 d5@8 e5@4, ~@3 e5@4 ~@3, ~@3 g#4@2 a4@5, ~@15 c#5@13 [f#4,b4]@12]/5", // G#dim B5
I: "[~@4 [g#4,d5]@4 ~@4 f#5@12 [g#4,b4,e5]@16 ~@8 e5@7 ~@7 [f#4,a4]@4 [f#4,a4,c#5]@5 ~@9, ~@8 [a4,c#5]@16 ~@16 [f#4,a4,d5]@15 ~@7 e5@9 ~@9]/5", // G#dim E F#m A D
J: "[~@8 b4@24 c#5@7 ~ [g#4,c#5]@16 ~@32 b4@8, ~ [d4,f#4,a4]@4 e4@4 [d4,f#4]@3, ~@7 a4@5]/6", // C#5 D
K: "[[e4,g#4]@8 g#4@16 a4@15 ~ [d4,f#4,a4]@16 [d4,f#4,a4]@8 [e4,g#4]@8 b4@16 c5@16 ~@16 d5@8, ~ [e4,c#5]@4 ~@2 b4@2 [g4,e5]@4 [f4,a4,c5]@3]/8", // E D E C#m C F
L: "[[g4,b4] b4@2 c5@2 [f4,a4,c5]@2 ~, ~ [g4,e5]@4 ~@3]/4", // G F C
M: "[~@8 d5@16 d#5@16 ~@24 [a#4,d5]@8 d5@16 d#5@15 ~ [g#4,c5,d#5]@16 ~@8, ~ [a#4,g5]@4 [g#4,c5,d#5]@3 ~ [a#4,g5]@4 ~@3, ~@7 f5@2 ~@7]/8", // A# G# D# G# D#
N: "[~@3 [d4,g4,a#4,d5]@9 ~@4]/3", // Gm
})).s("gm_string_ensemble_2").gain(0.23)
// other · string ensemble 1
const string_ensemble_1 = note("<~ A@5 B C D E F ~@27 G H@8 ~@7 I@3 J ~@16 G K@8 L@8 M@8 N@3>".pickRestart({
A: "[~@3 a2@16 f#3@15 e3@9 [d2,d3]@19 [c#2,c#3]@17 ~]/5", B: "b2", C: "~@8 c#6@3 d6@3 c#6@2",
D: "a5@4 e5@4 c#6@3 d6@3 c#6@2", E: "a5@4 e5@4 [c#4,c#6]@3 [d4,d6]@3 [c#4,c#6]@2", F: "[a3,a5]@8 [b3,b5]@7 ~",
G: "~@10 [e4,e5] [f#4,f#5] [g#4,g#5] [f#4,f#5] [g#4,g#5] [a4,a5]", // E F# G# F# G# A
H: "[[b4,b5] [a4,a5] [b4,b5] [c#5,c#6] [d5,d6] [c#5,c#6] [d5,d6] [d#5,d#6] [g5,e6]@32 [f5,d6]@32 e5@32 [d5,a5]@16 ~@8, ~@9 c6@6 ~]/8", // B A B C# D C# D D# …
I: "[~@4 [c#4,c#6] [d4,d6] [c#4,c#6] [a3,a5]@2 [f#3,f#5] [a3,a5]@2 [c#4,c#6] [d4,d6] [c#4,c#6] [a3,a5]@2 [f#3,f#5] [a3,a5] [a3,a5]@5]/3", // C# D C# A F# A C# D …
J: "[b3,b5]@7 ~@9", // B
K: "[[b4,b5] [a4,a5] [b4,b5] [c#5,c#6] [d5,d6] [c#5,c#6] [d5,d6] [d#5,d#6] [g5,e6]@32 [f5,d6]@32 e5@32 [d5,a5]@16 ~@2 [g4,g5] [a4,a5] [b4,b5] [a4,a5] [b4,b5] [c5,c6], ~@9 c6@6 ~]/8", // B A B C# D C# D D# …
L: "[[d5,d6] [c5,c6] [d5,d6] [e5,e6] [f5,f6] [e5,e6] [f5,f6] [f#5,f#6] [a#5,g6]@32 [g#5,f6]@32 g5@32 [f5,c6]@15 ~@3 [a#4,a#5] [c5,c6] [d5,d6] [c5,c6] [d5,d6] [d#5,d#6], ~@72 d#6@47 ~@9]/8", // D C D E F E F F# …
M: "[[f5,f6] [d#5,d#6] [f5,f6] [g5,g6] [g#5,g#6] [g5,g6] [g#5,g#6] [a5,a6] [a#5,g6]@32 [g#5,f6]@32 g5@32 [f5,c6]@16 ~@2 [a#4,a#5] [c5,c6] [d5,d6] [c5,c6] [d5,d6] [d#5,d#6], ~@9 d#6@6 ~]/8", // F D# F G G# G G# A …
N: "[[f5,f6] [d#5,d#6] [f5,f6] [g5,g6] ~ [g#5,g#6] [g5,g6] [g#5,g#6] [a5,a6] [a#4,a#6]@27 ~@12]/3", // F D# F G G# G G# A …
})).s("gm_string_ensemble_1").gain(0.43).pan(0.3)
// other · synth brass 2
const synth_brass_2 = note(`<
A@3 B@5 ~@23 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 K ~@19 C@2 D@2 L@2 F@2 G@2 H@2 I@2 J@2 M@2 N@2 O@2 P@2 Q@2 N@2 O@2 P@2 R
~@2
>`.pickRestart({
A: "[~@8 c#4 ~ e4 f#4 ~ [g4,g#4] ~ g#4@2 c#4@2 ~ e4@6 ~ c#4@2 e4@2 f#4@2 g#4@2 e4@10 ~@3, ~@15 g4 ~@32]/3", // G#maj7
B: "[~@7 a4@2 b4 c5 c#5 c5 c#5@2 f#4@2 a4@6 ~@2 f#4@2 a4 ~ b4@2 c#5@6 ~@5 e5@2 ~ c#5@2 e4@2 f4 f#4@21 ~@9, ~@6 f#4@2 ~@34 d#5 ~@37]/5",
C: "[~@10 c#4@2 e4@2 b4@4 g#4@5 ~@9, ~@14 a#4 ~@17]/2", D: "[f#4@7 ~@3 b3@2 d4@2 c#5@4 b4@2 d4@2 a4@5 ~@5]/2",
E: "[d4@4 g#4@4 g#4@2 c#4@2 e4@2 b4@4 g#4@5 ~@9, ~@14 a#4 ~@17]/2",
F: "[f#4@7 ~@3 b3@2 d4@2 c#5@4 b4@2 d4@2 a4@6 ~@4]/2", G: "[g#4@6 ~@4 e4@2 g4@2 d5@4 b4@5 ~@9, ~@14 c#5 ~@17]/2",
H: "[a4@7 ~@3 d4@2 f4@2 e5@4 d5@2 f4@2 c5@5 ~@5]/2", I: "[f4@4 b4@4 b4@2 e4@2 g4@2 d5@4 b4@5 ~@9, ~@14 c#5 ~@17]/2",
J: "[a4@7 ~@3 d4@2 f4@2 e5@4 d5@2 f4@2 c5@6 ~@4]/2", K: "b4@3 ~@5",
L: "[d4@4 g#4@4 g#4@2 c#4 ~ e4@2 b4@4 g#4@5 ~@9, ~@14 a#4 ~@17]/2",
M: "[b4@6 ~@4 g4@2 a#4@2 f5@4 d5@5 ~@9, ~@14 e5 ~@17]/2", N: "[c5@7 ~@3 f4@2 g#4@2 g5@4 f5@2 g#4@2 d#5@5 ~@5]/2",
O: "[g#4@4 d5@4 d5@2 g4@2 a#4@2 f5@4 d5@5 ~@9, ~@14 e5 ~@17]/2",
P: "[c5@7 ~@3 f4@2 g#4@2 g5@4 f5@2 g#4@2 d#5@6 ~@4]/2", Q: "[d5@6 ~@4 g4@2 a#4@2 f5@4 d5@5 ~@9, ~@14 e5 ~@17]/2",
R: "d5@3 ~@5",
})).s("gm_synth_brass_2").gain(0.29).pan(0.7)
// chords · piano
const piano = note("<~@7 A B C D E@2 F@8 G@2 F@8 H@3 I@8 J@5 K@4 L@3 M@5 F@8 H@3 N@8 O@5 P@8 Q@8 R@3>".pickRestart({
A: "~@8 [c#2,b3,e4,g#4]@5 ~ [c#2,b3,g#4]@2, ~@14 e4 ~", // C#m7 C#7
B: "[d2,a3,c#4,f#4]@4 [a1,a3,c#4,e4]@3 ~ [c#2,b3]@3 b3@3 c#2@2, ~@8 [e4,g#4]@7 ~", // Dmaj7 A C#7 E
C: "[b1,d4,f#4]@3 ~ [b1,c#4,e4]@3 ~@3 [e2,a3,b3,d4,f#4]@2 [e2,a3,b3,d4,f#4]@3 ~, a3@7 ~@9", // Bm C#m7 Bm7
D: "~@2 [e2,a3,b3,d4,f#4,a4] ~ [e2,a3,b3,d4,f#4,a4]@4 ~@8", // Bm7
E: "[~@22 [b4,e5] ~ b4 c5 ~@4 d3@2, ~@4 a2@8 ~ a4@3, ~@8 [a3,b3,c#4,e4]@11 ~@5 e5@8, ~@7 e3@5 [d3,a3]@2 f4@2]/2", // E5 A D5
F: "[~@4 f4@2 a4@2 [e2,a3,b3,d4,f#4]@11 ~ [e2,b3,d4,g#4]@3 ~ [g#3,c#4,e4]@8 ~@2 c#5 ~ g#4 a4@2 ~ g4 ~@9 d3@2 d4@2 d3 ~ c4 ~@13 [b4,d5]@2 d5 ~@3 c5@2 ~@6 g4@2 c3@2 [e4,a4]@6 e4@4 ~@2 e4@3 ~ [d4,e4]@10 ~@4 [a4,b4] ~ d4@5 ~ d4@2, a3@7 ~@17 a2@16 d4@11 ~@5 g3@2 g3@7 ~ g3@6 ~ e5@14 ~@41, ~@2 d4@5 ~@29 c#5@4 c5@15 ~@9 d3@8 c3@6 c3@7 ~@3 f2@16 e2@16 [e2,g#4,b4]@8, ~@40 d3@8 d2@7 ~ [g2,d3]@4 ~@2 g2@7 ~@11 b4@7 ~ c5@9 ~ c5@6 ~@10 d4@5 ~@9, ~@40 d2 a4@14 ~@2 d4@9 ~@2 d4@4 g4@9 ~@23 [a4,b4]@12 e4@11 ~]/8", // Bm7 E7 C#m Bm A5 Dsus2 Asus2 E …
G: "[~@4 e2@3 ~@15 [b4,e5] ~ b4 c5 ~@4 d3@2, [d4,e4,g#4,b4]@7 ~ a2@16 ~@2 a4@6, ~@8 [a3,b3,c#4,e4]@11 ~@5 e5@8, ~@7 e3@5 [d3,a3]@2 f4@2]/2", // E5 E7 A D5
H: "[~@4 e2@3 ~ [g#3,c#4,e4]@6 g#3@6 ~@3 c#4 [a3,c#4,e4]@5 ~@3 f#2@4 [a3,c#4,e4,a4]@2 f#2@2 [a3,d4,f#4]@6 [a3,d4,f#4]@2, [d4,e4,g#4,b4]@7 ~ a2@9 ~@3 a2@4 f#2@6 ~@10 b2@8, ~@7 [c#4,e4,g#4]@4 g#3 ~@3 [a3,c#4,e4,a4]@3 ~@6]/3", // C#m A D E7 C#m A
I: "[~@4 a3@2 [d4,f#4] ~ [a3,b3,d4,f#4]@5 ~ [a3,b3,d4,f#4,a4]@6 ~@2 e2@2 [a2,c#4]@6 [a2,c#4]@6 [g#3,c#4,e4]@2 a2 ~ [g#3,c#4,e4]@5 ~ [f#2,c#4,e4,f#4]@6 [g#3,c#4,e4]@2 f#2@2 [a3,b3,d4]@6 [a3,b3,d4,a4]@5 ~ [a3,b3,d4,f#4]@2 ~ [a3,b3] [e2,a3,b3,d4,f#4]@5 ~ [e2,a3,b3,d4,f#4]@6 [a3,b3,d4,f#4]@2 e2 ~ [b3,e4,g4]@6 b3@6 ~@3 e4 [c4,e4,g4]@5 ~@3 a2@4 [c4,e4,g4,c5]@2 a2@2 [c4,f4,a4]@6 [c4,f4,a4]@2, ~@2 b2@6 e2@12 [a3,d4,f#4]@4 e4@4 ~@18 g#3@5 ~ f#4@16 ~@10 a4@5 ~@11 [e4,g4,b4]@8 b3@2 ~@6 [c4,e4,g4,c5]@6 ~@12, ~@24 a3@2 ~@4 [g#3,e4]@5 ~@4 f#2@6 ~@11 b2@10 ~@4 b2@2 ~@16 c3@9 ~@3 c3@4 a2@6 ~@10 d3@8]/8", // D Bm7 A C#m F#7 C#m Bm7 Asus2 …
J: "[~@4 c4@2 [f4,a4] ~ [c4,d4,f4,a4]@5 ~ [c4,d4,f4,a4,c5]@6 ~@2 g2@2 [c3,e4]@6 [c3,e4]@6 [b3,e4,g4]@2 c3 ~ [b3,e4,g4]@5 ~ [a2,e4,g4,a4]@6 [b3,e4,g4,a4]@2 a2@2 [d2,a4]@4 f4@2 [d2,f4,a4]@4 c4 ~ [d2,c4,f4,a4] ~ [e2,b3,d4]@6 [e2,g#3,b3,d4] ~ [e2,g#3,d4] ~, ~@2 d3@6 g2@12 [c4,f4,a4]@4 [c4,g4]@4 ~@2 [b3,g4]@5 ~@4 a2@6 ~ b3@5 ~@5 c4@3 ~ c4 ~ c4@3 ~@5 g#4@10, ~@39 b3]/5", // F Dm7 C Em A7 Em D5 Dm …
K: "[[e2,b3,d4]@2 [e2,b3,d4]@2 [e2,g#3,d4] ~ [e2,g#3,b3,d4] ~ [a2,g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4,e4] ~ [g#3,b3,c#4] ~ [f#2,a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [a3,b3,c#4,e4] ~ [b2,a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,b3,d4,f#4] ~ [a3,b3,d4,f#4] ~ [a3,b3,d4,f#4] ~ [e2,a3,b3,d4,f#4]@2, g#3 ~ g#3 ~ b3@2 ~@8 a2@4 ~@2 a2@2 ~@8 f#2@4 ~@2 f#2@2 ~@8 b2@5 ~ b2@2 ~@2 e2@2 ~@6]/4", // E7 Amaj7 C#m7 C#7 F#m7 A Bm7 D …
L: "[[a3,b3,f#4] ~ [a3,b3,d4,f#4] ~ [e2,b3]@2 [e3,g#3,b3] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4]@2 d2@2 [c#2,b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4] ~ [b3,e4,g#4]@2 c#2 ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4] ~, ~@4 [e3,g#3] ~@3 d2@5 ~ d2@7 ~@9 c#2@6 ~@4 b1@4 ~@2 b1@2]/3", // B7 Bm7 E5 E F#m C#m7 E D …
M: "[[a3,d4,f#4] ~ [a3,d4,f#4] ~ [a3,d4,f#4]@2 b1 ~ [e2,a3,b3,d4,f#4]@4 ~@2 e2@4 e1@2 e2@2 [a3,b3] ~ [e1,a3,b3,d4,f#4]@4 e2 ~ [a3,b3,d4,f#4]@4 [a3,b3] ~@3 e2 ~ [e1,e2,a3,b3,d4,f#4]@11 ~@19 [b4,e5] ~ b4 c5 ~@4 d3@2, ~@14 [a3,b3,d4,f#4]@9 ~@7 e2@6 [a3,b3,d4,f#4]@4 ~@16 a2@16 ~@2 a4@6, ~@56 [a3,b3,c#4,e4]@11 ~@5 e5@8, ~@31 e3@5 [d3,a3]@2 f4@2]/5", // D Bm7 Asus2 Bm7 Asus2 Bm7 E5 Bm7 …
N: "[~@4 a3@2 [d4,f#4] ~ [a3,b3,d4,f#4]@5 ~ [a3,b3,d4,f#4,a4]@6 ~@2 e2@2 [a2,a3,c#4,e4]@6 [a2,c#4]@6 [g#3,c#4,e4]@2 a2 ~ [g#3,c#4,e4]@5 ~ [f#2,c#4,e4,f#4]@6 [g#3,c#4,e4]@2 f#2@2 [a3,b3,d4]@6 [a3,b3,d4,a4]@5 ~ [a3,b3,d4,f#4]@2 ~ [a3,b3] [e2,a3,b3,d4,f#4]@5 ~ [e2,a3,b3,d4,f#4]@6 [a3,b3,d4,f#4]@2 e2 ~ [b3,e4,g4]@6 b3@6 ~@3 e4 [c4,e4,g4]@5 ~@3 a2@4 [c4,e4,g4,c5]@2 a2@2 [c4,f4,a4]@6 [c4,f4,a4]@2, ~@2 b2@6 e2@12 [a3,d4,f#4]@4 ~@6 [g#3,e4]@5 ~@4 f#2@6 ~ g#3@5 ~ f#4@16 ~@10 a4@5 ~@11 [e4,g4,b4]@8 b3@2 ~@6 [c4,e4,g4,c5]@6 ~@12, ~@56 b2@10 ~@4 b2@2 ~@16 c3@9 ~@3 c3@4 a2@6 ~@10 d3@8]/8", // D Bm7 A C#m F#7 C#m Bm7 Asus2 …
O: "[~@4 c4@2 [f4,a4] ~ [c4,d4,f4,a4]@5 ~ [c4,d4,f4,a4,c5]@6 ~@2 g2@2 [c3,e4]@6 [c3,e4]@6 [b3,e4,g4]@2 c3 ~ [b3,e4,g4]@5 ~ [a2,e4,g4,a4]@6 [b3,e4,g4]@2 a2@2 [d2,a3,f4]@4 c4 ~ a3@3 ~ a3 ~ [a3,c4,f4]@2 f2 f#2 ~@2 [f3,b3,d4]@2 f3 ~ [f3,b3,d4] ~, ~@2 d3@6 g2@12 [c4,f4,a4]@4 [c4,g4]@4 ~@2 [b3,g4]@5 ~@4 a2@6 ~ b3@5 ~ a4@12 ~@16, ~@31 [d2,c4,f4]@3 ~@2 g2@3 ~]/5", // F Dm7 C Em A7 Em Dm F …
P: "[[f2,f3,b3,d4]@4 [f3,b3,d4]@2 f2 ~ [d4,g4,a#4]@6 d4@6 ~@3 g4 [d#4,g4,a#4]@5 ~@3 c3@4 [d#4,g4,a#4,d#5]@2 c3@2 [d#4,g#4,c5]@6 d#4@4 ~@2 d#4@2 [g#4,c5] ~ [d#4,f4,g#4,c5]@5 ~ [d#4,f4,g#4,c5,d#5]@6 ~@2 a#2@2 [d#3,d#4,g4]@6 [d#3,g4]@6 [d4,g4,a#4]@2 d#3 ~ [d4,g4,a#4]@5 ~ [c3,g4,a#4,c5]@6 [d4,g4,a#4]@2 c3@2 [f2,c4,g#4]@4 d#4 ~ c4@3 ~ c4 ~ [c4,d#4,g#4]@2 g#2 a2 ~@2 [g#3,d4,f4]@2 g#3 ~ [g#3,d4,f4] ~, ~@8 d#3@9 ~@3 d#3@4 c3@6 ~@10 f3@10 f3@6 a#2@13 ~@18 c3@6 ~@17 [f2,d#4,g#4]@6 ~@4 a#2@6 ~@2, ~@14 [g4,a#4,d5]@8 d4@2 ~@6 [d#4,g4,a#4,d#5]@6 ~@10 [g#4,c5]@7 ~@15 [d#4,g#4,c5]@4 a#4@4 ~@2 [d4,a#4]@5 ~@11 d4@5 ~ c5@12 ~@16]/8", // Bdim Gm D# G# Fm7 D# Gm C7 …
Q: "[[a#2,g#4]@2 d4!2 ~ d4 [d4,f4,g#4] a#2 [d4,g4,a#4]@6 d4@6 d#3@2 ~ g4 [d#4,g4,a#4]@5 ~@3 c3@4 [d#4,g4,a#4,d#5]@2 c3@2 [d#4,g#4,c5]@6 d#4@4 ~@2 d#4@2 [g#4,c5] ~ [d#4,f4,g#4,c5]@5 ~ [d#4,f4,g#4,c5,d#5]@6 ~@2 a#2@2 [d#3,d#4,g4,a#4]@6 [d#3,g4]@6 [d4,g4,a#4]@2 d#3 ~ [d4,g4,a#4]@5 ~ [c3,g4,a#4,c5]@6 [d4,g4,a#4]@2 c3@2 [f2,c4,g#4]@4 d#4 ~ c4@2 ~@2 c4 ~ [c4,d#4,g#4]@2 g#2 a2 ~@2 [g#3,d4,f4]@2 g#3 ~ [g#3,d4,f4] ~, d4 ~@2 [f4,g#4]@2 ~@9 [g4,a#4,d5]@9 ~@7 [d#4,g4,a#4,d#5]@6 ~@10 [g#4,c5]@7 ~@15 [d#4,g#4,c5]@4 ~@6 [d4,a#4]@5 ~@11 d4@5 ~ c5@12 ~@16, ~@4 a#2@2 ~@2 d#3@9 ~@5 d4@2 c3@6 ~@10 f3@10 f3@6 a#2@13 ~@18 c3@6 ~@17 [f2,d#4,g#4]@6 ~@4 a#2@6 ~@2]/8", // A#7 Ddim Gm D# G# Fm7 D# Gm …
R: "[f3 ~ f3 a#2 ~ f3 ~ [a#2,f3] ~ [d#1,d#2,g3,a#3,c4,d4,f4]@27 ~@12, [a#1,g#3,d4]@4 ~ [g#3,d4]@3 ~@40, ~@3 a#1 ~@20]/3", // A#5 D#maj7 A#7 G#dim
})).s("gm_piano").gain(0.46).pan(0.6)
// other · alto sax
const alto_sax = note("<~@47 A B C D E F G H I ~@27 J K L M N O P Q R S T U V W X Y@2 ~@2>".pickRestart({
A: "~@14 [d4,e4] [f#4,g#4,a4]", B: "c#5@6 b4 g#4 b4@5 ~ e5 c#5, b4 ~@15",
C: "b4 g#4 b4 g#4@2 [f#4,g4] e4 f#4 g#4 a4 b4 a4 d5@2 c#5 b4", // Gmaj7
D: "a4 ~ b4 a4 f#4@2 e4 ~@2 b3 c#4 [d4,e4] f#4 ~ a4 b4", E: "b4 ~ b4!3 ~ b4 b4@2 ~ c#5@4 b4 a4",
F: "g#4 ~ f#4 e4 e4@3 ~ e5@4 c#5 b4 ~ a4", G: "g#4@2 g#4@4 ~@3 b3 c#4 d4 e4 f#4 g#4 a4",
H: "c#5 ~ d#5!2 d#5@2 c#5 e5@7 c#5 ~", I: "b4 a4 g#4 ~ g#4 g4 e4@5 ~@5, ~@6 f#4 ~@9",
J: "~@10 [g4,g#4] [f4,g4] d#4 [f4,g4] [g#4,a#4] [d5,f5]", // G#maj7 Fsus2 G#sus2 Dm
K: "d5@2 a#4 [c5,d5] [d#5,f5] [g5,a#5] g5@5 g#5 [d#5,f5,g5] ~@3, d#5 ~@5 g#5 ~@9", // Csus2 D#sus2 Gm D#
L: "~@2 [f5,g5] [a#4,d#5] d5 ~ d#5@2 d#5 f5!2 g5!2 a#5 g5 f5", M: "g5 d#5!2 c5 g5 d#5 f5!2 d5 ~ d5 a#4!2 ~ g4!2",
N: "a#4 ~ a#4@4 ~@4 a#4 c5 d5 d#5 f5 g5", O: "d#5 f5 d5 d#5 c5 d5 a#4@2 g5@3 ~ [g#5,a5,a#5] ~ [d#5,e5] [f5,f#5]",
P: "g5 [c5,c#5] [d5,d#5] [a4,a#4] c5@2 ~@4 d#5 [d5,d#5] [f5,g5] [d5,d#5] [c5,c#5] [a#4,b4], ~@4 b4 ~@11", // C#maj7 D#maj7 A#maj7 D#maj7 Fsus2 D#maj7 C#maj7 Bmaj7
Q: "[g#4,a4] ~@6 a#4 c6 a#5 a#5@6", R: "~@2 a#5 ~@3 g5 a#5 c6 a#5 g5 a#5@3 ~ [g5,g#5]",
S: "[f5,g5] ~ g5 g#5 [f5,g5] ~ [g5,g#5] [a#4,f5] f5 ~ f5 [g4,a#4,d#5] d5 ~ [c5,d#5] [g4,a#4]", // Fsus2 G#maj7 A#5 D# Cm Gm
T: "f5@2 d#5 [g4,c5] g5@2 d#5 [g4,c5] [g5,a#5] d#5 c5 [a#4,c5] [d#5,g5] [c5,d#5] [a#4,c5] [d#5,g5], ~@4 f5 ~@11", // C5 Gm A#sus2 D# Cm A#sus2 D#
U: "d#5 [a#4,c5] [c5,d#5] [d#5,f5] [a#4,c5] [c5,d#5] [d#5,f5] [a#4,c5] [d#5,f5] c5 [g4,a#4]!2 [a#4,c5] [g4,c5] [d5,d#5] [f5,g5]", // A#sus2 Cm D#sus2 A#sus2 Cm D#sus2 A#sus2 D#sus2 …
V: "[g5,a#5] ~@2 g4 g#4 a#4 c5 d5 d#5 f5 g5!6", // Gm
W: "g5!2 ~ g5 [g#5,a5,a#5] ~ d#5!2 [d#5,f5] [f#5,g5] ~@2 g4 g#4@2 a#4", // D#sus2 Gmaj7
X: "~@3 [g4,a#4] [d5,f5] d5 a#4 g4 f5@2 f5@2 f5 ~@3", Y: "[~@3 d5 f5 d5 a#5 f5 c6 a#5 a#5@13 ~@9]/2",
})).s("gm_alto_sax").gain(0.58)
// other · whistle
const whistle = note(`<
A@3 B@5 ~@23 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 K ~@19 C@2 D@2 E@2 F@2 G@2 H@2 I@2 J@2 L@2 M@2 N@2 O@2 P@2 M@2 N@2 O@2 Q
~@2
>`.pickRestart({
A: "[~@8 c#5 ~ e5 f#5 ~ [g5,g#5] ~ g#5@2 c#5@2 ~ e5@6 ~ c#5@2 e5@2 f#5@2 g#5@2 e5@10 ~@3, ~@15 g5 ~@32]/3", // G#maj7
B: "[~@7 a5 ~ b5 c6 c#6 c6 c#6@2 f#5@2 a5@6 ~@2 f#5@2 a5 ~ b5@2 c#6@6 ~@5 e6@2 ~ c#6@2 e5@2 f5 f#5@21 ~@9, ~@6 f#5@2 ~@34 d#6 ~@37]/5",
C: "[~@10 c#5@2 e5@2 b5@4 g#5@5 ~@9, ~@14 a#5 ~@17]/2", D: "[f#5@7 ~@3 b4@2 d5@2 c#6@4 b5@2 d5@2 a5@5 ~@5]/2",
E: "[d5@4 g#5@4 g#5@2 c#5 ~ e5@2 b5@4 g#5@5 ~@9, ~@14 a#5 ~@17]/2",
F: "[f#5@7 ~@3 b4@2 d5@2 c#6@4 b5@2 d5@2 a5@6 ~@4]/2", G: "[g#5@6 ~@4 e5@2 g5@2 d6@4 b5@5 ~@9, ~@14 c#6 ~@17]/2",
H: "[a5@7 ~@3 d5@2 f5@2 e6@4 d6@2 f5@2 c6@5 ~@5]/2", I: "[f5@4 b5@4 b5@2 e5@2 g5@2 d6@4 b5@5 ~@9, ~@14 c#6 ~@17]/2",
J: "[a5@7 ~@3 d5@2 f5@2 e6@4 d6@2 f5@2 c6@6 ~@4]/2", K: "b5@3 ~@5",
L: "[b5@6 ~@4 g5@2 a#5@2 f6@4 d6@5 ~@9, ~@14 e6 ~@17]/2", M: "[c6@7 ~@3 f5@2 g#5@2 g6@4 f6@2 g#5@2 d#6@5 ~@5]/2",
N: "[g#5@4 d6@4 d6@2 g5@2 a#5@2 f6@4 d6@5 ~@9, ~@14 e6 ~@17]/2",
O: "[c6@7 ~@3 f5@2 g#5@2 g6@4 f6@2 g#5@2 d#6@6 ~@4]/2", P: "[d6@6 ~@4 g5@2 a#5@2 f6@4 d6@5 ~@9, ~@14 e6 ~@17]/2",
Q: "d6@3 ~@5",
})).s("gm_whistle").gain(0.23).pan(0.3)
// chords · string ensemble 1
const string_ensemble_1_2 = note("<~@4 A@2 ~@4 B ~@44 C@3 ~@44>".pickRestart({
A: "[~@14 c#3@9 b2@4 ~ a2@4, ~@5 e5@11, ~@14 g#5@17 ~]/2", B: "~@2 [d4,f#4,a4,b4] ~ [d4,f#4,a4,b4]@11 ~",
C: "[~@12 [f#4,a4,e5] ~ [f#4,a4,c#5,e5]@9 ~@3 [d4,f#4,a4,b4] ~ [d4,f#4,a4,b4]@11 ~@9]/3", // F#m7 Bm7
})).s("gm_string_ensemble_1").gain(0.48).pan(0.7)
// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<~@21 A@5 B@5 C@8 D@8 E@7 F@3 A@5 B@5 G@8 H@8 I@8 J@8 K ~@2>".pickRestart({
A: "[~@8 [a3,c#4,e4]@5 ~ [a3,c#4,e4]@6 [a3,c#4,e4]@3 ~ [a3,d4,f4]@4 ~@2 [d4,f4,a4]@4 [d4,f4]@5 ~ [a3,b3,d4,f#4]@4 ~@2 [a3,b3,d4,f#4]@4 [a3,b3,d4,f#4] g#3 [g#3,b3,e4]@3 ~ [g#3,c#4,e4]@5 ~ [g#3,c#4,e4]@5 ~ [g#3,c#4,e4]@2 ~@2 [a3,c4,f4]@4 ~@2 [c4,f4,a4]@2]/5", // A Dm Bm7 E C#m F
B: "[~@2 [a3,f4]@4 c4 ~ [g3,b3,d4]@5 ~ [b3,d4,g4]@9 ~ [b3,e4,g4]@5 ~ [b3,e4,g4]@8 ~@2 [a3,c4,e4]@5 ~ [a3,c4,e4]@8 ~@2 [e2,a3,b3,e4]@14 ~@10, ~@2 c4@3 ~@75]/5", // Dm G Em Am Esus4
C: "[~@8 [g#3,e4]@2 ~@4 g#3@3 ~ g#3@2 [g#3,c#4,e4] f#2 g#3 f#2 b2@3 [a3,c#4,e4]@2 ~ a3@4 a3@3 a2 ~ a2 b2@3 ~@3 f#4@6 f#4 b2 ~ b2 [a3,d4,e4]@3 [a3,d4,e4]@3 [a3,d4,e4]@5 ~ [a3,d4,e4] a2 [a3,d4,e4] a2 [g#3,c#4,e4]@2 ~ [g#3,c#4,e4]@3 g#3@5 ~ g#3 ~@2 c#4 [f#2,a3,c#4]@2 ~@2 f#2@2 [f#2,a3,c#4,e4]@7 ~@2 a3 [a3,d4,f#4]@2 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4] ~ [g#3,b3]@3 ~ [a3,d4] ~ [a3,b3,e4]@2, ~@11 [g#3,c#4,e4]@2 ~ [c#4,e4]@6 ~@2 [c#4,e4]@3 ~@5 [c#4,e4]@8 [a3,c#4,e4]@2 ~@3 [a3,d4,f#4]@2 ~ [a3,d4]@8 [a3,d4,f#4]@2 ~@22 [c#4,e4]@8 e4@5 ~@11 f#2@2 ~@3 [a3,d4,f#4]@3 ~@18, ~@12 f#2@9 ~@8 a2@8 ~@7 b2@9 ~@33 g#3@2 ~@3 [a3,c#4,e4]@2 ~@8 [a3,e4]@2 b2@5 b2@9 b2@3 e2@8]/8", // C#m A Asus4 C#m F#m F#m7 D G#m …
D: "[~@2 [a3,b3,e4] e2 ~@2 a3 ~ [b3,g4]@2 ~@4 b3@3 ~ b3@2 [b3,e4,g4] a2 b3 a2 d3@3 [c4,e4,g4]@2 ~ c4@4 c4@3 c3 ~ c3 d3@3 ~@3 a4@6 a4 d3 ~ d3 [c4,f4,g4]@3 [c4,f4,g4]@3 [c4,f4,g4]@5 ~ [c4,f4,g4] c3 [c4,f4,g4] c3 [b3,e4,g4]@2 ~ [b3,e4,g4]@3 b3@5 ~ b3 ~@2 e4 [a2,c4,e4]@2 ~@2 a2@2 [a2,c4,e4,g4]@6 ~@2 a2 c4 d2@4 [c4,f4]@2 ~ [c4,f4]@4 ~ [c4,f4] ~ [b3,d4,f#4]@5 ~ [e2,b3,e4,g#4]@2 [e2,b3,e4,g#4]@2, ~@4 [a3,b3,e4]@3 ~@4 [b3,e4,g4]@2 ~ [e4,g4]@6 ~@2 [e4,g4]@3 ~@5 [e4,g4]@8 [c4,e4,g4]@2 ~@3 [c4,f4,a4]@2 ~ [c4,f4]@8 [c4,f4,a4]@2 ~@22 [e4,g4]@8 g4@5 ~@37, ~@5 e2@2 ~@5 a2@9 ~@8 c3@8 ~@7 d3@9 ~@33 b3@2 ~@3 [c4,e4,g4]@2 ~@8 [c4,g4]@2 d3@5 ~@2 d2@6 ~@12]/8", // Asus2 Em C Csus4 Em Am Am7 F5 …
E: "[[e2,b3,e4,g#4]@2 [e2,b3,e4,g#4]@2 [e2,b3,e4,g#4]@2 [e2,b3,e4,g#4] ~ [g#3,e4]@3 ~ [c#4,e4] ~ [g#3,c#4,e4]@6 [g#3,c#4,e4]@2 g#3 ~ [a3,c#4,e4]@4 a3 ~ [c#4,e4]@4 a3 ~ [a3,c#4,e4]@2 a3 ~ [a3,f#4]@4 [a3,d4,f#4] ~ a3@6 a3@2 ~@2 [b3,d4,f#4]@4 ~@2 [d4,f#4]@4 b3 ~ [b3,e4]@2 b3 ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ [a3,c#4,f#4] ~ a3@3 ~ a3@2 [a3,c#4,f#4]@3 ~ e4@4 b3@2 [b3,e4,g#4]@5 ~@3 g#4@2 [a3,d4,f#4]@4 [a3,d4]@2 [a3,d4,f#4]@2, ~@30 a3@3 ~@13 [d4,f#4]@8 ~@8 b3@3 ~@13 [c#4,f#4]@6 ~@4 b3@3 ~@9 [b3,e4]@4 ~@8]/7", // E C#m A C#m A D Bm D …
F: "[~@2 [a3,d4] ~ [a3,d4]@2 f#4 ~ [a3,b3,e4]@3 ~ [a3,b3,e4] ~ [a3,b3,e4]@4 a3 ~ [a3,b3,e4] ~@3 [a3,b3,e4]@3 ~ [a3,b3,e4] ~ [a3,b3]@3 ~ [a3,b3] ~ [a3,b3,e4]@2 ~@10, ~@15 e4@2 ~@7]/3", // D5 Asus2
G: "[~@8 [g#3,e4]@2 ~@4 [c#4,e4]@4 g#3@2 [g#3,c#4,e4] f#2 g#3 f#2 b2@3 [a3,c#4,e4]@2 ~ a3@4 a3@3 a2 ~ a2 b2@3 ~@3 f#4@6 f#4 b2 ~ b2 [a3,d4,e4]@3 [a3,d4,e4]@3 [a3,d4,e4]@5 ~ [a3,d4,e4] a2 [a3,d4,e4] a2 [g#3,c#4,e4]@2 ~ [g#3,c#4,e4]@3 g#3@5 ~ g#3 ~@2 c#4 [f#2,a3,c#4]@2 ~@2 f#2@2 [f#2,a3,c#4,e4]@7 ~@2 a3 [a3,d4,f#4]@2 ~@4 [a3,d4,f#4]@7 ~ [a3,d4,f#4] ~ [g#3,b3]@3 ~ [a3,d4] ~ [a3,b3,e4]@2, ~@11 [g#3,c#4,e4]@2 ~ g#3@3 ~@5 [c#4,e4]@3 ~@5 [c#4,e4]@8 [a3,c#4,e4]@2 ~@3 [a3,d4,f#4]@2 ~ [a3,d4]@8 [a3,d4,f#4]@2 ~@22 [c#4,e4]@8 e4@5 ~@11 f#2@2 ~@3 [a3,d4,f#4]@2 ~@19, ~@12 f#2@9 ~@8 a2@8 ~@7 b2@9 ~@33 g#3@2 ~@3 [a3,c#4,e4]@3 ~@7 [a3,e4]@2 b2@5 b2@8 ~ b2@3 e2@8]/8", // C#m A Asus4 C#m F#m F#m7 D G#m …
H: "[~@2 [a3,b3,e4] e2 ~@2 a3 ~ [b3,g4]@2 ~@4 [e4,g4]@4 b3@2 [b3,e4,g4] a2 ~ a2 d3@3 [c4,e4,g4]@2 ~ c4@4 c4@3 c3 ~ c3 d3@3 ~@3 a4@6 a4 d3 ~ d3 [c4,f4,g4]@3 [c4,f4,g4]@3 [c4,f4,g4]@5 ~ [c4,f4,g4] c3 [c4,f4,g4] c3 [b3,e4,g4]@2 ~ [b3,e4,g4]@2 ~ b3@5 ~ b3 ~@2 e4 [a2,c4,e4]@2 ~@2 a2@2 [a2,c4,e4,g4]@6 ~@2 a2 c4 ~@2 [a3,c4,f4] ~ [a3,c4] ~ [a3,c4,f4]@5 a3 [a3,c4,f4]@2 a3 ~ g3 ~ g3@2 ~@2 g3@2, ~@4 [a3,b3,e4]@3 ~@4 [b3,e4,g4]@2 ~ b3@3 ~@5 [b3,e4,g4]@2 ~@6 [e4,g4]@8 [c4,e4,g4]@2 ~@3 [c4,f4,a4]@2 ~ [c4,f4]@8 [c4,f4,a4]@2 ~@22 [e4,g4]@8 g4@5 ~@29 d4@4 [b3,d4]@4, ~@5 e2@2 ~@5 a2@9 ~@8 c3@8 ~@7 d3@9 ~@33 b3@2 ~@3 [c4,e4,g4]@2 ~@8 [c4,g4]@2 d3@5 ~@20]/8", // Asus2 Em C Csus4 Em Am Am7 F …
I: "[[g3,b3,d4] ~ [f3,b3,d4]@2 [e3,b3,d4]@3 ~ [d4,a#4]@2 ~@4 [g4,a#4]@4 d4@2 [d4,g4,a#4] c3 d4 c3 f3@3 [d#4,g4,a#4]@2 ~ d#4@4 d#4@3 d#3 ~ d#3 f3@3 ~@3 c5@6 c5 f3 ~ f3 [d#4,g#4,a#4]@3 [d#4,g#4,a#4]@3 [d#4,g#4,a#4]@5 ~ [d#4,g#4,a#4] d#3 [d#4,g#4,a#4] d#3 [d4,g4,a#4]@2 ~ [d4,g4,a#4]@2 ~ d4@5 ~ d4 ~@2 g4 [c3,d#4,g4]@2 ~@2 c3 ~ [c3,d#4,g4,a#4]@6 ~@2 c3 d#4 ~@2 [c4,d#4,g#4] ~ [c4,d#4] ~ [c4,d#4,g#4]@5 c4 [c4,d#4,g#4]@2 c4 ~ a#3 ~ a#3@2 ~@2 a#3@2, ~@11 [d4,g4,a#4]@2 ~ d4@3 ~@5 [g4,a#4]@3 ~@5 [g4,a#4]@8 [d#4,g4,a#4]@2 ~@3 [d#4,g#4,c5]@2 ~ [d#4,g#4]@8 [d#4,g#4,c5]@2 ~@22 [g4,a#4]@8 a#4@5 ~@29 f4@4 [d4,f4]@4, ~@12 c3@9 ~@8 d#3@8 ~@7 f3@9 ~@33 d4@2 ~@3 [d#4,g4,a#4]@2 ~@8 [d#4,a#4]@2 f3@5 ~@20]/8", // G Bdim E7 Gm D# D#sus4 Gm Cm …
J: "[[a#3,d4,f4] ~ [g#3,d4,f4]@2 [g3,d4,f4]@3 ~ [d4,a#4]@2 ~@4 [g4,a#4]@4 d4@2 [d4,g4,a#4] c3 ~ c3 f3@3 [d#4,g4,a#4]@2 ~ d#4@4 d#4@3 d#3 ~ d#3 f3@3 ~@3 c5@6 c5 f3 ~ f3 [d#4,g#4,a#4]@3 [d#4,g#4,a#4]@3 [d#4,g#4,a#4]@5 ~ [d#4,g#4,a#4] d#3 [d#4,g#4,a#4] d#3 [d4,g4,a#4]@2 ~ [d4,g4,a#4]@2 ~ d4@6 d4 ~@2 g4 [c3,d#4,g4]@2 ~@2 c3@2 [c3,d#4,g4,a#4]@6 ~@2 c3 d#4 ~@2 [c4,d#4,g#4] ~ [c4,d#4] ~ [c4,d#4,g#4]@5 c4 [c4,d#4,g#4]@2 c4 ~ a#3 ~ a#3@2 ~@2 a#3@2, ~@11 [d4,g4,a#4]@2 ~ d4@3 ~@5 [d4,g4,a#4]@3 ~@5 [g4,a#4]@8 [d#4,g4,a#4]@2 ~@3 [d#4,g#4,c5]@2 ~ [d#4,g#4]@8 [d#4,g#4,c5]@2 ~@22 [g4,a#4]@8 a#4@5 ~@29 f4@4 [d4,f4]@4, ~@12 c3@9 ~@8 d#3@8 ~@7 f3@9 ~@33 d4@2 ~@3 [d#4,g4,a#4]@2 ~@8 [d#4,a#4]@2 f3@5 ~@20]/8", // A# Ddim G7 Gm D# D#sus4 Gm Cm …
K: "[a#3,d4,f4]@2 [g#3,d4,f4]@2 ~ [d4,f4]@3 ~@8, ~@4 g3@3 ~@9", // A# Ddim Dm
})).s("gm_acoustic_guitar_steel").gain(0.19).pan(0.4)
// other · electric guitar jazz
const electric_guitar_jazz = note("<~@11 A B C@2 ~@2 D@3 ~ A B C@2 ~@2 D@3 ~@27 E F G@2 H I@2 J K ~@36>".pickRestart({
A: "~@12 f#3 e3 c#3 b2", B: "a2@3 ~@5", C: "[~@12 b3 a3 f#3 e3@6 ~@11]/2",
D: "[~@10 a3 g3 e3 d3 c3@7 ~@7 c3@9 ~@11]/3", E: "~@13 b4@2 d5", F: "~ b4@2 e4@3 ~@10",
G: "[~@10 b3 ~ d4 ~ e4@6 ~@9 b4@2 d5]/2", H: "~ b4@6 ~@9", I: "[~@12 g4@2 b4@6 ~@6 [e4,g4] ~ [e4,g4] ~ [e4,g4] ~]/2",
J: "[e4,g4] ~@3 g4 ~@3 [e4,a4] ~@3 e4 ~ [e4,a4] ~", K: "e4 ~ e4 ~ [e4,a4] ~@11",
})).s("gm_electric_guitar_jazz").gain(0.23).pan(0.4)
// other · electric guitar jazz · soft notes · Em A5
const electric_guitar_jazz_2 = note("<~@64 [~@2 [e4,g4] ~ e4 ~@5 [e4,a4] ~ a4 ~@3] [a4 ~ a4 ~@13] ~@36>")
.s("gm_electric_guitar_jazz").gain(0.15).pan(0.4)
// drums · kick
const kick = s("bd").struct(`<
~@7 A B C D ~@10 E F@6 G H I F J@7 K G@6 I L G@6 B E@3 F@7 H I F J@7 K G@6 I L G@6 I L G@6 I M ~@2
>`.pickRestart({
A: "~@3 x!2 ~@2 x", B: "x ~@3 x ~@2 x", C: "x ~@4 x!2 ~", D: "~ x!2 ~@5", E: "~ x", F: "x!2", G: "x ~@7 x ~@6 x",
H: "x", I: "x ~@2 x ~@4", J: "x ~@6 x!2 ~@7", K: "x ~@6 x!2 ~@6 x", L: "~@8 x ~@6 x", M: "~@9 x ~@6",
})).gain(0.69)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<~@21 [~@15 x]!7 ~@29 [~@15 x]!8 ~@37>").gain(0.38)
// drums · rim
const rim = s("rim").struct("<~@7 A B C ~@11 A D@7 E ~@27 A D@7 E ~@36>".pickRestart({
A: "~@3 x", B: "~@3 x ~@8 x ~@3", C: "~@3 x ~@12", D: "~ x ~ x", E: "~ x ~@2",
})).gain(0.61)
// drums · snare
const snare = s("sd").struct(`<
~@10 A ~@18 B C D E@6 F G@7 H I G@7 J ~@9 B K D E@6 F G@7 L I G@6 L I G@6 L ~@3
>`.pickRestart({
// … 59 more lines
More by Mina
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.