0:00/0:00
// Journey to Fort Sedgewick — Barry John
// 80 bpm, 4/4, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 72 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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.
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
~@4 A@3 ~ B@2 A@3 ~@7 C@8 D@2 ~@2 E F ~@2 G@5 ~ H I@5 ~ J@3 ~ K L@2 ~ M@2 N ~ O P Q ~@8
>`.pickRestart({
A: "[~ db5@96 ~@47]/3", B: "[~ eb5@47]/2",
C: "[~@10 g4@7 c5@5 g4@6 f4@6 e4@6 c4@6 g3@5 ~@8 e4@2 f4@3 e4@6 ~ a4@6 g4@6 e4@6 c4@6 g3@4 ~@8 g4@6 c5@6 g4@6 f4@6 e4@6 c4@6 g3@4 ~@8 e4@2 ~ f4@3 e4@6 a4@6 g4@6 e4@6 c4@6 g3@4 ~@9 c5@6 f5@5 c5@6 bb4@5 ~ a4@5 ~ f4@6 c4@6 ~@6 a4@3 bb4@3 a4@6 d5@5 c5@6 a4@6 f4@6 c4@4 ~@8 c5@6 f5@6 c5@6 bb4@6 a4@6 f4@6 c4@5 ~@7 a4@3 bb4@3 a4@6 d5@5 ~ c5@6 a4@6 f4@6 c4@2]/8",
D: "[~@10 g5@7 c6@6 g5@5 f5@6 e5@7 c5@5 g4@8 ~@5 e5@2 ~ f5@2 ~ g5@2 c5@2 ~ d5 ~@2 e5@2 ~ a5@4 b5@2 c6@11 ~@3]/2",
E: "~@13 g5@6 c6@5 ~ g5@6 f5@5 e5@6 c5@6",
F: "g4@5 ~@7 e5@2 ~ f5@2 ~ g5@2 ~ c5@2 ~ d5 ~ e5@2 ~ a5@2 ~ b5@2 ~@2 c6@12",
G: "[~@16 g5@6 ~ c6@5 g5@6 f5@5 ~ e5@6 c5@6 g4@5 ~@7 g5@6 c6@6 g5@6 f5@6 e5@6 c5@6 g4@102 ~@38]/5",
H: "~@25 c4@11 g4@12",
I: "[~ d5@12 b4@6 c5@6 a4@12 ~@24 b5@6 ~ c6@6 a5@12 g5@24 ~@6 g5@7 c6@6 g5@6 f5@6 e5@6 c5@6 g4@5 ~@7 e5@3 f5@2 ~ g5@2 ~ c5@2 ~ d5@2 ~ e5 ~@2 a5@3 b5@3 c6@18 ~@33, ~@37 g4@73 ~@130]/5",
J: "[~@23 g5@6 c6@6 g5@6 f5@6 e5@5 ~ c5@6 g4@6 ~@6 e5@3 f5@3 g5@2 ~ c5@2 ~ d5@2 ~ e5 ~@2 a5@2 ~ b5@3 c6@18 ~@31]/3",
K: "~@25 c6@6 f6@6 c6@6 bb5@5",
L: "[~ a5@6 f5@6 c5@8 ~@4 a5@3 bb5@3 ~ c6@2 ~ f5@2 ~ g5@2 a5@3 ~ d6@2 ~ e6@3 f6@15 ~@31]/2",
M: "[~@27 c6@6 f6@6 c6@7 bb5@5 a5@6 f5@6 ~ c5@7 ~@5 a5@2 ~ bb5@3 c6@2 ~ f5@2 ~ g5@2 ~ a5@2 ~ d6@2]/2",
N: "~ e6@3 f6@17 ~@27", O: "~@30 e4@3 f4@2 ~ g4@2 ~ c4@2 ~ d4@2 ~ e4 ~@2",
P: "a4@2 b4@2 ~@2 c5@17 ~@7 e5@2 ~ f5@2 ~ g5@2 ~ c5@2 ~ d5@2 ~ e5 ~@2", Q: "a5@3 b5@3 c6@20 ~@22",
})).s("gm_string_ensemble_1").gain(0.19).pan(0.4)
// other · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<A@4 B@8 C@5 ~@4 D ~@40 E ~@9>".pickRestart({
A: "[gb5@97 [ab4,b4]@91 ~@4, eb5, bb4@91 ~@101]/4", // Abm
B: "[~ a4@91 ~@6 [b4,eb5]@91 ~@5 bb4@91 ~@4 a4@95, ~ gb5@186 ~@7 gb5@190, ~@49 bb5@48 ~@95]/8", // B
C: "[~@5 a4@90 ~@6 [bb4,eb5,bb5]@96 ~@43, ~ gb5@48 ~@11, ~ db5@24 ~@35]/5", D: "~@35 f4 ~@12", E: "~@39 d5 ~@8",
})).s("gm_string_ensemble_1").gain(0.1).pan(0.4)
// chords · piano · "A.PIANO 1"
const piano = note("<A@2 B@3 C D ~ E@2 F@3 G ~@2 H I J@8 K@5 L@4 M N@8 ~ O@8 P@4 Q@5 R S@2 ~@7>".pickRestart({
A: "[~@7 eb4, b2]/2", B: "[~@13 eb4@24 eb4@23 ~@24 eb4@13 ~@47, ~ b3@96 ~@47]/3", C: "eb3@25 eb3@23",
D: "~@14 eb4@25 ~@9", E: "[~@85 eb4@11, ~@26 eb3@24 eb3@23 eb3@23, ~@38 eb4@23 eb4@24 ~@11]/2",
F: "[~@14 eb4@25 eb4@24 ~@81, ~ a3@48 ~@23]/3", G: "~@16 eb4@25 ~@7", H: "~@5 eb3@6 ~@6 eb3@16 ~@7 eb3@5 ~@3",
I: "~@4 eb3@5 ~@7 eb3@14 ~@10 eb3@2 ~@6",
J: "[~@23 e3@6 ~@5 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 e3@6 ~@6 g2@6 ~@18 e3@6 ~@7 b2@6 [c2,g2]@12 ~@18 e3@6 ~@6 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 b2@6 [c2,g2]@11 ~@19 a3@6 ~@6 a3@6 ~@6 c3@6 ~@18 a3@5 ~@6 e3@6 ~ [f2,c3]@7, ~@5 c2@23 ~@24 c2@24 ~@24 c2@24 ~@24 c2@24 ~@25 c2@24 ~@24 c2@24 ~@31 c3@17 bb3@11 ~ f3@12 ~@6 c3@17 [d3,a3]@12 ~@8, ~@11 g2@17 ~ f3@11 c3@12 ~@6 g2@18 f3@11 ~ c3@12 ~@6 g2@17 ~ f3@12 c3@12 ~@6 g2@18 ~ [a2,e3]@12 ~@18 g2@18 f3@12 c3@11 ~@7 g2@17 ~ [a2,e3]@12 ~@12 f2@23 ~@25 f2@23 ~@20]/8", // C5 F5 D5 A5
K: "[~@23 a3@5 ~@6 a3@6 ~@6 c3@6 ~@18 a3@6 ~@6 e3@6 ~ [f2,c3]@11 ~@19 e3@5 ~@7 e3@6 ~@5 g2@6 ~@18 e3@6 ~@7 b2@6 [c2,g2]@12 ~@3 f3 ~ f3!2 ~@6 f3 ~@2 f3@2 ~@8 f3 ~@4 f3 ~@2 f3 ~@2 f3!3 ~ f3!2, ~@4 f2@24 ~@24 f2@24 ~@24 c2@24 ~@25 c2@23 ~@26 f3@2 ~@6 f3@2 f3@2 ~ f3@2 ~@4 f3@2 f3@2 f3@2 ~ f3@2 f3@2 ~@12, ~@10 c3@18 bb3@12 f3@12 ~@7 c3@17 [d3,a3]@12 ~@19 g2@17 ~ f3@12 c3@12 ~@6 g2@17 a2@12 ~@13 bb2@4 bb2@3 bb2@3 bb2@3 bb2@4 ~ [bb2,f3]@3 bb2@3 ~ bb2@3 bb2@3 ~ [bb2,f3]@3 [bb2,f3]@2 bb2@3 bb2@3, ~@199 bb3@3 bb3@3 bb3@3 ~ bb3@3 bb3@4 bb3@4 bb3@3 bb3@3 ~ bb3@3 bb3@3 bb3@3 bb3@2 bb3@2]/5", // F5 C5 D5 Bb5
L: "[~@4 bb2 f3 [f3,bb3] bb2 ~@2 f3 ~@4 f3 ~@18 f3 ~@4 f3!2 ~ f3 ~@4 f3 ~@5 bb2@2 ~@18 e3@6 ~@6 e3@6 ~@5 g2@6 ~@18 e3@6 ~@6 b2@6 [c2,g2]@11 ~@5 f3 ~@2 f3 ~@6 f3 ~@14 f3 ~@6 f3!3 ~ f3!2, bb2@4 ~@7 [bb2,f3]@3 bb2@3 bb2@4 bb2@4 bb2@4 bb2@4 bb2@3 bb2@3 bb2@3 bb2@4 bb2@3 bb2@4 ~@2 c2@23 ~@24 c2@23 ~@28 bb3@3 bb3@3 bb3@4 bb3@3 bb3@4 bb3@4 bb3@4 bb3@3 bb3@4 bb3@3 bb3@2 bb3@2, ~ f3@2 f3@2 ~@3 f3@2 ~@3 f3@2 ~ f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~ f3@2 f3@2 ~@4 f3@2 f3@2 ~ f3@2 f3@2 f3@3 ~@6 g2@17 ~@13 c3@11 ~@6 g2@17 ~ a2@12 ~@13 bb2@3 bb2@3 ~ bb2@3 bb2@3 bb2@4 bb2@4 bb2@3 ~ bb2@4 [bb2,f3]@3 bb2@3 bb2@3 bb2@3, ~@2 bb3@4 ~@3 bb3@3 bb3@3 bb3@4 bb3@4 bb3@4 bb3@4 bb3@3 bb3@3 ~ bb3@3 bb3@3 bb3@3 bb3@4 bb3@4 ~@24 f3@12 ~@61 f3@2 ~ f3@2 ~@3 f3@2 f3@2 ~ f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~@3 f3@2 f3@2 ~@6]/4", // Bb5 C5 Bb5
M: "~ f3 ~@5 bb2 f3 bb3 f3 bb2 ~ f3 ~@22 f3 ~@4 f3!3 ~ f3 ~ bb3, bb2@2 f3@2 f3@2 f3@2 ~@3 f3@2 ~@3 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~ f3@2 f3@2 ~@7, ~ bb3@2 bb2@4 ~@7 [bb2,f3]@3 bb2@4 bb2@4 bb2@4 bb2@4 bb2@3 bb2@3 ~ bb2@3 bb2@3 [bb2,f3]@2, ~@5 bb3@4 ~@3 bb3@3 bb3@4 bb3@4 bb3@4 bb3@4 bb3@4 bb3@3 bb3@3 bb3@3 bb3@3 ~", // Bb5
N: "[~@2 f3 ~@5 bb2@2 ~@18 e3@6 ~@6 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 e3@6 c3@6 g2@3 ~@2 e3@96 ~@39 d4@12 ~@12 a3@12 g3@72 ~@36, f3@2 bb3@4 bb3@4 ~@24 f3@11 ~ c3@12 ~@24 f3@12 ~@122 c3@36 ~@6 c4@18 ~@108, ~ bb2@2 f3@2 f3@2 f3@3 ~@6 g2@18 ~@30 g2@18 ~@22 g2@96 ~@28 g3@24 b3@24 ~@108, ~@4 bb2@4 ~@2 c2@24 ~@24 c2@24 ~@21 c2@96 ~@185]/8",
O: "[~@32 e3@6 ~@7 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 b2@6 [c2,g2]@12 ~@4 f3 ~@2 f3 ~@4 f3!2 ~@11 f3 ~@4 f3 ~@4 f3!3 ~@2 f3!2 ~@5 bb2 [f3,bb3] f3 bb2 [f3,bb3]@2 f3 ~@4 f3 ~@15 f3 ~@4 f3 ~@2 f3!2 ~ f3 ~@2 f3 ~@7 bb2@2 ~@18 e3@6 ~@6 e3@6 ~@6 g2@6 ~@18 e3@6 ~@6 b2@6 ~ [c2,g2]@12 ~@3 f3 ~@2 f3 ~@6 f3 ~@2 f3@2 ~@8 f3 ~@4 f3 ~@2 f3!3 ~@2 f3!2 ~ f3 ~@3 bb2 f3 [f3,bb3] bb2 ~@2 f3 ~@22 f3 ~ bb3, ~@14 c2@24 ~@25 c2@24 ~@26 f3@2 bb2@2 bb3@3 bb3@2 bb2@3 bb2@4 bb2@4 bb2@3 ~ [bb2,f3]@3 bb2@3 bb2@3 bb2@3 [bb2,f3]@2 bb2@3 bb2@4 ~@6 bb2@3 ~ bb2@3 bb2@4 bb2@4 bb2@4 ~ bb2@3 bb2@3 ~ [bb2,f3]@2 bb2@3 bb2@3 ~ [bb2,f3]@3 bb2@4 ~@2 c2@24 ~@24 c2@24 ~@27 bb3@3 bb3@3 bb3@4 bb3@3 bb3@4 bb3@4 bb3@3 bb3@3 ~ bb3@3 bb3@3 bb3@2 bb3@3 bb3@3 bb3@4 ~@3 bb3@3 bb3@4 bb3@4 bb3@4 bb3@4 bb3@4 bb3@3 ~, ~@21 g2@18 f3@12 c3@12 ~@6 g2@18 a2@12 ~@13 bb2@2 bb3@2 f3@2 ~ bb2@2 f3@2 bb3@3 f3@2 f3@2 f3@2 f3@2 f3@2 ~@3 f3@2 ~ f3@2 f3@2 ~@7 [f3,bb3]@3 bb3@3 ~@7 bb3@3 bb3@4 bb3@4 bb3@4 bb3@4 bb3@3 ~ bb3@3 bb3@3 bb3@3 bb3@3 bb3@4 bb3@4 ~@24 f3@12 c3@12 ~@50 f3@2 ~@6 f3@2 f3@2 ~ f3@2 ~@4 f3@2 f3@2 f3@2 ~ f3@2 f3@2 ~@14 f3@2 ~@3 f3@2 ~@3 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~ f3@2, ~@127 bb3@4 bb3@4 bb3@3 bb3@3 bb3@3 ~ bb3@2 bb3@3 bb3@3 ~@2 f3@2 f3@2 ~@6 f3@2 f3@2 ~ f3@2 f3@2 f3@2 f3@2 f3@2 f3@2 ~ f3@2 ~ f3@2 f3@2 ~@7 f3@2 ~@3 f3@2 f3@2 f3@3 ~@6 g2@18 ~@30 g2@18 a2@12 ~@13 bb2@4 [bb2,f3]@3 bb2@3 bb2@3 bb2@4 ~ [bb2,f3]@3 bb2@3 ~ bb2@3 bb2@3 ~ [bb2,f3]@2 bb2@3 [bb2,f3]@3 bb2@3 [bb2,f3]@3 ~@7 [bb2,f3]@3 bb2@4 bb2@4 bb2@4 bb2@4 bb2@3 bb2@3]/8", // C5 Bb5 C5 Bb5
P: "[f3 ~@2 f3!2 ~ f3 ~@4 f3 ~@5 bb2@2 ~@18 a3@6 ~@6 a3@6 ~@6 c3@6 ~@19 a3@6 ~@6 e3@6 [f2,c3]@12 ~@5 bb2 ~@7 bb2 ~@3 bb2 ~@5 bb2 ~@4 bb2 ~@4 bb2!2 ~@2 bb2!3 ~ bb2!2 ~@2 bb2@2 [eb2,bb2] eb3 bb2 eb2 ~@3 bb2 ~@20 bb2, ~ [bb2,f3]@3 bb2@3 [bb2,f3]@2 f3@2 bb3@4 bb3@4 ~@24 bb3@12 f3@12 ~@51 eb3@3 eb3@3 eb3@4 eb3@3 eb3@4 eb3@4 eb3@3 ~ eb3@3 eb3@3 eb3@3 eb3@2 eb3@3 eb3@3 eb3@4 ~@3 eb3@3 eb3@4 eb3@4 eb3@4 eb3@4 eb3@4 eb3@2, ~@2 bb3@3 bb3@3 bb3@2 bb2@2 f3@2 f3@2 f3@3 ~@6 c3@18 ~@31 c3@18 d3@12 ~@13 bb2@2 bb2@2 ~ bb2@2 ~ bb2@2 bb2@2 ~ bb2@2 ~@2 bb2@2 ~ bb2@2 ~ bb2@2 bb2@2 ~@3 bb2@2 ~@10 bb2@2 ~@5 bb2@2 bb2@2 ~ bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 ~, ~@13 bb2@4 ~@2 f2@24 ~@24 f2@24 ~@25 eb2@4 eb2@3 eb2@3 eb2@3 eb2@4 ~ eb2@4 eb2@3 eb2@4 [eb2,bb2]@3 eb2@3 [eb2,bb2]@2 eb2@3 eb2@3 eb2@4 ~@6 eb2@3 eb2@4 eb2@4 eb2@4 eb2@4 eb2@4]/4", // F5 Eb5 Bb5 Eb5
Q: "[~@4 bb2!2 ~ bb2!2 ~@4 bb2 ~@5 eb2@2 ~@18 a3@6 ~@6 a3@6 ~@7 c3@6 ~@18 g3@6 ~@6 e3@6 [f2,c3]@12 ~ bb2@2 ~@2 bb2 ~ eb2@2 ~ bb2 ~@2 bb2 ~@11 bb2 ~@2 bb2 ~@4 bb2!2 ~@2 bb2!3 ~ bb2 ~@2 bb2@2 bb2 [eb2,bb2] eb3 bb2 eb2 ~@3 bb2 ~@22 bb2 ~@2 bb2!2 ~ bb2!2 ~ bb2 ~@4 bb2 ~@2 bb2@2 ~@19 e3@6 ~, [eb2,bb2]@2 bb2@2 eb3@3 eb3@3 eb3@2 eb2@2 bb2@2 bb2@2 bb2@3 ~@6 c3@18 ~@13 f3@12 ~@6 c3@18 d3@12 ~@15 [bb2,eb3]@3 [bb2,eb3]@3 eb3@3 eb3@3 eb3@4 ~ eb3@4 eb3@3 eb3@3 eb3@3 ~ eb3@2 eb3@3 eb3@2 eb3@3 eb3@4 ~@3 eb3@3 eb3@4 eb3@4 eb3@4 eb3@4 eb3@4 eb3@3 eb3@3 ~ eb3@3 eb3@2 eb3@3 ~ eb3@3 eb3@4 ~@25, ~ eb3@2 eb2@3 eb2@3 [eb2,bb2]@2 bb2@2 eb3@4 eb3@4 ~@24 bb3@12 ~@72 bb2@2 ~ bb2@2 ~ bb2@2 bb2@2 bb2@2 bb2@2 ~ bb2@2 ~@3 bb2@2 ~@9 bb2@2 ~@6 bb2@2 bb2@2 ~ bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 bb2@2 ~ bb2@2 ~@7 bb2@2 bb2@2 ~ bb2@2 ~@3 c2@24 ~, ~@15 eb2@4 ~@2 f2@24 ~@25 f2@24 ~@24 eb2@4 eb2@3 ~@3 eb2@3 ~ eb2@4 eb2@4 eb2@3 eb2@4 [eb2,bb2]@3 eb2@3 [eb2,bb2]@2 eb2@3 eb2@3 eb2@4 ~@6 eb2@3 eb2@4 eb2@4 eb2@4 eb2@4 eb2@4 eb2@3 eb2@3 eb2@3 eb2@3 eb2@3 eb2@4 ~ eb2@2 ~@6 g2@18]/5", // F5 Eb5
R: "~ b2 [c2,g2]@2 ~@3 e3, a2 ~ c2@2, ~@5 g2@3", S: "[~@6 b2@5 ~ [c2,g2]@11 ~@2 g2@49 ~@22, a2@11 ~@13 c2@49 ~@23]/2",
})).s("gm_piano").gain(0.25)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft = note("<A@4 B@4 C ~ D@7 ~@13 E ~@3 F ~@12 G ~@3 H ~@3 I ~@3 J ~@12>".pickRestart({
A: "[~@72 eb3@25 ~@24 eb3@24 ~@23 eb3@24, ~@13 f4@84 ~@60 eb4@23 ~@12, ~@25 eb3@24 eb3@23 ~@25 bb2@95, ~@37 eb4@24 eb4@23 ~@61 eb3@23 ~@24]/4",
B: "[~@36 eb4@25 eb4@25 eb4@12 ~ eb3@24 ~@59 eb4@10, ~ [a3,db4]@48 ~@47, ~@2 eb3@23 eb3@23 ~@75 eb3@24 eb3@23 ~ eb3@21, ~@13 eb4@23 ~@99 eb4@24 eb4@23 ~@10]/4", // A
C: "~@15 eb4@23 ~@10, ~ eb3@12 ~@11",
D: "[~@2 eb3@25 eb3@25 ~@36 eb4@13 ~@48 eb3@24 ~@12 eb4@12 ~@85 eb4@11 ~@43, ~@2 [gb3,db4]@96 ~@3 [a3,db4]@96 ~@139, ~@52 eb3@24 eb3@25 eb3@23 ~ eb3@24 ~@24 eb3@24 ~ eb3@24 eb3@23 ~ eb3@24 eb3@22 ~@44, ~@64 eb4@24 ~@25 eb4@23 ~ eb4@23 ~@50 eb4@24 eb4@24 eb4@23 ~@55]/7", // Gb5 A
E: "~@13 f3 ~@34", F: "~@7 f3 ~@16", G: "~@23 f3@2 ~@23", H: "~@25 f3@2 ~@21", I: "~@28 bb2 ~@19", J: "~@15 bb2 ~@8",
})).s("gm_piano").gain(0.15)
// chords · piano · "A.PIANO 1"
const piano_2 = note("<A B C@2 D E F@3 G H@5 I@3 J K L@4 M@3 N@6 O@8 ~ P@4 Q@4 R@4 S@8 T U@8 ~>".pickRestart({
A: "~@37 gb5@11, ~@13 gb5@24 ~@11, ~@25 bb4@23", B: "~@3 f5, ~ gb5@47",
C: "[~ ab5@2, ~ f5@95, ~@19 b4@77, ~@25 gb5@71]/2", D: "~@3 e5, ~ gb5@46 ~, ~@24 ab4@23 ~", E: "~@37 ab5@11, e5",
F: "[~@27 eb5@71 ~@36 gb4@10, ~@2 bb5@95 ~@25 bb3@22]/3", G: "~@37 f4@11, ~ gb4@23",
H: "[~@33 ab4@67 ~@37 e4@11 ~@37 ab4@12 bb4@43, ~ f4@48 ~@25 e4@24 ~@22, ~@20 b3@80 ~@25 ab3@23 ~@92, ~@27 gb4@73 ~@140]/5",
I: "[~@5 bb5@96 ~@43]/3", J: "~@5 [e3,g3,c4]@23 ~ [a3,c4]@11 [e3,g3,c4]@8",
K: "~@4 [e3,g3,c4]@24 ~ a3@11 [e3,g3,c4]@8, ~@28 c4@11 ~@9", // C
L: "[~@22 g4@6 ~@6 e4@5 ~@7 g3@5 ~@19 a4@6 ~@7 e4@6 ~@6 g3@5 ~@19 g4@6 ~@6 e4@6 ~@6 g3@5 ~@19 a4@6 ~@6 e4@6 c4@6 g3, ~@10 e4@17 ~@31 c4@18 ~ [a3,c4,g4]@12 ~@18 [c4,e4]@18 [a3,c4,f4]@12 ~@18 c4@18 [a3,c4,g4]@12 ~@7, ~@10 g4@12 ~@36 e4@6 e4@12 ~@38 c5@11 ~@33 f4@15 ~@19, ~@11 c4@17 [a3,c4,f4]@11 ~ [e3,c4]@11 ~@38 [e3,c4]@11 ~@37 [e3,c4]@11 ~@44, ~@17 c5@11 ~@33 f4@15 ~@31 g4@12 ~@36 e4@6 e4@12 ~@19]/4", // Am7 C F Am7 F C
M: "[~@23 c5@6 ~@6 a4@6 ~@6 c4@5 ~@19 d5@5 ~@7 a4@6 ~@5 c4@5 ~@20 c5@5 ~@6 a4@6 [a3,f4]@6 c4@2, ~@12 [f4,a4]@17 [d4,f4,bb4]@12 [a3,f4]@11 ~@10 bb4@14 ~@30 c5@12 ~@26, ~@12 c5@11 ~@36 f4@17 [d4,f4,c5]@12 ~ [a3,f4]@11 ~@13 f5@12 ~@19, ~@18 f5@11 ~@30 a4@6 a4@12 ~@29 [f4,a4]@18 [d4,f4,bb4]@12 ~@8]/3", // Dm F Bb Dm Dm7 Dm F Bb
N: "[~@22 d5@6 ~@6 a4@6 ~@6 c4@5 ~@20 g5@6 ~@6 e5@6 ~@5 g4@6 ~@10 f5@3 ~@5 d5@3 e5 ~@9 c6@18 ~@18 bb4@6 ~@19 f4@5 ~@19 bb4@6 ~@19 f4@5 ~@19 g5@6 ~@6 e5@5 ~ c5@5, ~@11 f4@17 [d4,f4,c5]@12 ~ [a3,f4]@11 ~@13 c6@11 ~@52 b5@21 ~@24 a4@6 g4@18 ~@7 f4@6 f4@28 a4@9 ~@6 g5@12 ~@23, ~@11 a4@5 a4@12 ~@31 g5@12 ~@36 e5@6 g5@5 ~@40 d4@39 ~@10 d4@39 ~@36 e4@6, ~@14 bb4@14 ~@31 [c5,e5]@18 [a4,c5,f5]@12 [e4,c5]@12 ~@15 c5@4 ~@4 [c5,e5,a5]@24 ~@7 f4@6 f4@28 a4@9 ~@24 a4@6 g4@18 ~@13 c6@11 ~@18, ~@176 bb4@21 ~@28 bb4@21 ~@7 [c5,e5]@17 ~ [a4,c5,f5]@12 ~@5]/6", // Dm7 Dm C F C Am C F
O: "[g4@5 ~@10 f5@3 g5@3 c5@3 d5@3 e5 ~@8 c6@18 ~@19 bb4@6 ~@20 f4@6 ~@19 bb4@6 ~@18 f4@6 ~@18 g5@6 ~@6 e5@6 ~@6 g4@6 ~@18 g5@6 ~@6 e5@6 ~@13 d4@96 ~@37, ~@12 e5@6 ~@12 [c5,e5,a5]@24 ~@7 f4@6 f4@28 a4@9 ~@26 a4@6 g4@18 ~@13 c6@11 ~@36 c6@12 ~@158, ~@33 b5@21 ~@10 d4@41 ~@10 d4@39 ~@36 [e4,c5]@12 ~@36 [e4,c5]@11 c4@96 ~@39, ~@79 a4@6 g4@19 ~@8 f4@6 f4@27 a4@9 ~@6 g5@12 ~@36 g5@12 ~@164, ~@82 bb4@23 ~@28 bb4@21 ~@6 [c5,e5]@18 [a4,c5,f5]@11 ~@37 [a4,c5,f5]@12 ~@6 g4@99 ~@41]/8", // Am C F
P: "[~@49 d5@12 ~@6 c5@6 a4@12 ~@37 a5@35 ~@19 g5@6 ~ [a4,c5,f5]@6 e5@3, ~@25 c4@36 ~@49 b5@47 ~@8 g5@11 ~@16, ~@37 g4@24 b4@12 ~@13 g4@72 ~@7 [c5,e5]@18 ~@9, ~@116 c6@41 ~@14 c6@12 ~@9]/4", // F C
Q: "[~@24 f5@3 ~@6 d5@3 e5 ~@8 c6@18 ~@19 bb4@6 ~@18 f4@5 ~@19 bb4@6 ~@19 f4@6 ~@18 g5@5 ~ [a4,c5,f5]@6 e5, ~@3 [e4,c5]@11 ~@7 e5@6 g5@5 ~@10 b5@9 ~@22 d4@39 ~@9 d4@39 ~@32, ~@9 g4@18 ~@3 c5@5 ~@4 [c5,e5,a5]@12 ~@19 f4@6 f4@27 a4@8 ~@25 a4@6 g4@18 ~@13 c6@11 ~@8, ~@88 a4@6 g4@18 ~@6 f4@6 f4@28 a4@9 ~@6 g5@12 ~@13, ~@91 bb4@21 ~@28 bb4@21 ~@6 [c5,e5]@17 ~@8]/4", // F C Am C
R: "[~@11 g4@6 ~@9 f5@3 g5@3 c5@3 d5@3 e5 ~@6 b5@2 c6@18 ~@19 bb4@6 ~@18 f4@5 ~@19 bb4@7 ~@18 f4@6 ~@18 c6@6 [d5,f5,bb5]@5, ~@5 [e4,c5]@12 ~@6 e5@6 ~@12 c5@12 ~@19 f4@6 f4@27 a4@8 ~@26 a4@6 g4@18 ~@12 f6@12 ~@5, ~@14 [e5,a5]@2 ~@9 d4@13 ~@3 d4@13 ~@10, ~@90 a4@6 g4@18 ~@6 f4@6 f4@28 a4@9 ~@6 c6@12 ~@11, ~@93 bb4@20 ~@29 bb4@21 ~@6 [f5,a5]@18 ~@5]/4", // Bb C A5 F
S: "[~ a5@6 ~@6 c5@6 ~@10 bb5@3 c6@3 f5@3 g5@3 a5 ~@8 f6@18 ~@18 eb5@6 ~@19 bb4@5 ~@19 eb5@6 ~@18 bb4@6 ~@18 c6@6 ~@6 a5@6 ~@7 c5@5 ~@10 bb5@3 c6@3 f5@3 g5@3 a5 ~@8 f6@18 ~@6 bb4@4 ~@9 eb5@6 ~@18 bb4@5 ~@19 eb5@6 ~@18 bb4@6 ~@10 f4@3 g4@2 ~@3 d4@3 ~ e4 ~@2, ~@7 [a4,f5]@12 ~@7 a5@6 ~@12 [f5,a5,d6]@24 ~@6 bb4@6 bb4@28 d5@8 ~@25 d5@6 c5@18 ~@12 f6@12 ~@52 e6@21 ~@28 eb5@20 ~@28 eb5@21 ~@25, ~@47 e6@21 ~@9 g4@39 ~@10 g4@39 ~@37 [a4,f5]@11 ~@59 g4@39 ~@9 g4@39 ~@7 e4@6 ~@2 c4@5 ~@5, ~@92 d5@6 c5@18 ~@7 bb4@6 bb4@27 d5@9 ~@6 c6@12 ~@37 a5@6 ~@61 d5@6 c5@17 ~@7 bb4@6 bb4@27 d5@9 ~@25, ~@95 eb5@20 ~@29 eb5@21 ~@6 [f5,a5]@18 [d5,f5,bb5]@12 ~@37 [f5,a5,d6]@24 ~@12 bb4@28 d5@8 ~@25 d5@6 c5@18 ~@25]/8", // Dm F Bb Dm
T: "~@12 [c4,e4,g4]@12 ~@9 f5@3 ~@6 d5@3 e5 ~@2, a4 ~, [c4,e4] ~@3, ~@3 b4@21 ~@15 c5@5 ~@4, ~@6 c5@18 ~@6 e5@6 g5@5 ~@7", // C
U: "[~@12 [c5,e5,g5]@12 ~ [e3,g3,c4]@359, a5 ~@15, [c5,e5] ~@31, ~ b5@7 ~@120, ~ c6@3 ~@60]/8", // C
})).s("gm_piano").gain(0.3)
// chords · piano · "A.PIANO 1" · soft notes
const piano_soft_2 = note("<A ~ B@2 C ~ D@3 ~@3 E@2 F@4 ~@5 G@2 ~@19 H@2 ~@26>".pickRestart({
A: "~@13 [gb4,eb5]@35, ~@13 bb4@12 ~@23", B: "[~ [ab4,eb5]@95, ~ b4@18 ~@77]/2", C: "~ [gb4,a4,db5]@46 ~",
D: "[~@2 eb5@18 eb5@6 ~@73 bb4@45, ~@2 [bb4,gb5]@95 ~ [eb5,gb5]@46, ~@99 gb4@35 ~@10]/3", // Ebm
E: "[~@5 [gb4,a4,db5,gb5]@47 ~@44]/2", // Gbm
F: "[~@3 eb4@9 eb4@3 ~@11 gb5@48 ~@22, ~@5 gb4@96 ~@91, ~@5 eb4@16 ~@11, ~@25 bb4@48 ~@23, ~@17 eb5@32 ~@15]/4",
G: "[~@41 e3@11 ~@44]/2", H: "[~@38 g5@25 ~@33]/2",
})).s("gm_piano").gain(0.2)
// other · string ensemble 1 · "STRINGS"
const string_ensemble_1_2 = note("<A@2 B@2 ~@12 C D@7 E@2 F@2 G@3 H@2 I J K@3 L@8 M@8 N O@7 P Q@2 ~@7>".pickRestart({
A: "b2/2", B: "bb2/2", C: "~@5 [eb2,eb3]@9 ~@3 [eb2,eb3]@22 ~ [eb2,eb3]@8",
D: "[~@4 eb2@10 ~@2 [eb2,eb3]@21 ~@2 [eb2,eb3]@15 [c2,c3]@8 g2@9 e3@5 f3@6 e3@6 c3@6 g2@6 c2@6 g2@11 ~ e3@6 f3@6 e3@6 c3@6 g2@6 c2@7 g2@11 e3@6 f3@6 e3@6 c3@6 g2@6 c2@6 g2@13 e3@5 a2@7 b2@6 g2@12 c2@6 g2@11 ~ e3@6 f3@6 e3@6 c3@6 g2@6 c2@6 g2@12 e3@6 a2@6 b2@6 g2@7, ~@3 eb3@10 ~@323]/7", // Eb C
E: "[~@6 f2@6 c3@11 a3@6 bb3@6 a3@6 f3@6 c3@6 f2@6 c3@11 a3@6 d3@6 e3@6 ~ c3@6 ~]/2",
F: "[~@4 f2@7 c3@11 a3@6 bb3@5 ~ a3@6 f3@6 c3@6 ~ f2@6 c3@11 a3@6 d3@6 e3@6 c3@7 ~]/2",
G: "[~@5 c2@6 g2@12 e3@6 f3@5 e3@6 c3@6 g2@6 ~ c2@6 g2@11 e3@6 a2@6 ~ b2@6 g2@13 [bb2,f3]@42]/3", // Bb5
H: "[~@7 [bb2,f3]@46 ~@2 c2@6 g2@11 ~ e3@6 f3@5 e3@6 c3@6]/2", I: "g2@6 c2@5 ~ g2@12 e3@6 a2@6 b2@6 g2@6",
J: "~@7 [bb2,f3]@41", K: "[~@9 [bb2,f3]@43 ~@6 c2@7 g2@11 e3@6 f3@6 e3@6 c3@6 g2@6 c2@6 g2@12 e3@6 f3@6 e3@6 c3@2]/3",
L: "[~@4 g2@5 ~@110 c3@12 g3@12 ~ d4@12 b3@6 c4@6 a3@12 g3@71 ~@117 e3@6 ~ f3@6 e3@3, ~@11 g2@345 g2@28, ~@11 c2@339 c2@34]/8",
M: "[~@3 c3@6 g2@6 c2@6 g2@12 e3@6 a2@6 b2@6 [c2,g2]@13 [bb2,f3]@46 ~@2 [bb2,f3]@44 ~@4 c2@7 g2@11 ~ e3@6 f3@6 e3@6 c3@6 g2@6 c2@6 ~ g2@11 e3@6 a2@6 b2@6 ~ c2@12 [bb2,f3]@42 ~@6 [bb2,f3]@46 ~@3 f2@6 c3@12 a3@6 bb3@5, ~@245 g2@13 ~@126]/8", // C5 Bb5
N: "~ a3@6 f3@6 c3@6 f2@7 c3@12 a3@5 d3@5",
O: "[~@2 e3@6 c3@12 [eb2,bb2,eb3]@42 ~@6 [eb2,bb2,eb3]@45 ~@4 f2@6 c3@12 a3@7 bb3@6 a3@5 f3@6 ~ c3@6 f2@6 c3@12 a3@6 d3@6 e3@6 [f2,c3]@12 ~ [eb2,bb2]@42 ~@6 [eb2,bb2,eb3]@43 ~@6 c2@6 g2@12 e3@6, ~@8 f2@8 ~@198 eb3@41 ~@81]/7", // Eb5 F5 Eb5
P: "a2@6 b2@6 [c2,g2]@11 ~ c2@6 g2@12 e3@6", Q: "[a2@6 b2@6 ~ c2@7 ~@5 c2@49 ~@22, ~@12 g2@9 ~@3 [g2,c3]@49 ~@23]/2",
})).s("gm_string_ensemble_1").gain(0.25).pan(0.7)
// chords · trombone
const trombone = note("<~@18 A B C D E F G H I J K L@2 M N O@2 P Q@5 ~@4 R S T@4 U@3 V@8 W X@2 ~@7>".pickRestart({
A: "~@5 [e3,g3,c4]@21 ~@3 [f3,a3,c4]@11 [e3,g3,c4]@8", // C F C
B: "~@4 [e3,c4]@20 ~@5 [f3,a3]@11 [e3,g3,c4]@8, ~@4 g3@24 c4@9 ~@11", // C F C
C: "~@4 [g3,c4]@21 ~@3 [f3,a3,c4]@11 ~ [e3,g3,c4]@8, ~@4 e3@17 ~@27", // C5 F C
D: "~@4 [e3,g3,c4]@24 ~ [e3,a3]@12 [e3,g3,c4]@7", // C A5 C
E: "~@6 e3@20 ~@3 [f3,a3,c4]@11 ~ [e3,g3,c4]@7, ~@5 [g3,c4]@23 ~@20", // F C C5
F: "~@5 [e3,g3,c4]@21 ~@3 e3@10 ~@2 [e3,g3,c4]@7, ~@28 a3@13 ~@7", // C
G: "~@6 [a3,c4]@21 ~@2 [bb3,d4,f4]@10 ~@2 [a3,c4,f4]@7, ~@5 f4@17 ~@26", // Am Bb F
H: "~@5 [a3,c4,f4]@21 ~@2 [a3,d4]@12 ~ [a3,c4,f4]@7", // F D5 F
I: "~@4 [a3,c4,f4]@24 ~ d4@11 [a3,c4,f4]@8, ~@28 [bb3,f4]@9 ~@11", // F Bb5
J: "~@4 [a3,c4,f4]@23 ~ [a3,d4]@12 ~ [a3,c4]@7, ~@40 f4@7 ~", // F D5 Am
K: "~@4 [g3,c4]@24 ~ [f3,a3]@11 ~ e3@7, ~@4 e3@20 ~@4 c4@9 ~@3 [g3,c4]@8", // C5 F C5
L: "[~@5 [e3,g3,c4]@22 ~ a3@12 ~ [g3,c4]@7 ~@5 [bb3,d4,f4]@43, ~@28 e3@8 ~@5 e3@12 ~@43]/2", M: "~ [bb3,d4]@7",
N: "~@7 [e3,g3,c4]@22 ~@2 [f3,a3,c4]@11 ~ e3@5, ~@7 [g3,c4]", // C F C5
O: "[~@7 e3@19 ~@4 [e3,a3]@12 g3@11 ~@2 [bb3,d4,f4]@40 ~, ~@6 [g3,c4]@21 ~@15 c4@7 ~@47]/2", // A5 Bb C5
P: "~@9 [bb3,d4,f4]@37 ~@2", // Bb
Q: "[~@10 [e3,g3,c4]@24 ~ [f3,c4]@8 ~@3 [e3,g3,c4]@10 ~@2 [e3,g3,c4]@24 [a3,c4]@11 ~ [e3,g3,c4]@9 ~@3 [e3,g3,c4]@96 ~@38, ~@34 a3@11 ~@37 f3@7 ~@151]/5", // C F5 C Am C
R: "~@15 c4@21 ~@2 [f3,a3,c4]@10, ~@14 g3@23 ~@11, ~@15 e3@16 ~@17", // F
S: "~@3 [e3,g3,c4]@9 ~@3 [e3,c4]@17 ~@7 [e3,a3,c4]@9, ~@5 g3@8 ~@3", // C Am
T: "[~@4 [e3,g3,c4]@10 ~@2 [d3,f3,bb3]@42 ~@6 [d3,f3,bb3]@41 ~@8 [e3,g3,c4]@23 ~ [f3,a3,c4]@12 [e3,g3,c4]@10 ~@2 [e3,c4]@21 ~@4 [e3,a3,c4]@6, ~@161 g3@25 ~@6]/4", // C Bb C F C Am
U: "[~@5 [e3,g3,c4]@12 ~ [d3,f3,bb3]@42 ~@6 [d3,f3,bb3]@39 ~@10 [a3,c4,f4]@23 ~ [bb3,d4,f4]@5]/3", // C Bb F Bb
V: "[~@7 [a3,c4,f4]@10 ~@3 c4@24 [a3,d4,f4]@11 ~ [a3,c4,f4]@12 ~ [g3,eb4]@44 ~@4 [g3,bb3]@44 ~@5 [f3,c4]@24 [f3,bb3]@12 [f3,a3,c4]@10 ~@2 [f3,a3,c4]@24 [f3,a3,d4]@12 [f3,a3,c4]@12 ~ [g3,bb3,eb4]@44 ~@4 [g3,eb4]@45 ~@3 [e3,g3,c4]@25, ~@19 f4@21 ~@77 eb4@48 ~@219, ~@20 a3@20 ~@28 bb3@44 ~@53 a3@24 ~@121 bb3@48 ~@26]/8", // F Dm F Cm Gm F5 Bb5 F …
W: "[e3,a3,c4]@6 [e3,g3,c4]@5 ~ [g3,c4]@12, ~@6 e3@5 ~", // Am C C5
X: "[[e3,a3,c4]@13 [e3,g3,c4]@8 ~@4 [c2,g2,e3,g3,c4]@48 ~@23]/2", // Am C
})).s("gm_trombone").gain(0.14).pan(0.7)
// other · flute
const flute = note("<~@28 A@2 ~@2 B C ~@2 D@5 ~@31>".pickRestart({
A: "[~@11 g5@6 c6@6 g5@6 f5@5 e5@6 ~ c5@5 g4@5 ~@7 e5@3 ~ f5@2 ~ g5@2 c5@2 ~ d5 ~@2 e5@2 ~ a5@2 ~ b5@2 ~ c6@12 ~@2]/2",
B: "~@13 g5@6 c6@6 g5@5 f5@6 e5@6 c5@6", C: "g4@4 ~@8 e5@3 f5@2 ~ g5 ~@2 c5@2 ~ d5 ~ e5 ~@3 a5@2 ~ b5@2 ~ c6@12",
D: "[~@16 g5@6 ~ c6@6 g5@6 f5@5 e5@6 c5@6 g4@5 ~@7 g5@6 c6@6 g5@6 f5@5 ~ e5@6 c5@6 ~ g4@102 ~@37]/5",
})).s("gm_flute").gain(0.23).pan(0.4)
// other · orchestral harp · "HARP"
const orchestral_harp = note("<A B C D E F G H I J K L M N O P ~@56>".pickRestart({
A: "eb3@2 ~@11 eb4@2 ~@10 eb3@2 ~@10 eb4@3 ~@8", B: "~ eb3@3 ~@8 eb4@3 ~@9 eb3@3 ~@8 eb4@3 ~@10",
C: "eb3@3 ~@10 eb4@2 ~@10 eb3@2 ~@10 eb4@2 ~@9", D: "~ eb3@2 ~@9 eb4@2 ~@10 eb3@2 ~@10 eb4@2 ~@10",
E: "~ eb3 ~@11 eb4@2 ~@9 eb3@2 ~@10 eb4@2 ~@10", F: "eb3@2 ~@11 eb4@2 ~@10 eb3 ~@11 eb4@2 ~@9",
G: "~@2 eb3@2 ~@10 eb4@2 ~@10 eb3@2 ~@11 eb4@2 ~@7", H: "~@3 eb3 ~@11 eb4@2 ~@9 eb3@2 ~@10 eb4@2 ~@8",
I: "~@2 eb3@2 ~@11 eb4@2 ~@9 eb3 ~@10 eb4@2 ~@9", J: "~@2 eb3 ~@10 eb4 ~@11 eb3 ~@11 eb4@2 ~@9",
K: "~ eb3 ~@12 eb4@2 ~@10 eb3 ~@12 eb4@2 ~@7", L: "~@4 eb3 ~@10 eb4@2 ~@11 eb3 ~@11 eb4@2 ~@6",
M: "~@5 eb3@2 ~@10 eb4@2 ~@10 eb3 ~@10 eb4 ~@7", N: "~@4 eb3 ~@11 eb4@2 ~@11 eb3 ~@11 eb4@2 ~@5",
O: "~@6 eb3 ~@11 eb4@2 ~@10 eb3 ~@11 eb4@2 ~@4", P: "~@5 eb3 ~@12 eb4@2 ~@10 eb3 ~@10 eb4 ~@6",
})).s("gm_orchestral_harp").gain(0.11).pan(0.3)
// other · timpani
const timpani = note("<~@16 A B@2 ~@53>".pickRestart({
A: "~@5 eb3@5 ~@6 eb3@21 ~@3 eb3@7 ~", B: "[~@4 eb3@6 ~@5 eb3@21 ~@3 eb3@13 ~ c3@14 ~@29]/2",
})).s("gm_timpani").gain(0.35).pan(0.4)
stack(
string_ensemble_1, string_ensemble_1_soft, piano, piano_soft, piano_2, piano_soft_2, string_ensemble_1_2, trombone,
flute, orchestral_harp, timpani
)
More by Barry John
Dances With Wolves - John Dunbar ThemeF major · 61.2 bpmFarewell and End TitleG major · 64.8 bpmJohn Dunbar ThemeE♭ major · 80 bpmKicking Bird's GiftF major · 70 bpmMain Title Looks Like a SuicideE♭ major · 60 bpmRescue of Dances With WolvesE♭ major · 90 bpmThe Buffalo HuntE♭ major · 115 bpmThe Death of CiscoF minor · 80 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.