Strudelify

Ti sento vivere

883

KeyD♭ majorTempo60 bpm
0:00/0:00
// Ti sento vivere — 883
// 60 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 58 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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(`<
  A B C D A B C D A B C D E F G H I J K L M N O P Q R A B C D A B C D S F T U I J K V W N X Y Z I J AA AB W AC AD AE AF
  AG@2
>`.pickRestart({
  A: "db2@24 gb1@23 ~", B: "db2 ab1", C: "db2 bb1", D: "ab1 gb1 db1@2",
  E: "gb1@7 ~@2 gb1@2 ~ gb1@10 ~@2 db1@7 ~@2 db1 ~@2 db1@10 ~@2",
  F: "gb1@7 ~@2 gb1 ~@2 gb1@10 ~@2 ab1@7 ~@2 ab1 ~@2 ab1@10 ~@2",
  G: "bb1@7 ~@2 bb1@2 ~ bb1@11 ~ gb1@7 ~@2 gb1@2 ~ gb1@10 ~@2",
  H: "db1@7 ~@2 db1@2 ~ db1@10 ~@2 ab1@7 ~@2 ab1@2 ~ gb1@6 ab1@6",
  I: "db1@7 ~@2 db1@2 ~ db1@8 ~@4 db1@7 ~@2 db1@2 ~ ab1@5 ~ ab1@5 ~",
  J: "gb1@7 ~@2 gb1@2 ~ gb1@9 ~@3 gb1@7 ~@2 gb1@2 ~ db1@5 ~ db1@6",
  K: "eb1@7 ~@2 eb1@2 ~ eb1@5 ~ eb1@2 ~ f1@2 ~ bb1@8 ~ bb1 ~@2 bb1@10 ~@2",
  L: "gb1@7 ~@2 gb1@2 ~ gb1@10 ~@2 ab1@7 ~@2 ab1@2 ~ ab1@2 ~ ab1@5 ~ ab1@3",
  M: "db1@7 ~@2 db1@2 ~ db1@8 ~@4 db1@7 ~@2 db1@2 ~ f1@12",
  N: "gb1@7 ~@2 gb1@2 ~ gb1@9 ~@3 gb1@7 ~@2 gb1@2 ~ gb1@5 ~ ab1@6",
  O: "db1@7 ~@2 db1@2 ~ db1@10 ~@2 gb1@8 ~ gb1@2 ~ gb1@5 ~ gb1@2 ~ ab1@2 ~",
  P: "db1@7 ~@2 db1 ~@2 db1@10 ~@2 gb1@7 ~@2 gb1 ~@2 gb1@5 ~ gb1@2 ~ ab1@3",
  Q: "db1@8 ~ db1 ~@2 db1@11 ~ ab1@7 ~@2 ab1 ~@2 ab1@11 ~", R: "db1", S: "gb1@7 ~@2 gb1@2 ~ gb1@10 ~@2 db1@24",
  T: "bb1@7 ~@2 bb1@2 ~ bb1@11 ~ bb1@7 ~@2 bb1@2 ~ bb1@5 ~ c2@6",
  U: "db2@7 ~@2 db2@2 ~ db2@10 ~@2 ab1@7 ~@2 gb1@2 ~ gb1@5 ~ gb1@6",
  V: "gb1@7 ~@2 gb1@2 ~ gb1@8 ~ gb1@2 ~ ab1@7 ~@2 ab1@2 ~ ab1@5 ~ ab1@5 ~",
  W: "db1@7 ~@2 db1@2 ~ db1@8 ~@4 db1@7 ~@2 db1@2 ~ f1@8 ~ f1@2 ~",
  X: "db1@7 ~@2 db1@2 ~ db1@10 ~@2 gb1@8 ~ gb1@2 ~ gb1@12", Y: "db1@7 ~@2 db1 ~@2 db1@10 ~@2 gb1@7 ~@2 gb1 ~@2 gb1@12",
  Z: "db1@8 ~ db1 ~@2 db1@5 ~ db1@2 ~ gb1 ~@2 ab1@7 ~@2 ab1 ~@2 ab1@5 ~ ab1@6",
  AA: "eb1@7 ~@2 eb1@2 ~ eb1@5 ~ eb1@2 ~ f1@2 ~ bb1@8 ~ bb1 ~@2 bb1@5 ~ ab1@6",
  AB: "gb1@7 ~@2 gb1@2 ~ bb1@5 ~ bb1@6 ab1@7 ~@2 ab1@2 ~ ab1@5 ~ ab1@5 ~",
  AC: "gb1@7 ~@2 gb1@2 ~ gb1@9 ~@3 gb1@7 ~@2 gb1@2 ~ gb1@5 ~ ab1@3 gb1@3",
  AD: "f1@7 ~@2 f1@11 ~ f1@3 gb1@8 ~ gb1@2 ~ ab1@6 gb1@6",
  AE: "f1@7 ~@2 f1@11 ~ f1@3 gb1@8 ~ gb1@2 ~ ab1@5 ~ gb1@4 ~@2",
  AF: "f1@7 ~@2 f1@11 ~ gb1@3 ab1@8 ~ ab1@2 ~ ab1@5 ~ ab1@6", AG: "[db1@3 ~]/2",
})).s("gm_fretless_bass").gain(0.64)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note("<~@5 A B C ~ D E ~@10 F ~@5 G H ~@2 I@2 ~@25>".pickRestart({
  A: "~@12 bb3 c4 db4 eb4", B: "f4@5 ~@11", C: "~@36 db4 ~ db4@9 ~, ~@37 eb4@2 ~@9", D: "~@11 ab3 bb3 c4 db4 eb4",
  E: "f4@3 ~@13", F: "~@21 gb4@13 ~@14", G: "~@36 bb3@3 c4@3 db4@3 eb4@2 ~", H: "eb4@11 ~ ab4@9 ~@27",
  I: "[~@33 bb3@3 c4@3 db4@3 eb4@14 ~@40]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.4).pan(1)

// other · french horn
const french_horn = note("<~@19 [~@5 ab4@3] ~@38>").s("gm_french_horn").gain(0.48)

// other · glockenspiel
const glockenspiel = note("<~@7 A ~@3 B ~ C ~@15 D ~@3 B ~ E ~@22>".pickRestart({
  A: "~@24 db5@2 ~@7 ab4@2 ~@7 db6 ~@5, ~@33 ab5 ~@14", B: "~@24 db5 ~@8 ab5 ~@8 db6 ~@5",
  C: "~@36 c5 ~@2 db5 ~@2 eb5 ~@2 ab5 ~@2", D: "~@24 db5@2 ~@7 ab5 ~@8 db6 ~@5",
  E: "~@36 c6 ~@2 db6 ~@2 eb6 ~@2 ab6 ~@2",
})).s("gm_glockenspiel").gain(0.06).pan(0)

// other · string ensemble 1
const string_ensemble_1 = note("<~@16 A@2 B@4 C@4 ~@12 D E@4 F@3 G@7 H@5>".pickRestart({
  A: "[[f4,f5]@36 [ab4,ab5]@29 [gb4,gb5]@6 [f4,f5]@12 [gb4,gb5]@6 [f4,f5]@3 [gb4,gb5]@4]/2", // F Ab Gb F Gb F Gb
  B: "[[eb4,eb5]@17 [f4,f5]@2 ~ gb4@3 [f4,f5]@5 [db4,db5]@19 [gb4,gb5]@6 [f4,f5]@3 [eb4,eb5]@3 [db4,db5]@6 [f4,f5]@5 [eb4,eb5]@25 [f4,f5]@6 [db4,db5]@2 ~ eb4@2 ~ f5@5 ~ db4@6 [f4,f5]@12 [ab4,ab5]@12 ~ db5@11 [c5,c6]@12 [bb4,bb5]@11 [c5,c6]@7 [db5,db6]@7, ~@19 gb5@4 ~@80 eb5@3 f4@6 db5@7 ~@24 db6@12 ~@37]/4", // Eb F Db Gb F Eb Db F …
  C: "[[c5,c6]@2 [db5,db6]@3 [ab4,ab5]@12 [db4,db5]@3 [bb4,bb5]@18 [c5,c6]@4 [db5,db6]@5 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@12 [db4,db5]@3 [bb4,bb5]@19 [c5,c6]@4 [db5,db6]@4 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@11 [db4,db5]@6 [gb4,gb5]@6 [f4,f5]@7 [eb4,eb5]@9 [db4,db5]@47 ~@5]/4", // C Db Ab Db Bb C Db C …
  D: "[f4,f5]@5 [db4,db5]@3 [eb4,eb5]@3 [f4,f5]@6 [db4,db5]@3 [eb4,eb5]@3 [f4,f5]@12 [ab4,ab5]@13", // F Db Eb F Db Eb F Ab
  E: "[[bb4,bb5]@16 [gb4,gb5]@6 ~ f4@12 ~ gb4@11 [eb4,eb5]@17 ~ gb4@5 ~ f4@11 [db4,db5]@13 [gb4,gb5]@6 [f4,f5]@3 [eb4,eb5]@3 [db4,db5]@6 [f4,f5]@5 [eb4,eb5]@25 [f4,f5]@6 ~ db5@2 [eb4,eb5]@3 [f4,f5]@6 [db4,db5]@3 [eb4,eb5]@3 [f4,f5]@12 [ab4,ab5]@13, ~@22 f5@13 gb5@13 ~@16 gb5@6 f5@12 ~@67 db4@3 ~@40]/4", // Bb Gb Eb Db Gb F Eb Db …
  F: "[[db5,db6]@11 [c5,c6]@12 [bb4,bb5]@12 [c5,c6]@6 ~ db5@5 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@13 [db4,db5]@3 [bb4,bb5]@18 [c5,c6]@4 [db5,db6]@4 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@12 [db4,db5]@3 [bb4,bb5]@19 [c5,c6]@4 [db5,db6]@4 [c5,c6], ~@41 db6@7 ~@96]/3", // Db C Bb C Db Ab Db Bb …
  G: "[~@2 db5@3 [ab4,ab5]@12 [db4,db5]@6 [gb4,gb5]@6 [f4,f5]@6 [eb4,eb5]@6 [db4,db5]@6 [f4,f5]@6 [db4,db5]@3 [eb4,eb5]@3 [f4,f5]@6 ~@3 eb5@3 [f4,f5]@12 [ab4,ab5]@24 [bb4,bb5]@6 [gb4,gb5]@6 [f4,f5]@11 [gb4,gb5]@13 [eb4,eb5]@18 [gb4,gb5]@6 [f4,f5]@12 [db4,db5]@12 [gb4,gb5]@5 ~ f5@2 [eb4,eb5]@3 [db4,db5]@7 [f4,f5]@5 ~ eb4@11 [gb4,gb5]@7 [f4,f5]@6 [f4,f5]@6 ~ db5@2 [eb4,eb5]@3 [f4,f5]@5 ~ db4@2 [eb4,eb5]@3 [f4,f5]@13 ~ ab4@11 [db5,db6]@13 [c5,c6]@11 [bb4,bb5]@12 [c5,c6]@6 [db5,db6]@6 [c5,c6], ~ db6@4 ~@60 [db4,db5]@4 ~@176 db4@3 ~@88, ~@67 eb4@3 ~@126 f4@3 ~@15 eb5@13 ~@29 db5@3 ~@16 ab5@12 ~@49]/7", // Ab Db Gb F Eb Db F Db …
  H: "[~@2 [db5,db6]@3 [ab4,ab5]@12 ~@3 [bb4,bb5]@15 [c5,c6]@7 [db5,db6]@5 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@13 [db4,db5]@2 [bb4,bb5]@15 [c5,c6]@6 [db5,db6]@6 [c5,c6]@3 [db5,db6]@3 [ab4,ab5]@12 [db4,db5]@6 [gb4,gb5]@6 [f4,f5]@6 [eb4,eb5]@7 [db4,db5]@65 ~@37, ~@17 db4@3 ~@220, ~@9 db5@2 ~@109]/5", // Db Ab Bb C Db C Db Ab …
})).s("gm_string_ensemble_1").gain(0.11).pan(0.4)

// other · oboe
const oboe = note("<~@46 A B C ~ D E F G H I J ~>".pickRestart({
  A: "ab4@11 ~ ab4@11 ~", B: "ab4@3 db4", C: "ab3", D: "~@8 ab4@7 ~", E: "ab4@35 ~ ab4@12", F: "gb4@23 ~",
  G: "ab4@24 gb4@12 ab4@11 ~", H: "~ ab4@23 gb4@12 ab4@11 ~", I: "ab4@4 gb4 f4 eb4@2", J: "db4",
})).s("gm_oboe").gain(0.4)

// chords · piano
const piano = note(`<
  A B C D E F G D E F H I J K L M N O P Q R S T U V W X F Y Z E AA H AB J K AC AD AE AF AG Q R AH AI AJ V AK O P AL AM S
  AN@2 AO@2 ~
>`.pickRestart({
  A: "f4 ~ ab4 ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 gb3@9 db4@9, ~ [ab2,gb4]@7 gb2@8, ~@6 db3@19 ~@2 db3@21, ~@9 [f3,ab4]@16 ~@2 db5@6 c4@15", // Ab5 Ab7 Fm
  B: "ab4 gb4 f4 eb4@2 [ab3,db4]@2 ~@6 eb4@3, db2@7 ab4@4 c4@5, ~@3 ab2@20 ~ ab2@24, ~@2 db3@6 ~ eb3@7, ~@3 f3@5 ~@2 ab3@6", // Db5
  C: "f4 ~ ab4 ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 bb3@9 db4@9, ~ [ab2,gb4]@7 bb2@8, ~@6 db3@19 ~@2 db5@6 c4@15, ~@9 [f3,ab4]@16 ~@2 f3@21", // Ab5 Ab7 Fm
  D: "ab4 ~@2 ab2 ~@2 db3!2 ~@3 ab3@5, ab2@3 [eb3,f4]@3 [gb2,gb3]@6 db2@11 ~, ~@3 [ab3,gb4]@6 eb4@16 ~@5 db3@18, ~@15 f3@10 ~@2 ab2@21, ~@15 db4@6 db4@26 ~", // Ebsus2 Gb Ab7
  E: "[db4,f4] ~ [f4,ab4] ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 gb3@9 db4@9, ~ [ab2,eb4,gb4]@7 gb2@8, ~@6 db3@19 ~@2 db3@21, ~@9 [f3,f4,ab4]@16 ~@2 db5@6 c4@15", // Db Fm Ab5 Ab7 Fm
  F: "[f4,ab4] [eb4,gb4] [db4,f4] eb4@2 [ab3,db4]@2 ~@6 eb4@3, db2@7 ab4@4 c4@5, ~@3 ab2@20 ~ ab2@24, ~@2 db3@6 ~ eb3@7, ~@3 f3@5 ~@2 ab3@6", // Fm Ebm Db Db5
  G: "[db4,f4] ~ ab4 ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 bb3@9 db4@9, ~ [ab2,eb4,gb4]@7 bb2@8, ~@6 [db3,f4]@19 ~@2 db5@6 c4@15, ~@9 [f3,ab4]@16 ~@2 f3@21", // Db Ab5 Ab7 Db Fm
  H: "[db4,f4] ~ [f4,ab4] ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 bb3@9 db4@9, ~ [ab2,eb4,gb4]@7 bb2@8, ~@6 db3@19 ~@2 db5@6 c4@15, ~@9 [f3,f4,ab4]@16 ~@2 f3@21", // Db Fm Ab5 Ab7 Fm
  I: "[f4,ab4]@3 eb4@2 ~@4 ab2@3 ~@6 db3@3 db3@3 ~@9 ab3@15, ab2 [eb3,f4] [gb2,gb3]@2 db2@4, ~@3 [ab3,gb4]@6 eb4@16 ~@5 db3@18, ~@15 f3@10 ~@2 ab2@21, ~@5 db4@2 db4@9", // Fm Ebsus2 Gb Ab7
  J: "~@5 gb4@3 ~@5 ab3@3, gb2 db2, ~ db3@7 ~ ab2@7, ~ gb3@3 ~ db3@3, ~@3 ab3@5 ~@3 f3@5",
  K: "~@5 gb4@3 ~@5 eb4@3, gb2 ab2, ~@3 db3@22 ~@2 eb3@21, ~@6 gb3@19 ~@8 c4@15, ~@9 ab3@16 ~@5 ab3@18",
  L: "~@13 db4@3, bb2@5 db4@6 c4@5, ~@3 f3@20 ~ gb2@24, ~ bb3@4 bb3@3, ~@9 c4@14 ~@4 f3@21",
  M: "~@2 f3 ~@7 ab3@2 ~@2 eb3 db3, db2@23 ~ ab2@11 ~ gb2@12, ~@3 [ab2,eb3]@22 ~@23, ~@9 f3@16 ~@2 eb3@10 ~@2 f3@9, ~@5 ab3@5 ~@6", // Ab5
  N: "~ f3@5 ~ ab3, db2@37 ~@2 eb3@9, ~ ab2@11 ab2@4",
  O: "~@21 gb4@14 ~@7 f4@6, gb2@23 ~, ~ db3@4 db4@7 db3@4, ~@2 gb3@13 ~, ~@3 bb3@9 gb4 [ab3,db4]@3", // Db5
  P: "~@3 gb3@5 ~@5 f4@3, eb2@25 ~@5 bb3@18, ~@3 bb2@21 bb2@23 ~, ~@6 eb3@19 ~@2 f3@21, ~@11 db4@5",
  Q: "~@5 db4@3 ~@3 ab4@5, gb2 ab2, ~ db3@7 ~ eb3@7, ~ gb3@3 ~@4, ~@3 ab3@5 ~@2 ab3@6",
  R: "~@3 ab4@9 db4 ~ db4@2, db2@3 ~, ~ ab2@11 f2@4, ~@2 [db3,db4]@10 ~ ab4@3", // Db
  S: "~@2 [gb3,db4]@3 gb3@2 ~@5 gb2@2 ab2@2, [gb2,gb4]@21 gb4@25 ~@2, ~@3 ab4@43 ~@2, ~@3 db3@21 gb2@3 db3@20 ~, ~@15 db4@15 gb3@17 ~", // Gb5 Gb
  T: "~@2 [f4,ab4] [f4,ab4,db5]@2 [f4,ab4,db5]@3 ~@5 gb4@3, db2@23 ~@7 gb3@18, ~@3 ab2@20 ~ gb2@24, ~@6 f3@17 ~@4 db3@21, ~@11 ab3@5", // Fm Db
  U: "~@6 [f3,f4,ab4,db5]@3 [f3,f4,ab4,db5]@14 ~@16 db4@9, db2@23 ~@4 db3@21, ~@3 ab2@20 ~ gb2@24, ~@5 gb3@3, ~@11 ab3@5", // Db
  V: "~@2 [f3,f4,ab4,db5] ~@2 db4@3 ~@2 [eb4,ab4] [eb4,ab4,c5] ~@2 [eb4,ab4,db5]@2, db2@8 ~ ab3@2 [eb3,ab3]@2 [eb3,ab3]@3, ~ ab2@7 ab2@8, ~@3 [f3,f4,ab4,db5]@5 [eb3,eb4,ab4,db5]@2 db5@4 ~@2, ~@6 [eb4,ab4,c5] ~", // Db Ab5 Ab Dbsus2 Ab5 Db Dbsus2 Ab
  W: "[f4,ab4,db5]@6 [db4,f4,ab4]@9 ~@6 db5@23 ~@4, db2@47 ~, ~@15 [db4,f4,ab4]@32 ~", // Db
  X: "[db4,f4] ~ ab4 ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 gb3@9 db4@9, ~ [ab2,eb4,gb4]@7 gb2@8, ~@6 [db3,f4]@19 ~@2 db3@21, ~@9 [f3,ab4]@16 ~@2 db5@6 c4@15", // Db Ab5 Ab7 Db Fm
  Y: "[eb4,f4] ~ ab4 ~@9 db5!2 c5 bb4, db2@15 [ab3,eb5]@6 c5@7 ~@2 bb3@9 db4@9, ~ [ab2,gb4]@7 bb2@8, ~@6 db3@19 ~@2 db5@6 c4@15, ~@9 [f3,ab4]@16 ~@2 f3@21", // Ebsus2 Ab5 Ab7 Fm
  Z: "ab4 ~@2 ab2 ~@2 db3!2 ~@6 db5@2, ab2@6 [eb3,f4]@6 [gb2,gb3]@12 db2@15 db4@8 ~, ~@3 [ab3,gb4]@6 eb4@16 ~@5 db3@18, ~@15 f3@10 ~@2 ab2@21, ~@5 db4@2 db4@4 ab3@5", // Ebsus2 Gb Ab7
  AA: "[f4,ab4] [eb4,gb4] ~ eb4@2 [ab3,db4]@2 ~@6 eb4@3, db2@7 ab4@4 c4@5, ~@3 ab2@20 ~ ab2@24, ~@2 db3@6 ~ eb3@7, ~@2 [db4,f4] f3@5 ~@2 ab3@6", // Fm Ebm Db5 Db
  AB: "[f4,ab4] eb4 ~ ab2 ~@2 db3!2 ~@3 ab3@5, ab2 [eb3,db4,f4] [gb2,gb3]@2 db2@4, ~@3 [ab3,gb4]@6 eb4@16 ~@5 db3@18, ~@15 f3@10 ~@2 ab2@21, ~@5 db4@2 db4@9", // Fm Db Gb Ab7
  AC: "~@13 [eb3,ab3,c4]@3, bb2@5 db4@5 gb3@6, ~@3 f3@20 ~ bb2@24, ~ bb3@7, ~@9 c4@14 ~@4 db3@21", // Ab
  AD: "~@2 f3 ~@3 db4@2 ~@3 gb2@3 ~ db4, db2@23 ~ ab2@11 ~@13, ~@3 [ab2,eb3]@22 ~@5 ab3@15 ~@3, ~@9 f3@14 ~@4 eb3@18 ~@3, ~@5 ab4@3 ~@6 ab4@2", // Ab5
  AE: "~@5 db4@3 ~@6 ab3@2, db2@37 ~@11, ~ ab2@11 ab2@4, ~@6 f3@31 ~@2 eb3@9, ~@3 ab4@5 ~@8",
  AF: "~@7 gb4@9, gb2@23 ~, ~ db3@4 db4@11, ~@2 gb3@13 ~, ~@3 bb3@13",
  AG: "~@5 bb3@3 ~@5 f4@3, eb2@25 ~@8 db4@15, ~@3 bb2@21 bb2@23 ~, ~@6 eb3@19 ~@5 bb3@18, ~@9 gb3@16 ~@2 f3@21",
  AH: "~@5 gb3@2 ~@5 gb2@2 ab2@2, gb2@21 gb4@25 ~@2, gb4@5 ~ [gb3,gb4]@9 db4@28 ~@5, ~@3 db3@21 gb2@6 gb3@17 ~, ~@3 ab4@5 ~ ab4@15 ~@3 db3@20 ~", // Gb
  AI: "~@2 [f4,ab4] [f4,ab4,db5]@2 [f4,ab4,db5]@3 ~@5 gb4@3, db2@23 ~@7 gb3@18, ~@3 ab2@20 ~ gb2@24, ~@6 f3@17 ~@4 db3@21, ~@33 db4@13 ~@2", // Fm Db
  AJ: "~@6 [f3,f4,ab4,db5]@3 [f3,f4,ab4,db5]@14 ~@7 [gb4,db5]@3 db5@6 gb4@9, db2@23 ~@4 db3@6 gb4@5 ~@10, ~@3 ab2@20 ~ gb2@24, ~@5 gb3@3, ~@11 ab3@5", // Db Gb5
  AK: "~@6 [f4,ab4,db5]@2 ~ [f4,ab4,db5]@11 ~ [f4,ab4,db5]@15 ~@6 ab3@6, db2@37 ~@11, ~ ab2@11 ab2@4, ~@6 f3@31 ~@2 eb3@9", // Db
  AL: "~@3 ab3 ~@3 db4 ~@3 ab4@5, gb2@11 ~@7 bb3@7 ~@5 ab3@18, ~@3 db3@8 ~ bb2@12 ab2@24, ~@2 gb3@2 ~ f3@3 ~ eb3@7",
  AM: "~@3 ab4@9 ~@3 eb4, db2@6 ~ ab3, ~ ab2@11 f2@4, ~@2 [db3,db4]@10 ~ eb3@3", // Db
  AN: "[~@15 ab3@8 ~@10 ab3@3 [ab3,db4]@3 [ab3,db4]@3 gb2@6 ~@15 ab4@9 ~@6 ab3@5 ~ [ab2,ab3,db4,ab4]@6 [gb2,ab3,db4,ab4]@6, f2@24 gb2@12 ab2@7 ~@5 f2@24 gb2@11 ~@13, ~@3 ab4@20 ~@31 ab3@18 ~@24, ~@6 ab3@9 ~@12 db3@9 ~@15 db3@21 ~@3 db3@8 ~@13, ~@3 db4@5 ~@2 gb3@2 ~@2 [ab3,db4]@5 db4@5 ~@8]/2", // Db5 Gbsus2 Db5
  AO: "[~@15 ab4@6 gb2@3 ~@6 db4@3 [ab3,db4,ab4]@6 [ab3,db4]@9 ~@9 f3@6 ~@9 db5@23 ~, f2@8 ab2@10 db3@3 ~@11, ~@3 db3@21 eb3@11 ~@13 db2@47 ~, ~@2 ab3@6 ~ ab3@2 ~@6 ab3@4 ~@11, ~@9 db4@15 ~@15 ab4@16 ~@16 [f4,ab4]@24 ~]/2", // Db5 Fm
})).s("gm_piano").gain(0.56).pan(0.6)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@8 A B C D E F G H I J K L M N O P Q R ~@4 A B C D E F S H I J K L M N O P Q I J K L T N O P Q ~@2
>`.pickRestart({
  A: "~@9 f3@6 ab3@9 ~@9 c4@6 db4@8 ~, db2@21 ~@9 gb3@17 ~, ~@3 ab2@18 ~@3 gb2@23 ~, ~@2 db3@5 ~@2 db3@7",
  B: "~@15 ab3@8 ~@16 eb4@8 ~, db2@19 ~@14 c4@13 ~@2, ~@3 ab2@16 ~@5 ab2@22 ~@2, ~@6 db3@16 ~@5 eb3@20 ~, ~@9 f3@13 ~@8 ab3@16 ~@2",
  C: "db2@3 ab2@3 ~@9 ab3@8 ~@19 f3@6, ~@6 db3@17 ~ bb2@24, ~@9 f3@14 ~@4 f3@13 ~@8, ~@30 bb3@8 ~ bb3@9, ~@11 db4@5",
  D: "~@6 eb3@5 ~@7 db3@6 ~@24, ab2@5 ~ gb2@6 ~@12, ~@3 ab3@7 ~@5 gb3@9 ~@24",
  E: "~@9 db4@11 ~@19 ab3@9, gb2@5 ~ db2@6, ~@3 db3@17 ~@7 ab2@21, ~@3 gb3@7 ~@5 db3@9, ~@11 f3@5",
  F: "gb2@3 db3@3 gb3@3 db4@12 ~@18 eb4@8 ~, ~@24 ab2@9 c4@14 ~, ~@27 eb3@10 ~@11, ~@5 ab3@3",
  G: "~@15 db4@6 ~@9 bb3@3 c4@6 db4@8 ~, bb2@21 ~@3 gb2@23 ~, ~@3 f3@19 ~@5 f3@20 ~, ~@3 bb3@8 ~@13, ~@3 c4@4 ~@9",
  H: "~@3 eb3@3 ~@4 ab3@2 ~ f3 eb3 db3, db2@3 ~@5, ~@3 ab2@15 ~@6 ab2@10 ~@2 gb2@12, ~@6 db3@12 ~@9 eb3@7 ~@14",
  I: "~@3 f3@2 ~@2 ab2 ~@2 f3@2 ~@2 ab3@2, db2@22 ~@2 db2@9 ~@15, ~@3 ab2@15 f3@10 ~@11 eb3@9, ~@6 eb3@7 ~@2 eb3@10 ~@2 ab2@7 ~@2 ab2@12",
  J: "gb2@3 db3@3 ~@9 db4@5 ~ [ab3,db4]@12 ~@15, ~ gb3@3 ~@4, ~@9 ab3@11 ~@28", // Db5
  K: "~@9 bb3@11 ~@13 db4@10 ~@5, eb2@19 ~@11 bb3@14 ~@4, ~@3 bb2@17 ~@4 bb2@20 ~@4, ~@6 eb3@14 ~@7 f3@17 ~@4",
  L: "~@9 ab3@6 ~@6 gb3@4 ~@23, gb2@25 ~@23, ~@3 db3@22 ~@23, ~ gb3@2 ab3 ~@4, ~@15 db4@10 ~@23",
  M: "~@12 db4@2 ~@4 ab3@2 ~ ab3@10 ~@17, db2@19 ~@29, ~@3 ab2@16 ~@29, ~@6 db3@13 ~@29, ~@9 ab3@6 db4@16 ~@17",
  N: "~@4 db4@5 ~@7, gb2@9 ~@7, ~ db3@8 ~@7, ~@2 gb3@7 ~@7, ~@3 ab3@6 ~@7",
  O: "~@9 ab3@11 ~@13 [ab3,db4]@14 ~, db2@20 ~@10 gb3@17 ~, ~@3 ab2@17 ~@4 gb2@10 ~@14, ~@6 db3@15 ~@6 db3@7 ~@14", // Db5
  P: "~@9 f3@11 ~@13 [ab3,db4]@11 ~@4, db2@10 ~@5 gb3@7 ~@2, ~@3 ab2@17 ~@4 gb2@10 ~@14, ~@6 db3@14 ~@7 db3@6 ~@15", // Db5
  Q: "~@3 db4@3 ~@10, db2@3 ~@5, ~ ab2@5 ~@10, ~ f3@2 ~@5",
  R: "~@15 ab3@6 ~@4 db4@21 ~@2, db2@7 db2@8 ~, ~@6 db3@13 ~@3 db3@23 ~@3, ~@9 f3@14 f3@22 ~@3, ~@8 ab3@7 ~",
  S: "~@5 db4@2 ~@3 gb3 ~@2 [c3,ab3]@3, bb2@21 ~@3 bb2@23 ~, ~@3 f3@19 ~@5 db3@20 ~, ~@3 bb3@8 ~@13, ~@9 c4@12 ~@12 db4@14 ~", // Fm
  T: "~@12 db4@2 ~@4 ab3@2 ~ ab3@10 ~@17, ~@3 ab2@16 ~@29, ~@6 db3@13 ~@29, ~@9 ab3@6 db4@16 ~@17",
})).s("gm_acoustic_guitar_steel").gain(0.4).pan(0)

// chords · epiano2
const epiano2 = note("<~@7 A@2 ~@2 B@2 ~@45>".pickRestart({
  A: "[~@33 ab4@23 ~@40, ~@8 db4@11 ~@13]/2", B: "[~@33 ab4@29 ~@34, ~@12 db4@19 ~@17]/2",
})).s("gm_epiano2").gain(0.17).pan(1)

// chords · synth strings 1
const synth_strings_1 = note("<~@12 A@4 B@3 C D@5 E ~@4 F@4 G@4 B@3 C H@5 B@3 I J@5 K@2>".pickRestart({
  A: "[[db3,gb3,bb3]@23 [db3,f3,ab3]@23 [db3,gb3,bb3]@24 [eb3,ab3,c4]@24 [f3,bb3,db4]@24 [gb3,bb3,db4]@24 [f3,ab3,db4]@24 [eb3,ab3,c4]@14 [db3,gb3,bb3]@6 [eb3,ab3,c4]@6]/4", // Gb Db Gb Ab Bbm Gb Db Ab …
  B: "[[f3,ab3,db4]@36 [eb3,ab3,c4]@11 [db3,gb3,bb3]@47 [eb3,gb3,bb3]@26 [f3,bb3,db4]@24]/3", // Db Ab Gb Ebm Bbm
  C: "[gb3,bb3,db4]@23 [eb3,ab3,c4]@25", // Gb Ab
  D: "[[f3,ab3,db4]@47 [gb3,bb3,db4]@48 [f3,ab3,db4]@23 [gb3,bb3,db4]@25 [f3,ab3,db4]@23 [gb3,bb3,db4]@25 ~ [f3,db4]@23 db4@12 c4@13, ~@191 ab3@23 ~ [eb3,ab3]@25]/5", // Db Gb Db Gb Db Gb Db Ab5
  E: "[db3,f3,ab3]@15 ~", // Db
  F: "[[db3,f3,ab3]@23 [db3,gb3,bb3]@24 [db3,f3,ab3]@24 [c3,eb3,ab3]@23 [db3,f3,ab3]@24 [db3,f3,bb3]@25 [db3,f3,ab3]@12 [db3,gb3,bb3]@12 [db3,f3,ab3]@25]/4", // Db Gb Db Ab Db Bbm Db Gb …
  G: "[[db3,gb3,bb3]@23 [db3,f3,ab3]@23 [db3,gb3,bb3]@24 [eb3,ab3,c4]@24 [f3,bb3,db4]@24 [gb3,bb3,db4]@19 [eb3,c4]@5 [f3,ab3,db4]@24 [eb3,ab3,db4]@14 [gb3,ab3,db4]@11 ~, ~@137 ab3@3 ~@52]/4", // Gb Db Gb Ab Bbm Gb Cm Db …
  H: "[[f3,ab3,db4]@47 [gb3,bb3,db4]@48 [f3,ab3,db4]@23 [gb3,bb3,db4]@25 [f3,ab3,db4]@23 [gb3,bb3,db4]@25 ~ [f3,db4]@23 db4@12 c4@12 ~, ~@191 ab3@23 ~ [eb3,ab3]@25]/5", // Db Gb Db Gb Db Gb Db Ab5
  I: "gb3@12 f3@11 [eb3,ab3,c4]@25, [bb3,db4] ~", // Ab Bbm
  J: "[[f3,db4]@35 ~ eb3@11 [gb3,bb3,db4]@48 [f3,ab3,db4]@23 [gb3,bb3,db4]@13 ~ [eb3,ab3,c4]@11 [f3,ab3,db4]@23 [gb3,bb3,db4]@13 ~ [ab3,c4]@11 ~ [f3,db4]@22 ~ db4@12 c4@13, ab3@48 ~@131 eb3@11 ~@25 [eb3,ab3]@25, ~@35 c4@13 ~@143 ab3@23 ~@26]/5", // Db Gb Db Gb Ab Db Gb Ab …
  K: "[[f3,ab3,db4]@35 ~@13]/2", // Db
})).s("gm_synth_strings_1").gain(0.09)

// chords · synth strings 1 · soft notes
const synth_strings_1_soft = note("<~@8 A@4 ~@14 B@4 ~@28>".pickRestart({
  A: "[[db3,f3,ab3]@24 [db3,gb3,bb3]@23 [db3,f3,ab3]@24 [eb3,ab3,c4]@24 ~ ab3@23 [db3,f3,bb3]@24 [db3,f3,ab3]@12 [gb3,bb3,db4]@13 [f3,ab3,db4]@24, ~@95 [db3,f3]@24 ~@73]/4", // Db Gb Db Ab Bbm Db Gb Db
  B: "[[db3,f3,ab3]@23 [db3,gb3,bb3]@24 [db3,f3,ab3]@24 [c3,eb3,ab3]@23 [db3,f3,ab3]@24 [db3,f3,bb3]@25 [db3,f3,ab3]@12 [db3,gb3,bb3]@12 [db3,f3,ab3]@23 ~@2]/4", // Db Gb Db Ab Db Bbm Db Gb …
})).s("gm_synth_strings_1").gain(0.06)

// chords · percussive organ
const percussive_organ = note(`<
  ~@11 A B C D E F G H I J K L@2 M N ~@7 A B C O@2 F G H I J K L@2 P F G H I J K L@2 Q@2 ~
>`.pickRestart({
  A: "~@7 db6, ~ db5, ~@11 ab5@5", B: "gb5@8 f5@5 gb5 ab5 db5", C: "gb5@8 ~@4 c5 db5 eb5 ~, ~ ab5", D: "bb5",
  E: "ab5@23 ~", F: "[db5,f5]@3 [c5,eb5], ab5", G: "[ab4,db5,gb5]", H: "[bb4,eb5,gb5]@24 [bb4,db5,f5]@23 ~",
  I: "[bb4,db5,gb5] [c5,eb5,ab5]", J: "[f4,ab4,db5]", K: "[gb4,ab4,db5]", L: "[f4,ab4,db5] [gb4,bb4,db5]",
  M: "[f4,ab4,db5]@2 db5 c5, ~ [eb5,ab5]", N: "[db5,f5,ab5]", O: "[bb5@42 ~@6 db5@24 eb5@9 db5@14 ~, ~@14 ab5@17 ~]/2",
  P: "[f4,ab4,db5]@24 db5@12 c5@11 ~, ~@24 [eb5,ab5]@23 ~", // Db Ab5
  Q: "[[f4,ab4,db5]@2 db5 ~ [f4,ab4,db5]@4, ~@24 [eb5,ab5]@29 ~@43, ~@36 c5@17 ~@43]/2", // Db Ab5
})).s("gm_percussive_organ").gain(0.13).pan(1)

// other · harmonica
const harmonica = note("<~@29 [~ db4] ~@28>").s("gm_harmonica").gain(0.16).pan(1)

// drums · kick
const kick = s("bd").struct("<~@8 A B@3 C@13 A D E B@2 A B@3 C@19 F@2 C A ~>".pickRestart({
  A: "x", B: "x ~@14 x", C: "x ~@2 x!2 ~@3 x ~@2 x!2 ~@3", D: "x!2", E: "x ~@7 x ~@6 x",
  F: "x ~@2 x ~@3 x!2 ~@2 x!2 ~@3",
})).gain(0.64)

// … 56 more lines

More by 883