Strudelify

Dottore

Mina

KeyF majorTempo120 bpm
0:00/0:00
// Dottore — Mina
// 120 bpm, 4/4, key F 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 146 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. 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.

// chords · epiano1
const epiano1 = note(`<
  ~ A B C D E F G H I J K L M N O ~ P Q R S T U V ~ W X Y Z AA AB AC ~ W X Y Z AA AB AC AD I J K L M N AE AF AG AH AI AJ
  AK AL@2 AM AN AO AP AQ AR AS AT AU AV AW AX P Q R S T U V ~ W X Y Z AA AB AC ~ W X Y Z AA AB AC AY ~@16 W X Y Z AA AB
  AC ~ W X Y Z AA AB AC AD ~ I J K L I J K L AZ BA@2 BB@4 ~@6
>`.pickRestart({
  A: "[f2,f3]@2 [f2,f3] ~ [a3,eb4,ab4]@2 ~ [a3,eb4,ab4] f2 [a3,eb4,ab4] f3@2 [a3,eb4,ab4]@4, ~@5 f2@2 ~", // F Ab
  B: "bb2@2 bb2 ~ [ab3,c4,f4] ~ bb2 [ab3,db4,gb4,g4] ~ [ab3,c4,f4] ~@2 [ab3,c4]@2 [a3,d4,g4] ~, ~@7 d4@2 ~ bb2@5 ~, ~@12 f4 ~@3", // Fm Dbsus4 Fm Ab Dsus4
  C: "f2@2 f3@2 [a3,eb4,ab4]@2 ~ [a3,eb4] f3 [a3,eb4,ab4] f3@2 ~@2 f3 ~, f3 ~@9 f2@5 ~, ~@3 [a3,eb4,ab4]", // Ab Adim Ab
  D: "bb2@2 db3 ~ [ab3,c4,f4]@2 ~ [ab3,db4,d4,gb4,g4] bb2 [ab3,c4,f4] bb2@2 [ab3,c4,f4]@2 d4@2, ~@12 eb4 ~ g4 ~", // Fm
  E: "db3@2 db3 ~ [b3,eb4,f4]@2 ~ [b3,eb4,f4,ab4] ~ [b3,eb4,f4,ab4] db3 ~ [b3,eb4,f4,ab4]@2 db3 ~, ~@4 ab4 ~@3 db3@2 ~@6", // Fm7b5
  F: "c3@2 c3 ~ [bb3,eb4,e4,ab4]@2 [c2,c3] bb3 c3 [bb3,eb4,e4,ab4] c3@2 [bb3,eb4,e4,ab4]@2 c3 ~, ~@8 c2@7 ~", // Ebsus4 C Ebsus4
  G: "f2 ~ f2@2 [a3,c4,f4]@2 f2 [bb3,eb4,gb4] f2 [a3,c4,f4] ~@2 [a3,eb4,f4] ~ [bb3,d4,g4] ~, ~@7 [d4,g4]@2 ~ f2@4 ~@2, ~@6 c4 ~", // F Ebm F F7 Gm G5
  H: "~@2 [bb2,bb3]@2 b2@2 [c3,c4]@5 ~ c4 b3 ~@2, ~@4 b3 ~@7 c3@2 ~@2", I: "~@11 eb3 [a3,eb4,ab4]@3 ~",
  J: "[ab3,c4,f4]@10 ~ bb2 [ab3,g4]@2 f4 ~, ~@12 d4 ~@3", K: "~@9 [a3,c4,f4] ~@2 [a3,g4]@2 [c4,f4] ~, ~@12 d4 ~@3",
  L: "~@7 [ab3,c4,f4] ~ [ab3,c4,f4] ~ bb2 [ab3,g4]@2 [c4,f4] ~, ~@12 d4 ~@3", M: "~@2 f4@11 ~ c3 ~, ~ [b3,eb4,ab4]@7",
  N: "[e4,ab4]@3 ~", O: "~@6 [bb3,d4,g4] [c4,eb4,ab4] ~ [c4,eb4,ab4] [bb3,d4,g4] ~ [a3,c4,f4] ~@3",
  P: "[f3,a3]@4 [g3,bb3]@4 [ab3,b3]@3 ~ [a3,c4]@2 ~@2", Q: "[d4,f4]@3 [eb4,g4]@3 [d4,f4] ~@9",
  R: "[f3,a3]@3 ~ [g3,bb3]@3 ~ [ab3,b3]@3 ~ [a3,c4]@2 ~@2", S: "[d4,f4]@5 ~@2 [a3,db4,e4]@8 ~",
  T: "[a3,c4,d4,f4]@5 ~@2 [bb3,db4,f4,g4]@8 ~", U: "[g3,b3,d4]@8 [g3,c4,f4]@3 ~ [g3,c4,e4]@4, f4@3 ~@5",
  V: "[a3,c4,f4] ~@7", W: "f2 ~ f2 ~ [a3,c4] d4 ~ [a3,eb4,g4] ~ [a3,eb4,g4] d4 ~ [eb4,f4] ~ d4 ~, ~@6 a3 ~",
  X: "bb2 ~ bb2@2 ab3 ~@2 [ab3,d4,f4] ~ [ab3,eb4,f4] d4 ~ [ab3,eb4,f4]@2 d4 ~", // Ddim Fm7
  Y: "db3 ~ db3@2 [b3,eb4,f4,ab4]@3 b3 c3 ~ c3@2 [bb3,e4,ab4]@3 ~, ~@12 eb4 ~@3", // Fm7b5 Bbm7b5
  Z: "f2 ~ f2 ~ [a3,c4,eb4] [d4,f4] ~ [a3,db4,eb4,g4] ~ [g3,a3,eb4,g4] eb4 ~ [a3,eb4,g4]@2 [d4,f4] ~", // Adim Dm A7 Am7b5 Dm
  AA: "f2 ~ f2@2 [c4,eb4] [d4,f4] ~ [a3,eb4,g4] eb3 [a3,eb4,g4] d4 eb3 [a3,c4]@2 [a3,d4] ~, ~@4 a3@2 ~@6 eb4 ~@3", // Cm Dm Am7b5 Am D5
  AB: "bb2 ~ bb2@2 [ab3,bb3,d4] ~ bb2 [ab3,eb4,f4] bb2 [ab3,eb4,f4] d4 bb2 [ab3,f4]@2 d4 ~, ~@12 eb4 ~@3", // Bb7 Fm7 Db
  AC: "db3 ~ db3@2 [b3,eb4,f4,ab4]@3 [b3,f4] c3 ~ c3@2 [bb3,eb4,e4]@2 ~ [bb3,eb4,e4], ~@12 ab4@3 ~", // Fm7b5 Bdim Eb
  AD: "[f3,c4,f4] ~@7", AE: "[db4,eb4,g4,a4]", AF: "[b3,d4,f4,a4]", AG: "~ bb3, [d4,f4,a4]", AH: "[a3,c4,e4,g4]",
  AI: "~@3 a4, [db3,db4,e4,g4]", AJ: "[d3,d4,f4] [db3,db4,f4]", AK: "[c3,f4,a4]",
  AL: "[[b2,d4,f4,a4]@15 ~ [f4,a4]@16, ~@15 bb2@17]/2", AM: "f5@2 ~ g4, eb3, db4@7 ~, g4@5 c5@3, c5 f5",
  AN: "ab3 ~@2 ab4, eb4, ~ ab3@3, ~ g4", AO: "~ g3, [d4,g4], b3@3 ~", AP: "[b3,d4,f4]!2, b2",
  AQ: "[c3,c4,eb4] [bb2,bb3], g4", AR: "a3@5 ~@2 eb4, [a2,g4], c4@3 c4, ~@5 a3@3",
  AS: "ab3!2 [ab3,c4,eb4,g4]@2, ab2, [c4,eb4] ~", AT: "[f2,f3]@2 ~ g2@2 ~ [ab2,ab3]@7 ~@3, ~@3 g3 ~@12",
  AU: "[gb2,gb3]@2 ~ [ab2,ab3] ~@2 [a2,a3]@9 ~", AV: "[bb3,d4,f4] [c4,e4,g4] [db4,f4,ab4] [eb4,g4,bb4]",
  AW: "[e4,g4,c5]", AX: "[c3,c4,g4,c5] ~@7", AY: "[f3,c4,f4]@2 ~@2 [f3,c4,eb4]@3 [c3,bb3,d4]@6 ~@3, ~@4 f4@9 ~@3",
  AZ: "~@2 [f3,c4,f4]@3 ~@5 [f3,c4,f4]@2 ~@4", // F5
  BA: "[~@4 [c4,f4]@17 ~@7 g4 ~ eb4 ~, ~@4 [f2,f3]@22 bb4 ab4@2 ~@3, ~@4 c5@19 f5@6 ~@3, ~@22 [c4,f4,g5,c6]@7 ~@3, ~@22 bb4@2 c5@5 ~@3]/2", // F5 F Csus4
  BB: "[~@2 bb3 eb4 c4 [bb3,eb4] c4 ~@2 bb3 ~@3 c4@2 eb3 ~@3 b3@2 gb3@32 ~@11, ~@5 f2@16 ~@43, ~@3 eb3@4 ~ f3@2 ~@22, ~@8 f3@2 ~ eb4@4 ~@4 c4 ~@44, ~@12 bb3@3 ~@3 bb3@2 ~@44]/4", // Eb5
})).s("gm_epiano1").gain(0.26).pan(0.3)

// chords · epiano1 · soft notes
const epiano1_soft = note(`<
  ~ A B C D ~@3 E ~@3 F ~ G ~@10 H I ~ J K L M ~ H I ~ J K L M ~@4 F ~ G ~@6 N O@2 P N Q ~@2 R ~@14 H I ~ J K L M ~ H I
  ~ J K L M ~@17 H I ~ J K L M ~ H I ~ J K L M ~@5 F ~@3 F ~@13
>`.pickRestart({
  A: "~@6 c3 ~@9", B: "~@8 bb2 ~@7", C: "~ f2@3 ~@4", D: "~@6 bb2 ~@9", E: "~@14 [g3,a3] f3", F: "bb2 ~ ab3 ~@13",
  G: "bb3@3 ~", H: "~@14 e4 ~", I: "~@6 bb2 ~ bb2 ~@2 bb2 ~@4", J: "~@10 a3 ~@5", K: "~@6 eb3 ~@9", L: "~@5 bb3 ~@10",
  M: "~@7 eb4 ~@8", N: "c4", O: "[~@15 [bb3,d4]@17]/2", P: "~@7 db4", Q: "g3@2 ~ b3, g2", R: "eb4@7 ~",
})).s("gm_epiano1").gain(0.15).pan(0.3)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@9 A B C D E F G H I J K L M N O ~ P Q R S A T U V A W U X P W Y Z P T AA AB E AC ~@21 AD AE K AF M AG O ~ P W U AH P
  AI AJ AK P AL R AM P W R Z ~@16 P W AJ AK P T AJ AN P T U V P AO AJ Z ~ AP AQ AA AR P T AA AS ~@13
>`.pickRestart({
  A: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
  B: "f4 f4@2 [d4,f4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, [ab3,d4]@3 ~@13", // Dm Ddim Abdim
  C: "[a3,eb4,f4]@3 [a3,f4] [a3,eb4,f4] ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Dm F7 Adim
  D: "[ab3,d4]@3 [ab3,f4] [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, f4 ~@15", // Abdim Db Ddim Abdim
  E: "[b3,eb4,f4]@2 ~@2 [b3,eb4,f4] ~@5 [b3,eb4,f4] ~@2 [b3,eb4,f4] ~@2", // Fm7b5
  F: "[c4,e4]@2 e4 [c4,e4] c4 ~@5 [c4,e4] ~@2 [ab3,c4] ~@2", // C Ab
  G: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4,f4] ~ eb3 [a3,eb4,f4] ~@2", // F7
  H: "~@2 [g3,c4] ~ [c3,g3,c4] [g3,c4] ~ [g3,c4] ~ [g3,c4] ~ [g3,c4]!2 gb3 ~@2", // C5
  I: "~@2 [f3,c4,f4]@2 ~@3 [f3,c4] ~ [f3,c4] ~@2 [f3,c4,f4]@2 [f3,c4,f4] ~", // F5
  J: "~@2 [ab3,d4] d4 ~ d4 bb3 [f3,ab3,d4]@2 [ab3,d4] ~@2 [f3,ab3,d4]@2 [ab3,d4] ~", // Abdim Ddim Abdim Ddim Abdim
  K: "~@2 [f3,c4,f4]@3 f4 ~ [f3,c4] ~ [f3,c4,f4]@2 c4 [f3,c4,f4]@2 [f3,c4] [c4,f4]", // F5
  L: "~@2 d4 ~ bb3 [d4,f4] ~ [db4,e4]@3 [db4,e4] e4 ~ e4 ~@2, ~@7 a3@5 ~@4", // Dm Dbm
  M: "[a3,d4,f4]@2 [a3,d4,f4] [d4,f4] a3 [a3,d4,f4] ~ eb4 ~ eb4@2 f4 ~ f4 ~@2, ~@7 bb3@8 ~, ~@7 f4@4 ~@5", // Dm
  N: "~@3 [g3,b3,d4] ~ [g3,b3,d4] d4 ~@2 [g3,c4] ~ c4 [g3,bb3,c4] ~ [g3,bb3,d4] ~", O: "[f3,c4,f4] ~@7",
  P: "[a3,eb4,f4]@3 [a3,eb4,f4]!2 ~@5 [a3,eb4] ~@2 [a3,eb4] ~@2", // F7 Adim
  Q: "[ab3,d4]@3 f4 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
  R: "[b3,db4,f4]@3 f4 [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 C7 Bbsus2
  S: "[f3,c4]@3 [c4,f4] [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
  T: "[ab3,d4]@3 ~ [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
  U: "[b3,db4,f4]@3 b3 [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 C7 Bbsus2
  V: "f4 f4@2 ~ [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, [f3,c4]@3 ~@13", // F5
  W: "[ab3,d4]@3 d4 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
  X: "f4 f4@2 f3 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, [f3,c4]@3 ~@13", // F5
  Y: "[b3,db4,f4]@3 ~ [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", Z: "[f3,c4,f4] ~@15",
  AA: "[a3,eb4,f4]@3 a3 [a3,eb4,f4] ~@5 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
  AB: "f4 f4@2 d4 [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, [ab3,d4]@3 ~@13", AC: "[c4,e4]@3 ~@13",
  AD: "~@2 [f3,c4,f4]@2 ~@3 [f3,c4,f4] ~ [f3,c4,f4] ~@2 [f3,c4,f4]@2 [f3,c4,f4] ~", // F5
  AE: "~@2 [ab3,d4] d4 ~ d4 bb3 [f3,ab3,d4]@2 [f3,ab3,d4] ~@2 [f3,ab3,d4]@2 [ab3,d4] ~", // Abdim Ddim Abdim
  AF: "~@2 d4 ~ bb3 [d4,f4] bb3 [db4,e4]@3 [db4,e4] e4 ~ e4 db4 ~, ~@7 a3@5 ~@4", // Dm Dbm
  AG: "~@3 [g3,d4] ~ [g3,b3,d4] d4 ~@2 [g3,c4] ~ c4 [g3,bb3,c4] ~ [g3,bb3,d4] ~", // G5 G C5 C7 Gm
  AH: "[f3,c4]@3 f4 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
  AI: "[ab3,d4]@3 [ab3,f4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Db Ddim
  AJ: "[b3,db4,f4]@3 [b3,f4] [b3,db4,f4] ~@5 [bb3,c4,e4] ~@2 [bb3,c4] ~@2", // Db7 Bdim Db7 C7 Bbsus2
  AK: "[f3,c4]@3 ~ [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
  AL: "[ab3,d4]@3 [ab3,d4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
  AM: "[f3,c4]@3 c4 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
  AN: "[f3,c4]@3 f3 [f3,c4,f4] ~@5 [f3,c4] ~@2 [f3,c4] ~@2, f4 ~@15", // F5
  AO: "f4 f4@2 [ab3,d4] [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, [ab3,d4]@3 ~@13", // Abdim Ddim Abdim
  AP: "~@10 [a3,eb4,f4] ~@2 [a3,eb4] ~@2", // F7 Adim
  AQ: "[ab3,d4]@3 ab3 [ab3,d4,f4] ~@5 [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@2, f4 ~@15", // Abdim Ddim
  AR: "[ab3,d4]@3 d4 [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, f4 ~@15", // Abdim Ddim Abdim
  AS: "f4 f4@2 ~ [ab3,d4,f4] ~@5 [ab3,d4] ~ eb3 [ab3,d4] ~@2, [ab3,d4]@3 ~@13", // Ddim Abdim
})).s("gm_electric_guitar_muted").gain(0.06).pan(0.6)

// other · pan flute
const pan_flute = note(`<
  A B C@2 D E F@2 ~@8 G@2 H I J K L ~@9 M N O P@2 Q R S T@2 U V W X Y ~@10 Z@2 AA@2 AB AC ~@6 AD@2 AE@2 AF AG ~@8 M N O
  P@2 Q R S AH ~@23 M N O P@2 Q R S AH ~@22
>`.pickRestart({
  A: "~@14 c6 ~", B: "c6@2 f5 ~@13",
  C: "[~@2 bb5 ~ bb5@2 ab5 ~ bb5@2 ab5 ~ bb5@2 ab5 c6@3 a5@4 f5@3 ~@7, ~@4 ab5 ~@27]/2",
  D: "~@2 bb5 ~ bb5@2 ab5 ~ bb5@2 ab5 ~ bb5@2 ab5@2, ~@12 ab5 ~@3", E: "b5@3 ab5@3 ~@2",
  F: "[~@2 f5 ~ f5 ~ f5 ~ f5@2 f5 ~ f5@2 f5 ab5@3 f5@5 ~@9]/2", G: "[~@12 c6 ~ c6@4 c6 ~@13]/2",
  H: "~@2 ab5 ~ bb5@2 ab5 bb5@3 ab5@2 bb5@2 ab5 ~", I: "c6@2 a5@4 f5@5 ~@5",
  J: "~@2 bb5 ~ bb5 ~ bb5 bb5@2 ~ bb5@2 bb5 ~ bb5@2", K: "a5@3 ~ a5@2 g5@4 f5@5 ~",
  L: "~@2 g5 ~ g5@2 g5@2 g5@3 ~ g5 ~ f5@2", M: "~@10 f5 ~ f5 ~ f5 ~", N: "ab5!2 f5 ~@6 f5 ~@2 f5 ~ f5 ~",
  O: "ab5!2 f5 ~@7 f5 ~ f5 ~ f5 ~", P: "[ab5!2 f5 ~@5 f5 ~ f5 ~ f5 ~ f5@5 ~@7 c6@2 bb5@2 ab5@2, ~@26 bb5 ~@5]/2",
  Q: "bb5@6 ab5@2 ~@2 c6@2 bb5@2 ab5 ~, ~@10 bb5 ~@5", R: "bb5@2 ab5 f5@6 ~ f5 ~ f5 ~ f5 ~",
  S: "ab5!2 f5@5 ~@3 f5 ~ f5 ~ f5@2", T: "[f5 ~@11 c6 ~ c6@4 c6 ~@13]/2",
  U: "~@2 ab5 ~ bb5@2 ab5 bb5@2 ab5@2 ~ bb5@2 ab5 ~", V: "c6@2 a5@4 f5@5 ~@5, ~@2 ab5 ~@13",
  W: "~@2 bb5 ~ bb5@2 ab5 bb5@2 ab5@2 ~ bb5@2 ab5 ~", X: "b5@3 ab5@3 ~@2, bb5 ~@15",
  Y: "~@2 f5 ~ f5 ~ f5 f5@3 f5@4 f5@2", Z: "[~@2 c5@2 ~@2 c5 ~ eb5@2 ~ c5@2 eb5@2 f5@4 d5@7 ~@6, ~@5 eb5@2 ~@25]/2",
  AA: "[~@2 g5@2 ~ g5 ~ g5 ~ g5@2 g5@2 c6@2 g5@4 f5@2 ~ eb5 ~ eb5@3 ~@2 c5 ~ c5, ~@21 f5@2 ~@9]/2",
  AB: "c5@2 d5@2 eb5 ~ f5 g5@3 g5 ~@3 c5!2", AC: "c5@3 d5@2 ~ f5 ~ g5@2 g5 ~@5, ~@5 eb5@2 ~@9",
  AD: "[~@2 ab5 ~ bb5@2 ab5 ~ bb5 ~ bb5@2 ab5@2 c6@4 ab5@5 f5@6 ~@3]/2",
  AE: "[~@2 ab5 ~ bb5@2 ab5 ~ [ab5,bb5] ~ bb5@2 bb5 ~ a5@5 ~ a5@2 g5@4 f5@5 ~, ~@14 ab5 ~@7 f5 ~@9]/2", // Absus2
  AF: "~@2 ab5@2 ab5 ~ ab5 ~ ab5 ~ ab5 ~ ab5@2 ab5@2", AG: "~ ab5 ~@14", AH: "f5 ~@15",
})).s("gm_pan_flute").gain(0.41)

// other · brass section
const brass_section = note("<~@92 A B C D E F G H I@2 J K L M N O P ~@25 Q@2 R@2 ~@8>".pickRestart({
  A: "~@2 [c4,c5] ~ [bb3,bb4]@2 [ab3,ab4] [bb3,bb4] ~@8", // C Bb Ab Bb
  B: "~@2 [c4,c5] ~ [bb3,bb4]@2 [ab3,ab4] [bb3,bb4] ~ [c4,c5]@3 [ab3,ab4]@2 [f3,f4] ~", // C Bb Ab Bb C Ab F
  C: "[eb4,eb5]@2 [d4,d5] [db4,db5] [c4,c5]@2 [b3,b4] [bb3,bb4] [a3,a4] [bb3,bb4] [b3,b4] [eb4,eb5] [b3,b4] ~@3", // Eb D Db C B Bb A Bb …
  D: "~@3 [f4,f5]@2 [c4,c5] [bb3,bb4]@2 [bb3,bb4] [c4,c5] [ab3,ab4] [f3,f4] ~@4", // F C Bb C Ab F
  E: "~@4 [ab3,ab4]@2 [f3,f4] [bb3,bb4] ~ [ab3,ab4] ~ [bb3,bb4] [ab3,ab4]@2 [bb3,bb4] ~", // Ab F Bb Ab Bb Ab Bb
  F: "~@4 [ab3,ab4]@2 [f3,f4] [bb3,bb4] ~ [bb3,bb4]@3 [bb3,bb4] ~@3", // Ab F Bb
  G: "~@3 [f3,f4]@3 [a3,a4]@3 [ab3,ab4]@2 [g3,g4]@2 [f3,f4]@2 [e3,e4]", // F A Ab G F E
  H: "[f3,f4] [ab3,ab4] [bb3,bb4] [c4,c5] [f4,f5] [c4,c5] [eb4,eb5] [d4,d5] ~@4 [c3,c4] [db3,db4] [d3,d4] ~", // F Ab Bb C F C Eb D …
  I: "[~@4 [f4,ab4,c5]@3 ~@5 [ab3,ab4]@2 [f3,f4] [bb3,bb4]@3 [ab3,ab4] ~ [f3,f4]@2 [eb3,eb4] [ab3,ab4]@2 ~ [f3,f4]@5 ~]/2", // Fm Ab F Bb Ab F Eb Ab …
  J: "~@2 [f3,f4] ~@2 [eb3,eb4] ~@2 [b2,b3] [c3,c4] [db3,db4] [d3,d4] ~ [eb3,eb4] [e3,e4] [f3,f4]", // F Eb B C Db D Eb E …
  K: "~@4 [ab3,ab4] ~ [f3,f4] ~ [ab3,ab4]@3 [bb3,bb4] ~@4", L: "[c4,c5] ~@3 [bb3,bb4] ~@3 [ab3,ab4]@3 [f3,f4] ~@4",
  M: "~@2 [eb3,eb4]@2 [f3,f4]@2 [ab3,ab4]@2 [bb3,bb4]@2 [f3,f4] [ab3,ab4]@3 [bb3,bb4] ~", // Eb F Ab Bb F Ab Bb
  N: "[c4,c5] ~@3 [bb3,bb4] ~@3 [ab3,ab4]@3 [bb3,bb4] ~ [ab3,ab4]@3", O: "~ ab4 bb4 c5, [f3,f4]", P: "[f3,ab4]@7 ~@9",
  Q: "[~@10 [c4,f4]@2 [eb4,ab4]@2 [c4,f4]@7 ~ [bb3,eb4]@2 [c4,f4]@3 [bb3,eb4]@5]/2", // F5 Ab5 F5 Eb5 F5 Eb5
  R: "[[c4,f4]@3 [eb4,ab4]@2 f4@13 ~@14, gb4 ~@4 c4 ~@26]/2", // F5 Ab5
})).s("gm_brass_section").gain(0.29)

// chords · percussive organ
const percussive_organ = note(`<
  ~@2 A B C D E ~@2 F G H I J K L M N O P Q R S T@2 U V W@2 X Y Z AA U V W@2 X Y Z AB F G H I J AC AD AE AF AG AH@5 AI
  AJ AK@4 AL AM AN AO AP AQ ~ O P Q R S AR ~ U V W@2 X Y Z AS U V W@2 X Y Z AB ~@16 U V W@2 X Y Z AA U V W@2 X Y Z AB ~
  AT G H I F G H I AU AV@2 AW AX@5 AY@4
>`.pickRestart({
  A: "[ab4,c5,d5,f5]@3 [c5,d5] ~@12", B: "[a4,c5,eb5,g5]@3 ~@13",
  C: "[ab4,c5,d5,f5]@2 ~ [d5,f5] ~@2 [ab4,d5,g5]@3 ~@7, ~@6 c5 ~@9", // Dm7b5 Dm G
  D: "~ c6 eb6 f6 ab6 ~ eb6 ~ f6@3 eb6 ~@2 [ab5,bb5] ab5", E: "bb5 ab5 f5 ~@13",
  F: "~@6 [a4,c5,eb5,f5]@4 [a4,eb5,f5] ~@5", G: "~@6 [ab4,c5,d5,f5]@4 [ab4,c5,d5,f5] ~@5",
  H: "~@6 [a4,c5,eb5,f5]@4 [a4,c5,eb5,f5] ~@5", I: "~@6 [ab4,c5,d5,f5]@3 ~ [ab4,c5,d5,f5] ~@5",
  J: "~@6 [b4,eb5,f5,ab5]@8 a4 ~", K: "c6@11 ab5 bb5@2 ab5 ~, bb5 ~@15",
  L: "~@6 [a4,c5,eb5,f5]@4 [a4,eb5] ~@2 [a4,c5,eb5,f5] ~@2", M: "~@12 [ab4,c5,e5,g5]@3 [d4,e4,f4]", N: "c4 ~@15",
  O: "[ab4,d5]@2 ~ [a4,eb5] ~@2 [ab4,d5]@6 a4 ~@3", P: "f4 g4 ab4 a4", Q: "bb4@7 [a4,db5]@8 ~",
  R: "[a4,d5]@6 ~ [bb4,eb5]@8 ~", S: "[d4,g4]@2 f4 e4, ~ c4",
  T: "[~ d4 ~@10 f6@6 c6 [ab5,bb5] bb5 ~ ab5 ~ bb5 ab5 f5@4 [d5,e5] c5, [c4,f4]@2 ~@10 eb6 ~@19]/2", // Absus2 Dsus2 F5
  U: "~@4 [c5,f5]@2 ~@3 c5 ~@2 [c5,f5]@2 f5 ~", V: "~@4 c5@2 ~ [c5,f5] ~ c5 ~@2 c5@2 f5 ~, ~@12 f5 ~@3",
  W: "[[eb5,f5,bb5]@8 ab5@2 f5@2 eb5@2 f5@4 ~@2 [a4,b4] [f4,g4] [d4,e4] c4 b3 ~@7]/2", // Ebsus2 Asus2 Fsus2 Dsus2
  X: "~@4 [c5,f5]@2 ~ f5 ~ [c5,f5] bb4 ~ c5@2 ~@2, ~@12 f5 ~@3", // F5
  Y: "~@2 bb4 ~ [c5,f5]@2 bb4 [c5,f5] ~ [c5,f5] bb4 ~ [c5,f5] ~ bb4 ~", Z: "~@5 ab5 bb5 c6",
  AA: "f6@2 e6 [c6,d6] [a5,b5] ~@11", AB: "f6@2 e6 [c6,d6] b5 ~@11", AC: "f6@12 eb6 c6@2 ~, bb5 ~@15", AD: "a6@15 g6",
  AE: "f6@15 [eb6,e6], gb6 ~@15", AF: "d6", AG: "c6",
  AH: "[g5@12 ~@4 d5@8 db5@8 ~@10 a5 ~ d6 ~@2 e6 f6@31 g6, [db5,e5] f5@4, ~@12 a5@29 ~@5 eb6@2 b4@14 ~@18, ~@32 c5@15 ~ d5@29 ~@3]/5", // Dbm
  AI: "[eb4,a6]@12 ~ g6 ~@2, ab6 ~@11 e4@2 ~@2", AJ: "[ab4,c5]",
  AK: "[~ g4@15 f4@16 [c4,c5]@8 bb3@8 ~@12 c6 d6 eb6 f6, ~ [b4,d5]@31 eb5@31 ~, ~@32 g4@15 ~ [a3,c5]@16, ~@20 bb4@3 ~ a4@7 ~]/4", // C Bm Am
  AL: "g6@12 [e6,f6] [b5,c6] ~@2, [ab3,ab4,c5,eb5]@7 ~", AM: "[f3,f4]@2 ~ [g3,g4]@2 ~ [ab3,ab4]@7 ~@3",
  AN: "[gb3,gb4]@3 [ab3,ab4]@2 ~ [a3,a4]@7 ~@3", AO: "[f4,bb4]@4 [g4,c5]@4 [ab4,db5]@4 [bb4,eb5]@3 ~",
  AP: "[c4,c5,e5,g5]", AQ: "[c4,c5]@2 b4 [e4,f4] d4 c4 ~@10, e5 ~@15", AR: "~ d4 ~@14, [c4,f4] ~@7",
  AS: "f6@2 e6 [f5,c6,d6] [eb5,a5,b5] f5 ab5 f5 eb5 c5 bb4 ab4 bb4 c5 eb5 f5", // Dm7 B7
  AT: "~@4 [a4,c5,eb5,f5]@6 [a4,eb5,f5] ~@5", AU: "~ [f5,ab5] ~@3 [c5,f5,ab5] ~@2, ~@2 c5 ~@13",
  AV: "[~@8 ab2@2 ~ c3@2 eb3 f3 ab3 bb3 c4 eb4@4 ~@5 [ab3,eb4]@2 ~@2 [f3,b3,eb4,b4], ~@4 [c5,f5,ab5]@25 ~@3, ~@7 f2@2 ~ bb2@2 ~@20]/2", // Ab5 Fm7b5 Fm
  AW: "eb5@5 c5 b4 ab4@2 ~@2 f3 [g4,ab4] ~@3, c5 ~@9 c5@5 ~, ~@6 a4 ~", // Abmaj7
  AX: "[[bb4,gb5]@11 ~ [a4,e5,ab5]@17 [bb4,c5,e5,g5]@44 e4 ~ g4 [e4,f4] g4 a4 bb4]/5", // Ebm Amaj7 C7 Fmaj7
  AY: "[c5 ~ d5 e5 f5 g5 a5 bb5 c6 ~ d6 e6 ~@11 c3@27 ~@14, ~@14 g6@37 ~@13, ~@23 c2@18 ~@23]/4",
})).s("gm_percussive_organ").gain(0.15)

// chords · percussive organ · soft notes
const percussive_organ_soft = note(`<
  ~@2 A B C ~@13 D ~@4 E ~ F G ~@2 H ~@2 I F G ~@2 H ~@9 J ~@7 K L M ~@4 N ~@4 O ~ D ~@4 E ~ F G ~@2 H ~@2 I F G ~@2 H
  ~@19 F G ~@2 H ~@2 I F G ~@2 H ~@25
>`.pickRestart({
  A: "~@3 f5 ~@12", B: "~@3 g4 f4 ~@11", C: "~@3 [ab4,c5] ~@12", D: "~@13 g4 ~@2",
  E: "~@2 [a3,bb3] [f3,g3] eb3 [c3,d3] ~@10", F: "~@7 [c5,f5] ~ f5 ~@6", G: "~@2 f5 ~@5", H: "~@6 bb4 ~@9",
  I: "~@5 g5 [e5,f5] d5 ~@8", J: "~@14 ab6 ~", K: "bb4@15 ~", L: "~@8 eb5@5 [e6,f6] [b5,c6,d6] [f5,g5,a5]",
  M: "eb5, e5 ~@15", N: "~@13 d6 ~@2", O: "~@5 b3 ~@10",
// … 273 more lines

More by Mina