Strudelify
KeyE majorTempo71 bpm
0:00/0:00
// Stella — Antonello Venditti
// 71 bpm, 4/4, key E 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: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 69 bars on a 48-step grid, each part at one level. Source detail keeps the original performance.
setcpm(71/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(`<
  ~@9 A B C D E B C F C G H I J G K L M N O P Q R S T U@2 V@4 W@2 X@2 Y Z AA@2 AB@6 AC@8 AD@8
>`.pickRestart({
  A: "e2", B: "c#2@47 ~", C: "a1 b1", D: "e2@27 b1@3 c#2@3 e2@3 b2@11 ~", E: "e1",
  F: "e2@24 ~@6 e1@5 ~ f#1@5 ~ g#1@4 ~@2", G: "e2@9 e1@9 a1@29 ~", H: "a1@23 ~ b1@11 ~ b1@12", I: "e2@24 b1@23 ~",
  J: "a1@24 b1@17 ~ a1@3 b1@2 ~", K: "a1@23 ~ b1@24", L: "b2@24 e2@17 ~ e2@5 ~", M: "d#2@23 ~ c#2@23 ~", N: "b1 a1",
  O: "g#1@24 f#1@23 ~", P: "b1@12 a2@5 ~ b1@6 e2@15 b1@2 ~ e2@2 ~@4", Q: "d#2@12 d#3@12 c#2@15 b1@2 ~ c#2@2 ~@4",
  R: "b1@24 a1@15 e1@2 ~ a1@2 ~@4", S: "g#1@3 g#2 f#1@4", T: "b1@21 ~@3 f#1@3 f#2@3 f#1@3 f#2@4 ~@11",
  U: "[~@9 f#1@3 c#2@2 ~ f#2@6 f#1@2 ~ f1@3 f2@2 ~ f1@3 f2@24 ~@3 f1@3 f2@8 ~ b1@3 b2@3 b1@3 b2@11 ~ b1@3]/2",
  V: "[c#2@3 c#3@3 c#2@3 c#3@12 f1@3 f#1@3 f#2@3 f#1@3 f#2@19 ~@2 f#1@3 c#2@6 e2@2 ~ d#2@3 c#2@3 f#1@3 f#2@3 f#1@3 f#2@23 ~ f#1@3 c#2@2 ~ f#2@5 ~ f#1@2 ~ f1@3 f2@2 ~ f1@3 f2@24 ~@3 f1@3 f2@8 ~ b1@3 b2@3 b1@3 b2@11 ~ b1@3]/4",
  W: "[c#2@3 c#3@3 c#2@3 c#3@12 f1@3 f#1@3 f#2@3 f#1@3 f#2@19 ~@2 f#1@5 ~ g#1@5 ~ a#1@5 ~ b1@24]/2",
  X: "[c#2@24 f#2@9 f#1@9 b1@29 ~ b1@23 ~]/2", Y: "c#2@11 ~ c#2@12 f#2@24", Z: "c#2@23 ~ b1@24",
  AA: "[c#2@17 ~ b1@3 c#2@2 ~ f#2@9 f#1@9 b1@29 ~ a1@23 ~]/2",
  AB: "[e2@17 ~ e2@5 d#2@23 ~ c#2@23 b1@23 a1@24 g#1@23 f#1@22 ~ b1@12 a2@5 ~ b1@5 ~ e2@14 b1@2 ~ e2@2 ~@4 d#2@12 d#3@11 c#2@14 ~ b1@2 ~ c#2 ~@5 b1@23 a1@8]/6",
  AC: "[~@7 e1@2 ~ a1@2 ~@3 g#1@18 g#2@6 f#1@23 b1@11 ~ b2@9 ~@2 e2@48 c#2@47 ~ a1@24 b1@16 ~@3 b1@3 c#2@2 e2@35 ~ b2@3 ~ c#3@2 e3@47 ~ d2@6 c#2@40 ~@2 c#2@3 ~ b1@2 a1@11]/8",
  AD: "[~@13 b1@24 e2@47 ~ e1@35 ~ e3@6 c#3@6 c#3@47 ~ a1@24 b1@24 ~ e2@52 e1@96 ~@6]/8",
})).s("gm_fretless_bass").gain(0.55)

// other · synth brass 2
const synth_brass_2 = note("<~@32 A@7 B@2 ~@6 C@8 ~@5 D@3 ~@6>".pickRestart({
  A: "[~@23 a#4@4 ~@2 a#4 ~@2 a#4@5 ~@2 g#4 ~@2 g#4@3 f#4@17 ~ c#4 ~@2 f#4 ~@2 g#4 ~@2 a#4@4 ~@2 a#4 ~@2 a#4@5 ~ g#4 ~@2 g#4@3 f#4@9 ~@6 a#4@3 b4 ~@2 c#5 ~@2 d#5 ~@2 c#5@5 ~ b4 ~@2 b4@4 ~@2 a#4 ~@2 a#4@11 ~ g#4 ~ g#4@6 ~ f#4@5 ~@4 [f#4,a#4]@5 ~ f#4@2 ~ [f#4,a#4]@5 ~ [c#4,g#4] ~@2 [c#4,g#4]@2 ~ [a#3,f#4]@22 ~@4 a#4@4 ~@2 a#4 ~@2 a#4@5 ~@2 g#4 ~@2 g#4@3 f#4@17 ~ c#4 ~@2 f#4 ~@2 g#4 ~@2 a#4@4 ~@2 a#4 ~@2 a#4@5 ~ g#4 ~@2 g#4@3 f#4@9 ~@6 a#4@3 b4 ~@2 c#5 ~@2 d#5 ~@2 c#5@5 ~ b4 ~@2 b4@4 ~@2 a#4 ~@2 a#4@6, ~@174 a#4 ~@161]/7", // F# C#5 D#m
  B: "[~@6 g#4 ~ g#4@6 ~ f#4@5 ~@4 a#4@5 ~ a#4 ~@2 a#4@5 ~ g#4 ~@2 g#4@2 ~ f#4@16 ~@35]/2",
  C: "[e4@11 ~ f#4@4 ~@2 g#4@5 ~ b4@10 ~ c#5@4 ~@2 d#5@4 ~@2 e5@23 g#4@12 b4@11 a4@23 g#4@24 f#4@35 d#4@10 ~@2 e4@11 ~ f#4@4 ~ g#4@5 ~ b4@10 ~@2 c#5@4 ~@2 d#5@4 ~ e5@24 g#4@11 b4@12 a4@23 g#4@24 f#4@35 d#4@10 ~@12]/8",
  D: "[~@22 b4 ~@2 b4@3 a4@3 g#4@3 e4@49 ~ g#4@4 a4@3 b4@3 e4@34 ~@16]/3",
})).s("gm_synth_brass_2").gain(0.56)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@5 A@3 B C@8 ~@45 D@7>".pickRestart({
  A: "[g#4@24 a4@12 b4@11 ~ e4@24 ~ f#4@11 g#4@11 ~@2 [c#4,e5]@23 ~ e4@11 f#4@12, b5@97 ~@47, ~@24 g#5@25 ~@11 f#5@12]/3", // C#m
  B: "[e4,g#4,g#5]@43 ~@5", // E
  C: "[~@96 c#4@47 ~@61 e4@36 ~@48 a3@47 ~ e4@47 ~, b3@96 ~@47 [b3,g#4]@144 ~@48 b3@47 ~@2, ~@48 e4@95 ~@97 c#4@96 ~@48]/8", // E
  D: "[~@38 g#4@24 a4@12 b4@11 ~ e4@24 f#4@12 g#4@11 ~ [c#4,e5]@23 ~ e4@11 f#4@11 ~@54 [e2,e3]@96 ~@6, ~@37 b5@97 ~@48 [g#4,g#5]@148 ~@6, ~@85 g#5@50 ~@22 f#5@24 e4@148 ~@7]/7", // C#m E G#
})).s("gm_string_ensemble_2").gain(0.24)

// chords · string ensemble 2
const string_ensemble_2_2 = note("<~@24 A@5 B@4 C@2 D E C@2 D F@2 ~@4 G@8 H@8 I@7>".pickRestart({
  A: "[~@108 b4@12 a4@24 e5@12 f#5@6 g#5@6 a5@23 b5@23 ~@2 b5@24, ~@24 b5@48 e5@48 c#5@49 ~@71, ~@4 g#5@5 ~@5 f#5@6]/5",
  B: "[~@60 b4@12 a4@24 e5@12 f#5@6 g#5@6 a5@23 b5@21 ~@4 a#5@21 b5@3, g#5@15 ~@15 f#5@11 ~@7, ~@24 e5@48 c#5@49 ~@71]/4",
  C: "[a#5@12 f#5@12 c#5@35 ~ a#5@11 b5@25]/2", D: "c#5 a#5", E: "~@7 a#5@8 b5",
  F: "[~@22 [f#5,b5]@23 ~ g#5@26 ~@24, ~@15 c#6@9 ~@8]/2", // B5
  G: "[~@24 f#5@47 ~@58 b4@12 a4@23 e5@12 f#5@6 g#5@6 a5@23 b5@23 ~@82 b4@12 a4@23 e5@12 f#5@6 g#5@6 [f#5,a5]@9, ~@24 b5@70 e5@47 c#5@48 ~@45 b5@47 e5@47 c#5@48 ~@8, ~@71 g#5@58 ~@59 f#5@70 g#5@58 ~@68]/8", // F#m
  H: "[~@14 b5@22 ~@241 g#5@46 e5@26 f#5@24 g#5@11, ~@37 b5@347]/8", I: "[~@26 g#5@21 ~, ~@5 b5@42 ~]/7",
})).s("gm_string_ensemble_2").gain(0.18).pan(0.9)

// other · synth brass 1
const synth_brass_1 = note("<~@49 A@4 B@2 ~@14>".pickRestart({
  A: "[~@21 e5@12 f#5@4 ~ g#5@4 ~@2 a5@46 b5@89 ~@13]/4", B: "[~@16 e5@11 f#5@4 ~@2 g#5@4 ~@2 a5@47 ~@10]/2",
})).s("gm_synth_brass_1").gain(0.44).pan(0.7)

// chords · pad warm
const pad_warm = note("<~@24 A@8 B@6 C@8 D@7 E@4 ~@12>".pickRestart({
  A: "[~@11 e4@12 d#4@12 c#4@12 b3@12 [c#4,a4]@12 [b3,g#4]@12 a3@12 ~@12 e4@12 d#4@12 c#4@12 b3@12 [c#4,a4]@12 [b3,g#4]@12 [a3,a4]@12 b3, ~@10 b4@109 ~@47 a4@36 b4@109 ~@73, ~@95 b3@12 ~@85]/8", // F#m E F#m E A
  B: "[~@10 b4@10 ~@2 [f#3,f#4]@48 [c#4,f4]@48 [d#4,f#4]@24 g#4@24 ~@17 a#3@30 ~ f#4@48 f4@26, ~@71 c#4@60 c#4 ~@12, ~@166 f#4@47 ~@75]/6", // F# C# D#m
  C: "[~@22 [d#4,f#4]@24 g#4@24 ~@17 a#3@30 ~ [d#4,f#4]@24 [f4,g#4]@23 ~ [f#4,a#4]@9 [f4,g#4]@8 ~ d#4@28 ~@2 b4@24 [g#4,c#5]@23 ~ [f#4,a#4]@23 ~ [f4,g#4]@24 [d#4,f#4]@24 [f4,g#4]@23 ~ [f#4,a#4]@9 [f4,g#4]@8 ~ [d#4,f#4]@8, ~@23 c#4@35 ~@134, ~@70 f#4@47 ~@67 f#4@53 ~@147]/8", // D#m Fm F# Fm C#5 F# Fm D#m …
  D: "[~@22 b4@11 ~ b4@12 [e4,g#4]@23 [d#4,f#4]@23 ~ e4@23 [b3,f#4]@23 [c#4,a4]@23 [b3,g#4]@24 a3@23 ~@23 e4@23 ~ d#4@23 c#4@23 b3@23 ~ [c#4,a4]@10, ~@22 f#4@23 ~@47 c#4@24 ~@70 a4@35 b4@106 ~@9, ~@209 b3@24 ~@103]/7", // E D#m B5 F#m E F#m
  E: "[~@13 [b3,g#4]@23 a3@23 ~@12 b4@110 ~@11, ~@3 a4@3 ~@10, ~@30 b3@37 ~@29]/4", // E
})).s("gm_pad_warm").gain(0.28)

// chords · string ensemble 2
const string_ensemble_2_3 = note("<~@24 A@3 B@6 C@3 D E@3 F ~@5 G@8 H@8 I@7>".pickRestart({
  A: "[~@53 b4@6 [a4,c#5]@12 e5, ~@22 b5@49 e5@48 ~@25, ~@47 g#5@60 ~@37]/3", // A
  B: "[~@10 f#5@7 g#5@6 a5@23 b5@23 ~@85 b4@12 a4@24 e5@12 f#5@7 g#5@5 a5@23 ~ [f#5,b5]@21 ~@5 a#5@16 ~ a#5@4 b5@3, ~@23 f#5@72 g#5@60 ~@11 c#5@70 ~@52, ~@70 b5@49 e5@48 ~@121]/6", // B5
  C: "[a#5@12 f#5@12 c#5@35 a#5@12 b5@24 ~ c#7@23 a#5@25, ~@95 c#5@24 ~@25]/3", D: "~@8 a#5@7 b5",
  E: "[a#5@12 f#5@12 c#5@35 a#5@12 b5@24 c#5@24 a#5@25]/3", F: "~@11 f#6@13",
  G: "[~@128 b4@12 a4@23 e5@12 f#5@6 g#5@6 a5@22 b5@23 ~@83 b4@12 a4@23 e5@12 f#5@6 g#5@4 a5@12, ~@46 b5@47 ~ e5@47 ~@46 f#5@70 g#5@58 ~@69, ~@70 g#5@58 ~@12 c#5@48 ~@45 b5@47 e5@47 c#5@57]/8",
  H: "[~@12 [f#5,b5]@24 ~@240 g#5@47 e5@26 f#5@23 g#5@12, ~@3 b5@29]/8", I: "[~@6 b5@49 ~]/7",
})).s("gm_string_ensemble_2").gain(0.18).pan(0.1)

// chords · orchestral harp · Bmaj7 Dmaj7 Gsus2 Fmaj7 Asus2 D#maj7
const orchestral_harp = note(`<
  ~@40
  [~@7 g#3 ~ c4 ~ d#4 ~@12 f#6@4 ~@20, ~@3 f#3 [a#3,b3] [c#4,d4] f4 b4 d5 g5 c6 e6 ~@12, ~@11 e4@2 [g4,a4]@2 c5@2 [e5,f5]@2 [a5,b5]@2 [d6,d#6]@2 f6@2 ~@23]
  ~@28
>`).s("gm_orchestral_harp").gain(0.21).pan(0.2)

// chords · piano
const piano = note(`<
  ~@4 A B@3 C ~@7 D E F ~ G H I J K L M N O L M N P Q R S T Q R U V W@2 X Y Z@2 AA@7 AB@3 AC@8 AD@4
>`.pickRestart({
  A: "~@5 g#4@3", B: "[~@48 [a2,c#3]@11 ~ [b2,d#3]@11 ~, [e2,g#4,b4]@2 ~, ~@51 c#2@67 ~@26]/3",
  C: "g#3@3 a3@3 ~@3 e3@38 ~, e2@47 ~, e3@6 b3@41 ~",
  D: "~@30 [e2,g#3]@5 ~ [f#2,a3]@4 ~@2 [g#2,b3,e4]@5 ~, ~@15 e4@5 ~@4", E: "[a2,a3,c#4] ~", F: "~@18 [a3,c#4]@29 ~",
  G: "~@12 b4@11 ~@13 b4@10 ~@2, [e4,g#4]@23 ~ [d#4,f#4]@22 ~@2", H: "[a3,c#4,a4]@23 ~@25",
  I: "[e5,g#5]@6 ~@3 [d#5,f#5]@7 ~@2 [a4,c#5,e5]@28 ~@2", J: "[a2,c#4,a4] [b2,b3,e4,f#4]",
  K: "[b2,b3,d#4,f#4]@22 ~@2 b4@12 ~ b4@11, ~ e3, ~@24 [e4,g#4]@19 ~@5", // B E
  L: "~@12 [b4,b5]@11 ~@13 b4@9 ~@3, d#3 c#3, [b3,d#4,f#4]@19 ~@5 [c#4,e4,g#4]@20 ~@4", // B C#m
  M: "~@12 [b4,f#5,b5]@10 ~@14 [a4,e5]@9 ~@3, b2 a2, [b3,d#4,f#4]@19 ~@5 [a3,c#4,e4]@18 ~@6", // B5 A5 B A
  N: "~@12 [d#5,b5]@10 ~@11 [a4,c#5]@5 ~ [a4,c#5]@8 ~, g#2 [f#2,c#4], [g#3,b3,d#4]@9 ~@3 a3@10 ~@2", // G#m A F#5 G#m
  O: "[b3,e4,f#4]@9 ~@3 [b3,d#4,f#4,f#5,b5]@12 b4@12 ~ b4@11, b2@23 ~ e3@24, ~@24 [e4,g#4]@19 ~@5", // Bsus4 B E
  P: "[b3,e4,f#4]@9 ~@3 [b3,d#4,f#4,f#5,b5]@12 ~@12 [f#5,a#5]@3 ~@3 [f#5,a#5]@5 ~, b2@23 ~ [f#4,a#4]@22 ~@2, ~@33 c#5@14 ~", // Bsus4 B F#
  Q: "~@12 [f#5,a#5]@3 ~@3 [f#5,a#5]@5 ~@13 [f#5,a#5]@3 ~@3 [f#5,a#5]@4 ~@2, [f#4,a#4]@21 ~@3 [f4,a#4]@23 ~, ~@9 c#5@14 ~@10 c#5@14 ~", // F# A#5
  R: "~@12 [f#5,a#5]@3 ~@3 [f#5,a#5]@4 ~@2 b4@8 ~@4 [d#5,f#5]@3 ~@3 [d#5,f#5]@4 ~@2, [f4,a#4]@22 ~@2 f#4@23 ~, ~@9 c#5@14 ~@10 b4@13 ~@2", // F# D#m A#5
  S: "[g#4,c#5]@17 ~ [a#4,c#5]@6", // C#5 A#m
  T: "~@6 a#5@2 ~ [a#5,c#6] ~@2 [a#5,c#6]@3 c#4@3 ~@18 [f#5,a#5]@3 ~@3 [f#5,a#5]@5 ~, ~@3 f#5@18 a#4@25 ~@2, ~@6 c#6 ~@2 f#4@14 ~ f#4@22 ~@2, ~@18 [g#4,a#5,c#6]@5 ~@10 c#5@14 ~", // A#m F# A#m7
  U: "[g#4,c#5]@11 ~@7 [a#4,c#5]@6", // C#5 A#m
  V: "~@6 [f#4,a#5]@2 ~ [a#5,c#6] ~@2 [g#2,b3,a#5,c#6]@3 c#4@3 ~@6 [b2,b3,d#4,f#4]@24, ~@3 f#5@20 ~@25, ~@6 [f#2,a#3]@5 ~@7 [a#2,c#4,f#4,g#4,a#5,c#6]@5 ~@25, ~@6 c#6 ~@2 f#4@8 ~@4 a#4@5 ~@22", // F# A#m C#7 B F#
  W: "[~@42 [b3,d#4]@29 ~@25]/2", X: "~@36 c#5@11 ~, ~@24 [f#4,a#4]@23 ~",
  Y: "~@12 c#5@10 ~@2 [b3,d#4,b4]@23 ~, [f4,g#4]@11 ~@13", // B Fm
  Z: "[~@24 [f#5,a#5]@6 ~@3 [f5,g#5]@7 ~@2 [b4,d#5,f#5]@28 ~@2 [a2,b3]@12 [a2,a3]@5 ~ [a2,a3]@5 ~, ~@36 f#4@11 ~]/2", // F# Fm B Asus2 A
  AA: "[b4@12 b4@11 ~@12 [b4,b5]@11 ~@12 b4@9 ~@14 [b4,f#5,b5]@10 ~@14 [a4,e5]@9 ~@15 [d#5,b5]@9 ~@11 [a4,c#5]@5 ~ [a4,c#5]@8 [b3,e4,f#4]@9 ~@3 [b3,d#4,f#4,f#5,b5]@11 ~ b4@12 b4@11 ~@12 [b4,b5]@11 ~@12 b4@9 ~@14 [b4,f#5,b5]@10 ~@14 [a4,e5]@9 ~@14 [d#5,b5]@9 ~@3 [f#2,a3]@9, e3@23 d#3@24 c#3@23 b2@23 [a3,c#4,e4]@18 ~@5 [g#3,b3,d#4]@18 ~@53 e3@23 d#3@24 [c#4,e4,g#4]@19 ~@4 [b3,d#4,f#4]@18 ~@5 a2@23 g#2@23 ~@10, [e4,g#4]@19 ~@4 [b3,d#4,f#4]@19 ~@5 [c#4,e4,g#4]@19 ~@4 [b3,d#4,f#4]@18 ~@5 a2@23 ~ g#2@23 [f#2,a3,c#4]@23 b2@22 ~@2 [e4,g#4]@19 ~@4 [b3,d#4,f#4]@19 ~@4 c#3@23 ~ b2@23 [a3,c#4,e4]@18 ~@5 [g#3,b3,d#4]@18 ~@5 c#4@10]/7", // B B5 A5 G#m A Bsus4 B B5 …
  AB: "[[a4,c#5]@5 ~ [a4,c#5]@8 [b3,e4,f#4]@9 ~@3 [b3,d#4,f#4,f#5,b5]@11 ~ [b3,e4,g#4]@43 ~@5 [b3,e4,g#4]@43 ~@4 [a2,a3,e4]@11, ~@14 b2@22 ~@2 e2@48 c#2@47 ~@11]/3", // A Bsus4 B E A5
  AC: "[~@13 [b2,b3,f#4]@24 ~@82 g#5@2 ~@43 [e4,b4]@3 [e4,b4]@2 ~@13 [a2,c#3]@22 ~ [b2,d#3]@22 ~@3 g#4@2 a4@3 ~@40 e7@36 ~@5 b4@2 ~ a4@3 g#4@3 [b3,e4]@22 ~@37, ~@37 b3@48 b4@36 g#5@3 f#5@3 e5@42 [e4,b4]@3 a4@3 g#4@28 ~@26 e4@9 e4@13 a5@5 e5@36 ~@24 e4@8 ~@60, ~@37 e4@36 ~ e4@56 f#5@73 ~@32 b4@19 b5@38 ~@92, ~@38 e2@47 e2@57 g#5@61 ~@45 g#5@18 g#6@2 a6@3 b6@38 ~@75, ~@74 e5@11 g#4@48 g#5@3 c#2@67 ~@27 e2@44 e6@36 ~@74]/8", // B5 E5 A B E5
  AD: "[~@15 e1@16 ~, ~@19 f#5@48 ~@29, ~@41 g#5@96 ~@55, ~@88 b2@97 ~@7, ~@89 [e3,g#3]@98 ~@5]/4", // E
})).s("gm_piano").gain(0.39).pan(0.6)

// chords · epiano1
const epiano1 = note("<A@7 B C D E F G@2 H I J K L@2 M N O P Q ~@15 R S@2 T U V@2 ~@7 W@5 X@8 ~@2>".pickRestart({
  A: "[~@58 e5@18 ~@47 b4@6 ~@3 [b4,e5]@8 ~@4 c#5@9 ~@13 [f#4,c#5]@12 [f#4,c#5,e5]@12 ~ [b4,e5]@9 ~@18 g#4@9 ~@7 b4@6 ~@39 a4@3 g#4@3 ~@42 e6@9, ~@42 f#4@34 b3@65 a3@16 a5@22 ~@21 b4@3 b3@12 e4@24 ~ g#4@33 b4@12 e4@30 b5@9 c#4@11 ~, ~@43 [e2,g#4]@40 b4@9 [c#3,c#4]@15 g#5@33 ~ b4@48 ~@2 e4@18 b4@19 [b3,g#4]@11 ~ f#4@24 b5@27 g#5@6 b4@39, ~@43 b4@36 g#5@13 b5@49 e5@36 ~@23 e5@39 ~ b4@15 e5@18 b3@63, ~@55 e4@74 [c#3,c#4]@12 e4@12 ~ [e4,c#5]@12 b2@25 [e3,g#5]@50 ~@11 e4@30 e5@6 c#4@18 g#5@30]/7", // E5 F#5 F#7 E5 E C# E C# …
  B: "~ c#6 a5 ~@2 c#5@2 f#3 [f#4,c#5]@4 [f#4,c#5,e5]@4, [b4,b5]@47 ~, a3@21 ~@3 b3@23 ~, [e4,e5]@3 e5@2 ~@11, ~@12 e4@11 ~@25", // F#5 F#7 B E
  C: "g#5@3 a5@3 b5@3 ~@30 b5@8 ~, e3, g#3@30 e5@17 ~, e4@9 b4@3 b3@12 e4@23 ~, [b4,e5]@9 e5@12 b4@15 b3@11 ~", // E5
  D: "[e2,f#4,g#4,b4]@47 ~", E: "c#4@3 [b3,f#5], [c#3,e4,g#4,b4]@47 ~",
  F: "[c#4,e4,e5]@24 [e4,f#4]@11 ~ [d#4,f#4]@12, [a4,c#5], ~ [b2,c#4]", // C#m Esus2 D#m A Bsus2
  G: "[~@48 b4@35 ~ [e4,b4]@12, [e3,b3,e4,g#4] [e2,f#4,g#4,g#5,e6], ~@24 b4@23 ~@49, ~@36 e5@59 ~]/2", // E5 E
  H: "~@2 b4 [e4,b4], [c#3,b3,g#4]@47 ~, c#4@13 ~@3, e4@35 ~@13", I: "[a3,c#4,e4] [b2,a3,c#4,f#4], [a4,c#5]",
  J: "[e3,b3,e4,g#4,b4]", K: "[c#4,e4]@10 ~@2 [d#4,f#4]@9 ~@3",
  L: "[[e4,g#4]@7 ~@2 [d#4,f#4]@7 ~@2 [c#4,e4]@50 ~@4 [d#4,f#4]@19 ~@5]/2", M: "[e4,g#4]@23 ~ [d#4,f#4]@22 ~@2",
  N: "[c#4,e4]@7 ~ [d#4,f#4]@6 ~@2", O: "[e4,g#4]@7 ~@2 [d#4,f#4]@7 ~@2 [c#4,e4]@29 ~", P: "[a3,c#4]@5 ~ [b3,d#4]@6",
  Q: "[b3,d#4,f#4]@23 ~@25", R: "~@6 [f#5,f#6]@5 ~@13 [d#4,f#4]@20 ~@4",
  S: "[[f4,g#4]@18 ~@6 [f#4,a#4]@7 ~@2 [f4,g#4]@7 ~@2 [d#4,f#4]@50 ~@4]/2", T: "[f4,g#4]@19 ~@5 [f#4,a#4]@23 ~",
  U: "[f4,g#4]@22 ~@2 [d#4,f#4]@21 ~@3", // Fm D#m
  V: "[[f4,g#4]@18 ~@6 [f#4,a#4]@7 ~@2 [f4,g#4]@7 ~@2 [d#4,f#4]@29 ~ [a3,f#4,b4]@24]/2", // Fm F# Fm D#m B7
  W: "[~@53 e5@17 ~@54 [b4,e5]@8 ~@26 f#4@10 ~ [f#4,c#5,e5]@12 [b4,e5]@9 ~@18 g#4@8 ~@7 b4@6 ~ [g#4,b4]@10, ~@37 f#4@33 b3@63 a3@24 b2@24 [e3,g#5]@48 ~@11, ~@38 [e2,g#4]@38 b4@9 [c#3,c#4]@16 g#5@32 e5@24 c#5@12 ~@21 e5@28 b3@11 ~@11, ~@38 b4@35 g#5@12 b5@31 b4@5 [c#3,c#4]@12 e4@3 c#5@4 a4@5 [e4,c#5]@4 a5@21 ~@20 b4@3 b3@13 e4@23 f#4@11, ~@50 e4@82 ~ b4@47 ~ e4@18 b4@18 g#4@11 ~@12]/5", // E5 F#7 E5 G#m E C# C#m
  X: "[~@28 a4@3 g#4@3 ~@42 e6@9 ~@3 c#6@3 a5@3 ~@6 c#5@6 f#3@3 ~ f#4@10 ~ [f#4,c#5,e5]@12 ~@3 a5@3 b5@3 ~@30 b5@8 ~@40 a4@3 g#4@3 ~@42 e6@9 ~@3 c#6@3 a5@3 ~@6 c#5@6 f#3@3 ~ f#4@10 ~ [f#4,c#5,e5]@12 ~ g#5@3 a5@3 ~ b5@3 ~@33 b5@8 ~@7, ~@2 e4@29 e5@6 c#4@18 g#5@30 ~@9 e5@6 ~@9 c#5@12 ~@12 g#5 g#3@29 e5@7 b3@11 ~ b4@15 e5@17 b3@63 a3@21 ~@4 b3@23 ~ e3@53 ~@5, ~@5 e5@17 b4@12 e4@30 b5@9 c#4@11 ~ [e4,e5]@11 ~ e4@11 ~@25 e4@9 b4@3 b3@13 e4@23 f#4@24 b5@27 g#5@6 b4@39 [b4,b5]@48 ~ e4@10 b4@3 b3@14 e4@25 ~@6, ~@13 b5@27 g#5@6 b4@39 [b4,b5]@47 ~ [b4,e5]@9 e5@13 b4@25 ~@2 g#4@32 b4@12 e4@30 b5@9 c#4@11 ~ [e4,e5]@11 ~ e4@11 ~@26 g#3@34 e5@18 ~@6, ~@22 b3@63 a3@21 ~@4 b3@23 e3@48 ~@13 e4@29 e5@6 c#4@18 g#5@30 ~@9 e5@6 ~@9 c#5@12 ~@13 [b4,e5]@10 e5@14 b4@16 b3@11 ~@7]/8", // F#7 E B E5 E E5
})).s("gm_epiano1").gain(0.3)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note("<A@6 B@2 ~@61>".pickRestart({
  A: "[~@43 b4@43 ~@6 b4@43 ~@6 [e4,a4]@21 ~@4 b4@21 ~@3 [g#4,b4]@38 ~@9 f#4@2 ~ [g#4,b4]@42 ~@6, ~@41 [e3,b3,e4]@44 ~@4 g#3@46 ~@3 e3@23 ~@2 f#3@25 e3@39 ~@12 [b3,e4]@43 ~@6, ~@42 g#4@43 ~@5 [c#4,e4]@45 ~@4 a3@23 ~@2 b3@23 ~@2 [b3,e4]@39 ~@6 b4@5 ~@49, ~@91 g#4@43 ~@6 c#4@22 ~@3 [d#4,f#4]@23 ~@43 g#4@5 ~@52]/6", // A5 G#m E5 C#m E5 D#m
  B: "[~@3 [g#4,b4]@42 ~@3 a4@20 ~@4 b4@21 ~@3, g#3@45 e3@23 ~ f#3@24 ~@3, ~ c#4@44 ~ a3@22 ~@2 b3@23 ~@3, ~@2 e4@43 ~@2 [c#4,e4]@21 ~@3 [d#4,f#4]@22 ~@3]/2", // G#m C#m D#m
})).s("gm_acoustic_guitar_steel").gain(0.08).pan(0.4)

// drums · shaker
const shaker = s("sh").struct("<~@32 [~@8 x!8] [x!16]!7 [x!8 ~@8] ~@28>").gain(0.3)

stack(
  bass, synth_brass_2, string_ensemble_2, string_ensemble_2_2, synth_brass_1, pad_warm, string_ensemble_2_3,
  orchestral_harp, piano, epiano1, acoustic_guitar_steel, shaker
)

More by Antonello Venditti