Strudelify

Don't Take Away the Music

Tavares

KeyE♭ majorTempo125 bpm
0:00/0:00
// Don't Take Away the Music — Tavares
// 125 bpm, 4/4, key D# 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 129 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · piano
const piano = note(`<
  A@2 B ~@3 C@2 D@2 E@2 F@2 C@2 D@2 E@2 G@2 H@2 I@2 H@2 I@2 J@6 K L C@2 M@2 N@2 O@2 C@2 P@2 Q@2 R@2 S@8 J@6 K L C@2 T@2
  U@2 V@2 C@2 W@2 X@2 Y@2 Z@2 AA@2 AB@4 AC@2 AD@2 AE@2 AF AG AH@2 AI@2 AJ@2 AK@2 AL@2 AI@2 AM@2 AN@2 AO@2 AP@2 AQ@2 AP@2
  AR AS AT
>`.pickRestart({
  A: "[~ ab6@2 ~@5 ab5 eb5 ~@3 eb5 b4 ~@3 [ab4,b4] ~@3 ab4 eb4 ~@3 [b3,eb4] ~@3 b3, b6@2 ~ b6@7 ab5 eb5@2 ~ eb5@2 ab5@7 ~ [eb4,ab4]@2 ab4@3 [ab2,b3]@3, ~@4 b3@4 [b3,b5]@3 b5@8 b4@2 eb5@6 b2@5, ~@2 ab6 ab6@3 [eb4,ab5]@2 eb4@2 eb3@2 eb3@2 eb4 [eb4,ab4], ~@5 eb6@2 eb6@7 ~ b4@2 eb5@3 ab4 b4@4 b4@7]/2", // Abm B Ab5 Abm B Ab5
  B: "[eb2,eb3]", C: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@15 ~ [bb3,eb4,g4]@4]/2",
  D: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@19 ~]/2", // Fdim Eb
  E: "[[ab3,c4,eb4,ab4,c5]@6 [g3,bb3,f4,g4,bb4]@6 [f3,ab3,c4,eb4,f4,ab4]@10 [f3,ab3,c4,eb4,f4,ab4] ~ [f3,ab3,c4,eb4,f4,ab4]@4 [f3,ab3,c4,eb4,f4,ab4]@4]/2", // Ab Gm7 Fm7
  F: "[[bb3,eb4,g4] ~ [bb3,eb4,g4]@4 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 [bb3,d4,f4] ~@5 [bb5,bb6] ~ [bb5,bb6] ~ [bb5,bb6] ~ [bb5,bb6] ~ [bb5,bb6] ~ [bb5,bb6] ~ [bb5,bb6] ~, ~@7 [bb3,d4,f4]@9]/2", // Eb Bb
  G: "[[bb3,eb4,g4] ~ [bb3,eb4,g4]@4 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 [bb3,d4,f4] ~@7 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~, ~@7 [bb3,d4,f4]@9]/2", // Eb Bb
  H: "[[bb3,eb4,g4]@5 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@3 [bb3,eb4,g4] ~@2 g4@10 g4@2 ab4@2 eb4@2 ~@2, ~@7 [ab3,c4]@8 ~, ~@7 eb4@7 ~@2]/2", // Eb Ab
  I: "[[bb3,eb4,g4]@5 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@3 [bb3,eb4,g4] ~@2 g4@12 ab4@2 g4@2 eb4@2, ~@7 [ab3,c4,eb4]@8 ~]/2", // Eb Ab
  J: "[[bb3,d4,eb4,g4]@7 [ab3,c4,eb4,f4]@9]/2", K: "[f3,ab3,c4,eb4]!2 [g3,bb3,d4,f4]!2",
  L: "[ab3,c4,eb4,g4]!2 [bb3,d4,f4]!2", // Abmaj7 Bb
  M: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@12 [g4,g5]@4 [bb4,bb5]@4]/2", // Fdim Eb G Bb
  N: "[[c5,eb5,ab5,c6]@3 [d5,f5,g5,bb5,d6]@3 [eb5,f5,ab5,c6,eb6]@5 [d5,d6] [c5,c6] [bb4,bb5] [ab4,ab5] [g4,g5]]/2", // Ab Gm7 Fm7 D C Bb Ab G
  O: "[[eb5,g5,bb5,eb6]@6 [eb5,g5,bb5,eb6]@6 [d5,f5,bb5,d6]@6 bb4 c5 bb4 ~ bb4 c5 bb4@2 g4@2 f4@2 g4@2]/2", // Eb Bb
  P: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@12 ~@2 [eb4,eb5]@4 [f4,f5] ~]/2", // Fdim Eb F
  Q: "[[g4,c5,eb5,g5]@6 [g4,bb4,d5,f5]@6 [f4,ab4,c5,eb5]@6 [eb3,eb4] ~ [eb3,eb4]@3 ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~ [eb3,eb4] ~]/2", // Cm Gm7 Fm7 Eb
  R: "[[eb3,g3,bb3,eb4]@11 ~@9 bb4 ~ bb4 c5 bb4@2 g4@2 f4@2 g4@2, ~@12 [d3,f3,bb3,d4]@19 ~]/2", // Eb Bb
  S: "[[bb3,eb4,g4]@7 ~ [bb3,eb4,g4]@5 ~ [ab3,c4,eb4,g4]@17 ~]/2", // Eb Abmaj7
  T: "[[b3,f4,ab4]@9 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@12 [eb4,eb5]@3 [f4,f5]@3 [g4,g5]@2]/2", // Fdim Eb F G
  U: "[[ab4,c5,eb5,g5]@3 [g4,bb4,d5,f5]@3 [f4,ab4,c5,eb5]@4 [eb4,eb5] [d4,d5] [c4,c5] [bb3,bb4] [ab3,ab4] [g3,g4]]/2", // Abmaj7 Gm7 Fm7 Eb D C Bb Ab …
  V: "[[bb3,eb4,g4]@6 [bb3,eb4,g4]@6 ~@4 [bb4,bb5] ~ [bb4,bb5] ~@3 [bb4,bb5] ~ [bb4,bb5]@3 ~ [bb4,bb5]@4, ~@12 [bb3,d4,f4]@19 ~]/2", // Eb Bb
  W: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@12 [eb3,eb4]@4 [f3,f4]@4]/2", // Fdim Eb F
  X: "[[g3,c4,eb4,g4]@6 [g3,bb3,d4,f4]@4 [g3,c4,eb4,g4]@2 [f3,ab3,c4,eb4]@17 ~@3]/2", // Cm Gm7 Cm Fm7
  Y: "[[eb3,g3,bb3,eb4]@11 ~@5 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~, ~@12 [d3,f3,bb3,d4]@19 ~]/2", // Eb Bb
  Z: "[~@6 [g4,bb4,eb5] ~ [g4,bb4,eb5]@19 ~@5, [eb2,eb3]@29 ~@3]/2", AA: "[[eb2,eb3,g3,bb3,eb4]@15 ~]/2",
  AB: "[~@6 [eb5,g5,bb5]!2 [eb5,g5,bb5]@24, [eb2,eb3]]/2", // Eb
  AC: "[[eb2,eb3]@13 ~@3 [bb1,bb2]@14 ~@2, [g3,bb3,eb4]@15 ~]/2", AD: "[[eb2,eb3]@13 ~@3 [bb1,bb2]@16, [g3,bb3,eb4]]/2",
  AE: "[[e2,e3]@13 ~@3 [b1,b2]@14 ~@2, [ab3,b3,e4]@15 ~]/2", // E B E
  AF: "[e4,ab4,b4] ~ [e4,ab4,b4]@3 ~ [e4,ab4,b4] ~ [e4,ab4,b4]@5 ~ [e4,gb4,a4,db5]@2", // E Gbm7
  AG: "~@2 [e4,gb4,a4,db5] ~ [e4,gb4,a4,db5]@11 ~", // Gbm7
  AH: "[[gb4,a4,db5,e5] ~ [gb4,a4,db5,e5]@3 ~ [gb4,a4,db5,e5] ~ [gb4,a4,db5,e5]@3 ~ [gb4,a4,db5,eb5,gb5]@19 ~]/2", // Gbm7 Ebm7b5
  AI: "[[c4,gb4,a4]@5 ~ [c4,gb4,a4]@3 ~ [b3,e4,ab4] ~ [b3,e4,ab4]@15 ~ [b3,e4,ab4]@4]/2", // Gbdim E
  AJ: "[[c4,gb4,a4]@5 ~ [c4,gb4,a4]@3 ~ [b3,e4,ab4] ~ [b3,e4,ab4]@12 [ab4,ab5]@4 [b4,b5]@4]/2", // Gbdim E Ab B
  AK: "[[db5,e5,a5,db6]@3 [eb5,gb5,ab5,b5,eb6]@3 [e5,gb5,a5,db6,e6]@5 [eb5,eb6] [db5,db6] [b4,b5] [a4,a5] [ab4,ab5]]/2", // A Abm7 Gbm7 Eb Db B A Ab
  AL: "[[e5,ab5,b5,e6]@6 [e5,ab5,b5,e6]@6 [eb5,gb5,b5,eb6]@6 ~@2 [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~]/2", // E B
  AM: "[[c4,gb4,a4]@5 ~ [c4,gb4,a4]@3 ~ [b3,e4,ab4] ~ [b3,e4,ab4]@12 ~@2 [e4,e5]@4 [gb4,gb5] ~]/2", // Gbdim E Gb
  AN: "[[ab4,db5,e5,ab5]@6 [ab4,b4,eb5,gb5]@6 [gb4,a4,db5,e5]@6 [e3,e4] ~ [e3,e4]@3 ~ [e3,e4] ~ [e3,e4] ~ [e3,e4] ~ [e3,e4] ~]/2", // Dbm Abm7 Gbm7 E
  AO: "[[e3,ab3,b3,e4]@11 ~@7 b4 ~ b4 ~ b4 db5 b4@2 ab4@2 gb4@2 ab4@2, ~@12 [eb3,gb3,b3,eb4]@19 ~]/2", // E B
  AP: "[~@6 [ab4,b4,e5] ~ [ab4,b4,e5]@19 ~@5, [e2,e3]@29 ~@3]/2", AQ: "[[e2,e3,ab3,b3,e4]@15 ~]/2",
  AR: "[e2,e3,ab3,b3,e4]", AS: "~@2 [db4,ab4] ~ [b3,e4] [db4,ab4] [e4,b4] [e4,ab4,b4,e5]@8 ~",
  AT: "[e4,ab4,b4,e5] ~@15", // E
})).s("gm_piano").gain(0.4)

// bass · acoustic bass
const bass = note(`<
  ~@2 A B A B C D C D E F G@2 C D C D E F G@2 H@8 I@6 J K C D C D E F G@2 C D C D E F G@2 H@8 I@6 J K C D C D E F G@2 C
  D C D E F G@2 L@12 M N O P Q R S T S T U V W@2 S T S T U V W@2 X@6 Y Z AA
>`.pickRestart({
  A: "eb2 ~@3 bb1 ~@3 eb2@2 bb1 ~@5", B: "eb2@2 bb1 ~@3 eb2 ~@5 bb1@2 bb1@2", C: "eb2@2 ~@2 bb1@2 ~@2 eb2@2 bb1 ~@5",
  D: "eb2@2 bb1 ~@3 eb1@6 bb1@2 bb1@2", E: "ab1@3 ~ ab1 ~ g1@3 ~ g1 ~ f1@4", F: "~@2 f1 ~ f1@4 f1@4 ab1@2 f1@2",
  G: "[bb1 ~ bb1@4 bb2 ~ bb2@4 bb1 ~ bb1@4 bb2@2 bb1@4 c2@4 d2@4]/2",
  H: "[eb2!2 c2 bb1 eb2 ~@2 eb2@2 eb2 c2 bb1!3 c2 bb1]/2",
  I: "[eb2@2 eb2@2 c2@2 bb1@2 eb2 ~@5 f1@4 f1@2 g1@2 g1@2 ab1@2 ab1@2 bb1@2 bb1@2]/2", J: "f1@3 f1 g1@3 g1",
  K: "ab1@3 ab1 bb1@4", L: "[eb2 ~ eb2@2 c2@2 bb1@2 eb2@2 bb1@2 c2@2 bb1@4 bb1 ~ bb1@3 bb1!2 ~ bb1@2 c2@2 bb1@2]/2",
  M: "e2 ~ e2@2 db2@2 b1@2 e2 ~@5 b1@2", N: "~ b1 gb1!2 ab1!2 a1!2", O: "b1!3 b2 b1!4", P: "b1 b2 b1 b2 b1!3 b2",
  Q: "b1!5 b2 b1!2", R: "b1 b2 b1!2 db2!2 eb2!2", S: "e2@2 ~@2 b1@2 ~@2 e2@2 b1 ~@5", T: "e2@2 b1 ~@3 e1@6 b1@2 b1@2",
  U: "a1@3 ~ a1 ~ ab1@3 ~ ab1 ~ gb1@4", V: "~@2 gb1 ~ gb1@4 gb1@4 a1@2 gb1@2",
  W: "[b1 ~ b1@4 b2 ~ b2@4 b1 ~ b1@4 b2@2 b1@4 db2@4 eb2@4]/2",
  X: "[e2 ~ e2@2 db2@2 b1@2 e2@2 b1@2 db2@2 b1@4 b1 ~ b1@3 b1!2 ~ b1@2 db2@2 b1@2]/2",
  Y: "e2 ~ e2@2 db2@2 b1@2 e2@2 b1@2 db2@2 b1@2", Z: "~@2 db2 ~ b1 db2 e2 e1@9", AA: "e1 ~@15",
})).s("gm_acoustic_bass").gain(0.64)

// other · electric guitar clean
const electric_guitar_clean = note(`<
  ~@2 A B A B A B A B C@2 D@2 A B A B C@2 E@2 ~ F ~ G ~ F ~ G ~@8 A B A B C@2 D@2 A B A B C@2 D@2 H I H J H K H L ~@8 A
  B A B C@2 D@2 A B A B C@2 E@2 ~ M ~ M ~ M ~ M ~@10 N O N O P@2 Q@2 N O N O P@2 Q@2 ~@9
>`.pickRestart({
  A: "eb4 ~ bb3 ~ eb4 bb3 ~@2", B: "eb4 bb3 ~ eb4 ~@2 bb3!2", C: "[ab3@3 ~ ab3 ~ g3@3 ~ g3 ~ f3@10 ~@10]/2",
  D: "[[bb4,eb5,g5]@11 ~ [f4,bb4,d5]@20]/2", E: "[[bb4,eb5,g5]@3 [f4,bb4,d5]@5]/2", F: "~@6 eb4@2 f4@2 ab4@2 eb4 ~@3",
  G: "~@10 [g4,ab4,c5,eb5]@2 [g4,bb4,d5]@2 [eb4,g4,bb4] ~", H: "~@4 [bb4,c5]@2 bb4@4 c5 ~@5",
  I: "~@6 ab4@2 g4@2 eb4 ~ eb4@3 ~", J: "~@6 g4@2 ab4@2 eb5@2 bb4 ~@3", K: "~@4 g4@2 f4@2 eb4@2 f4@2 g4 ~@3",
  L: "~@6 g4@2 ab4@2 c5@2 bb4 ~@3", M: "~@4 [bb4,c5] ~@3 bb4@2 c5@6", N: "e4 ~ b3 ~ e4 b3 ~@2",
  O: "e4 b3 ~ e4 ~@2 b3!2", P: "[a3@3 ~ a3 ~ ab3@3 ~ ab3 ~ gb3@10 ~@10]/2", Q: "[[b4,e5,ab5]@11 ~ [gb4,b4,eb5]@20]/2",
})).s("gm_electric_guitar_clean").gain(0.35)

// other · distortion guitar
const distortion_guitar = note("<~@2 A@4 ~@2 B C ~@12 D@8 ~@24 D@8 ~@67>".pickRestart({
  A: "eb3/4", B: "~@4 eb6!12", C: "eb6!9 [c6,db6] [ab5,bb5] [f5,g5] eb5@2 ~@2", D: "[eb3@31 ~]/2",
})).s("gm_distortion_guitar").gain(0.3)

// other · string ensemble 1
const string_ensemble_1 = note(`<
  ~ A B@4 ~@3 C D@2 E@2 F@2 G@2 H@4 I ~@12 J K L F@2 G@2 M@2 N@2 O@2 P@2 M@2 Q@2 ~@13 J K L F@2 R@2 S@2 N@2 O@2 P@2 M@2
  Q@2 ~@8 T U T U V W ~@4 X@2 Y@2 Z@2 AA@2 X@2 Y@2 Z@2 AA@2 AB@4 AC@3 AD AE
>`.pickRestart({
  A: "~@12 [eb5,ab5,b5,eb6] [d5,d6] [b4,b5] [ab4,ab5]", B: "[eb4,g4,bb4,eb5]/4", C: "~@2 [bb4,bb5] [ab4,ab5]",
  D: "[[g4,g5]@3 ~ [g4,g5] ~ [f4,f5]@4 [g4,g5]@2 [eb4,eb5]@9 ~ [eb4,eb5] ~ [eb4,eb5]@4 [f4,f5]@4]/2", // G F G Eb F
  E: "[[g4,g5] ~ [f4,f5]@3 [eb4,eb5]@2 ~ [f4,f5]@19 ~@5]/2", F: "[[b4,b5]@10 [bb4,bb5] ~ [bb4,bb5]@16 [eb4,eb5]@4]/2",
  G: "[[b3,b4,b5]@10 [bb3,bb4,bb5] ~ [bb3,bb4,bb5]@18 ~@2]/2", // B Bb
  H: "[[g4,g5]@6 [f4,f5]@6 [eb4,eb5]@7 ~ [g4,g5]@2 [f4,f5]@2 [eb4,eb5]@2 [d4,d5]@2 [c4,c5]@2 [bb3,bb4]@21 ~ [bb3,bb4,bb5] ~ [bb3,bb4,bb5] ~ [bb3,bb4,bb5] ~ [bb3,bb4,bb5] ~ [bb3,bb4,bb5] ~ [bb3,bb4,bb5] ~]/4", // G F Eb G F Eb D C …
  I: "[eb5,eb6]@2 [d5,d6] [g4,ab4,bb4,c5,g5,ab5,bb5,c6] [eb4,f4,f5] eb5 ~@10", // Eb D C7 Ebsus2
  J: "~@10 [g4,g5] ~ [bb4,bb5] [g4,g5] [eb4,eb5] [bb3,bb4]", K: "[f3,ab3,c4,eb4] [g3,bb3,d4,f4]",
  L: "[ab3,c4,eb4,g4] [bb3,d4,f4,bb4]", // Abmaj7 Bb
  M: "[[g4,c5,g5,c6]@3 [f4,d5,f5,d6]@3 [f4,ab4,c5,eb5,f5,eb6]@6 [eb3,eb4]@2 [f3,f4]@2]/2", // C5 Dm Fm7 Eb F
  N: "[[g3,eb4,g4]@12 [f3,d4,f4]@19 ~, bb3@31 ~]/2", // Cm Dm
  O: "[[eb5,eb6]@3 ~ [eb5,eb6]@2 [d5,d6]@2 [c5,c6]@2 ~@2 [bb4,bb5]@16 ~@4]/2", // Eb D C Bb
  P: "[~@6 [g5,g6] ~ [ab5,ab6]@2 [g5,g6] [f5,f6] [g5,g6]@18 ~@2]/2", // G Ab G F G
  Q: "[~@6 [c5,c6]@4 [eb5,eb6]@2 [f3,d4,f4,d5,d6]@19 ~, bb3@31 ~, [g3,eb4,g4]@3 ~@5]/2", // C Eb Dm Cm
  R: "[[b3,b4,b5]@10 [bb3,bb4,bb5] ~ [bb3,bb4,bb5]@7 ~ [bb3,bb4]@4 [eb4,eb5]@4 [f4,f5]@4]/2", // B Bb Eb F
  S: "[[g4,c5,g5]@3 [f4,d5,f5]@3 [f4,ab4,c5,eb5]@6 [eb3,eb4]@2 [f3,f4]@2]/2", // C5 Dm Fm7 Eb F
  T: "[eb5,eb6] ~ [eb5,eb6]@2 [c5,c6]@2 [bb4,bb5] ~ [eb5,eb6] ~ [eb5,eb6]@2 [c5,c6]@2 [bb4,bb5] ~", // Eb C Bb Eb C Bb
  U: "[eb5,eb6] ~ [eb5,eb6]@2 [c5,c6]@2 [bb4,bb5] ~ [c5,c6] ~ [bb4,bb5] ~ [c5,c6] [eb5,eb6] ~@2", // Eb C Bb C Bb C Eb
  V: "[e5,e6] ~ [e5,e6]@2 [db5,db6]@2 [b4,b5] ~ [e5,e6] ~ [e5,e6]@2 [db5,db6]@2 [b4,b5] ~", // E Db B E Db B
  W: "[e5,e6] ~ [e5,e6]@2 [db5,db6]@2 [b4,b5] ~ [db5,db6] ~ [b4,b5] ~ [db5,db6] [e5,e6] ~@2", // E Db B Db B Db E
  X: "[[c5,c6]@10 [b4,b5] ~ [b4,b5]@16 [e4,e5]@4]/2", Y: "[[c4,c5,c6]@10 [b3,b4,b5] ~ [b3,b4,b5]@18 ~@2]/2",
  Z: "[[ab4,db5,ab5,db6]@3 [gb4,eb5,gb5,eb6]@3 [gb4,a4,db5,e5,gb5,e6]@6 [e3,e4]@2 [gb3,gb4]@2]/2", // Db5 Ebm Gbm7 E Gb
  AA: "[[ab3,e4,ab4]@12 [gb3,eb4,gb4]@19 ~, b3@31 ~]/2", // Dbm Ebm
  AB: "[[ab4,ab5,ab6]@12 [gb4,gb5,gb6]@2 [ab4,ab5,ab6]@11 ~ [ab4,ab5,ab6] ~ [b4,b5,b6] ~ [ab4,ab5,ab6]@14 [b4,b5,b6] ~ [db5,db6,db7]@18]/4", // Ab Gb Ab B Ab B Db
  AC: "[[ab4,ab5,ab6]@12 [gb4,gb5,gb6]@2 [ab4,ab5,ab6]@11 ~ [ab4,ab5,ab6] ~ [b4,b5,b6] ~ [ab4,ab5,ab6]@14 [gb4,gb5,gb6]@2 [e4,e5,e6] ~]/3", // Ab Gb Ab B Ab Gb E
  AD: "~@2 [db4,ab4] ~ [b3,e4] [db4,ab4] [e4,b4] [e4,ab4,b4,e5]@8 ~", AE: "[e4,ab4,b4,e5] ~@15",
})).s("gm_string_ensemble_1").gain(0.4)

// other · flute
const flute = note(`<
  ~@9 A B@2 C@2 ~ D E F G@2 ~@13 H I J K L M@2 N@2 ~@19 O ~@3 H I J K L M@2 N@2 ~@30 P@2 Q@2 ~@4 P@2 Q@2 ~@4 R S@2 T R
  U@2 V W
>`.pickRestart({
  A: "~@2 bb5 ab5", B: "[g5@3 ~ g5@2 f5@4 g5@2 eb5@9 ~ eb5 ~ eb5@4 f5@4]/2",
  C: "[g5 ~ f5@4 eb5@2 f5@4 g5 ~ f5@4 bb5 ~ bb5 ~ bb5 ~ bb5 ~ bb5 ~ bb5 ~ bb5 ~]/2",
  D: "~@4 eb5@2 f5 ~ f5@2 g5@2 eb5@4", E: "b4@3 ~", F: "~@2 bb4@2 eb5@2 f5 ~ f5@4 g5@4",
  G: "[g5@5 ~ f5@5 ~ eb5@16 ~@4]/2", H: "~@3 d5 eb5@3 f5", I: "d5@3 bb4", J: "c5@3 ~", K: "ab4 bb4", L: "c5 bb4 bb4@2",
  M: "[ab4@5 ~ ab4@4 g4 ~ g4@15 ~ g4@4]/2", N: "[ab4@5 ~ ab4@3 ~ g4 ~ g4@16 ~@4]/2", O: "~@2 g4 f4 eb4 f4 g4 ~",
  P: "[a4@5 ~ a4@4 ab4 ~ ab4@15 ~ ab4@4]/2", Q: "[a4@5 ~ a4@3 ~ ab4 ~ ab4@16 ~@4]/2", R: "b4 db5 e5 gb5",
  S: "[ab5@2 gb5@2 e5@2 db5 b4@9]/2", T: "~@2 db5 ~ b4 db5 e5 ab5@8 ~", U: "[ab5@4 gb5@4 e5@4 db5@2 b4@17 ~]/2",
  V: "~@4 b3 db4 e4 e5@8 ~", W: "[e5,e6] ~@15",
})).s("gm_flute").gain(0.4)

// other · french horn
const french_horn = note(`<
  ~@13 A ~@7 B ~@18 C@2 ~@3 D ~@2 C@2 ~@22 E F ~@2 G@2 H@2 I@2 ~@2 J@2 ~@20 K@2 ~@6 K@2 ~@3 L M N@2 ~ M O@2 ~@2
>`.pickRestart({
  A: "~@4 bb3@3 f4 [g4,a4] bb4@7", B: "~@4 bb4 ~ bb4 ~ bb4 ~ bb4 ~ bb4 ~ bb4 ~", C: "[~@6 f4@4 g4 ~ g4@16 ~@4]/2",
  D: "[bb2,bb3] ~ [bb2,bb3]@3 ~ [bb2,bb3] ~ [bb2,bb3] ~ [bb2,bb3]@3 ~ [bb2,bb3] ~", E: "f4@5 ~ f4@4 g4 ~ g4@4",
  F: "~@2 g4 ~@3 g4 ~ eb4@7 ~", G: "[~@12 d4@19 ~]/2", H: "[ab4@5 ~ ab4@4 g4 ~ g4@14 ~@2 g4@4]/2",
  I: "[ab4@5 ~ ab4@4 g4 ~ g4@13 ~@7]/2", J: "[g4@12 bb4@19 ~]/2", K: "[~@6 gb4@4 ab4 ~ ab4@16 ~@4]/2",
  L: "~@2 b4 ~ b4 ~ b4 db5 b4@2 ab4 ~ gb4@2 ab4@2", M: "b3 db4 e4 gb4", N: "[ab4@2 gb4@2 e4@2 db4 b3@9]/2",
  O: "[ab4@4 gb4@4 e4@4 db4@2 b3@17 ~]/2",
})).s("gm_french_horn").gain(0.45)

// chords · brass section
const brass_section = note(`<
  ~@6 A@2 B@2 C@2 D@2 E@2 F@2 G@2 H@2 ~@16 I@2 J@2 K@2 L@2 M@2 N@2 G@2 O@2 ~@7 P ~@6 Q R S@2 T@2 K@2 U@2 M@2 V@2 G@2 W@2
  X Y X Y X Y X Y Z AA AB@2 AC AD AE AF AG@2 AH@2 AI@2 AJ@2 AK@2 AL@2 AM@2 AN@2 AO@2 AP AQ@2 ~ AP AR@2 AS AT
>`.pickRestart({
  A: "[[b3,eb4,ab4]@5 ~ [b3,eb4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@15 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4] ~]/2", // Abm Eb
  B: "[[b3,f4,ab4]@5 ~ [b3,f4,ab4]@4 [bb3,eb4,g4] ~ [bb3,eb4,g4]@16 ~@4]/2", // Fdim Eb
  C: "[[ab3,c4,eb4]@6 [g3,bb3,d4]@6 [eb3,f3,ab3,c4]@9 ~ [f3,ab3,c4,eb4] ~ [f3,ab3,c4,eb4]@4 [ab3,c4,f4]@4]/2", // Ab Gm Fm7 Fm
  D: "[[bb3,eb4,g4] ~ [bb3,eb4,f4]@4 [bb3,eb4] ~ [bb3,eb4,f4]@4 [bb3,d4,f4,g4] ~ [bb3,d4,f4]@18]/2", // Eb Bbsus4 Eb5 Bbsus4 Gm7 Bb
  E: "[[eb3,ab3,b3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@7 ~]/2", // Abm Eb
  F: "[[f3,ab3,b3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@6 [g3,bb3,eb4]@4 [g3,bb3,eb4] ~ [g3,bb3,eb4]@7 ~]/2", // Fdim Eb
  G: "[[eb3,ab3,c4]@6 [g3,bb3,d4]@6 [f3,ab3,c4,eb4]@9 ~ [f3,ab3,c4,eb4] ~ [f3,eb4]@4 f4@4, ~@3 [ab3,c4]]/2", // Ab Gm Fm7 F7 Ab
  H: "[[bb3,eb4,g4]@6 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 ~@10 bb4 c5 bb4@2 g4@2 f4@2 g4@2, ~@3 [bb3,d4]@5, ~@3 f4@4 ~]/2", // Eb Bb
  I: "[[b3,eb4,ab4]@5 ~ [b3,eb4,ab4]@3 ~ [bb3,eb4,g4] ~ [bb3,eb4,g4]@15 ~ [bb3,eb4,g4]@4]/2", // Abm Eb
  J: "[[b3,f4,ab4]@10 [bb3,eb4,g4] ~ [bb3,eb4,g4]@16 ~@4]/2", // Fdim Eb
  K: "[[eb4,ab4,c5]@6 [g4,bb4,d5]@6 [f4,ab4,c5,eb5]@11 ~ [f3,eb4]@4 f4@4, ~@3 [ab3,c4]]/2", // Ab Gm Fm7 F7 Ab
  L: "[[bb3,eb4,g4]@6 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 bb4@6 bb4 c5 bb4 ~ bb4 c5 bb4@2 g4@2 f4@2 g4@2, ~@3 [d4,f4,d5]@3 ~@2]/2", // Eb Dm
  M: "[[eb3,ab3,b3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@19 ~]/2", // Abm Eb
  N: "[[f3,ab3,b3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@6 [eb3,g3,bb3] ~@3 [eb3,g3,bb3]@9 ~]/2", // Fdim Eb
  O: "[[bb3,eb4,g4]@6 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 ~@8 bb4 ~ bb4 c5 bb4@2 g4@2 f4@2 g4@2, ~@3 [bb3,d4]@5, ~@3 f4@4 ~]/2", // Eb Bb
  P: "~@4 g4@2 f4@2 eb4@2 f4@2 g4 ~@3", Q: "[f3,ab3,c4,eb4]@4 [f3,ab3,c4,eb4]@4 [g3,bb3,d4,f4]@7 ~",
  R: "[c4,eb4,g4,ab4,eb5]@4 [c4,eb4,g4,ab4,eb5]@4 d5@4 bb4@3 ~, ~@8 [bb3,d4,f4,g4]@7 ~", // Abmaj7 Gm7
  S: "[[eb4,ab4,b4]@5 ~ [eb4,ab4,b4]@3 ~ [eb4,g4,bb4] ~ [eb4,g4,bb4]@15 ~ [eb4,g4,bb4]@4]/2", // Abm Eb
  T: "[[f4,ab4,b4]@10 [eb4,g4,bb4] ~ [eb4,g4,bb4]@16 ~@4]/2", // Fdim Eb
  U: "[[bb3,eb4,g4]@6 [bb3,eb4,g4] ~ [bb3,eb4,g4]@4 bb4@4 bb4 ~ bb4 ~@3 bb4!2 bb4@4 bb4@4, ~@12 [d4,f4]@19 ~]/2", // Eb Dm
  V: "[[f3,ab3,b3]@10 [eb3,g3,bb3] ~ [eb3,g3,bb3]@17 ~@3]/2", // Fdim Eb
  W: "[[bb3,eb4,g4]@12 ~@4 [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~ [bb4,bb5] ~, ~@3 [bb3,d4,f4]@5]/2", // Eb Bb
  X: "~@10 [eb4,g4,bb4,eb5] ~ [eb4,g4,bb4,eb5] ~@3", Y: "~@10 [f4,ab4,c5] ~ [eb4,g4,bb4,eb5] ~@3",
  Z: "~@4 [eb4,g4,bb4,eb5] ~@9 [g4,bb4,eb5,f5] ~", AA: "~@10 [g4,bb4,eb5,f5] ~ [g4,bb4,eb5,f5] ~@3",
  AB: "[~@4 [g4,bb4,eb5,f5] ~@9 [ab4,c5,eb5,g5]@16 ~@2]/2", AC: "~@4 [e4,ab4,b4,e5] ~@11",
  AD: "~@10 [ab4,b4,e5,gb5] ~ [ab4,b4,e5,gb5] ~@3", AE: "[e4,ab4,b4]", AF: "[e4,gb4,a4,db5]",
  AG: "[[gb4,a4,db5,e5]@3 [a4,db5,eb5,gb5]@5]/2", // Gbm7 Ebm7b5
  AH: "[[c4,e4,a4]@5 ~ [c4,e4,a4]@3 ~ [b3,e4,ab4] ~ [b3,e4,ab4]@15 ~ [b3,e4,ab4]@4]/2", // Am E
  AI: "[[c4,gb4,a4]@10 [b3,e4,ab4] ~ [b3,e4,ab4]@16 ~@4]/2", // Gbdim E
  AJ: "[[e4,a4,db5]@6 [ab4,b4,eb5]@6 [gb4,a4,db5,e5]@11 ~ [gb3,e4]@4 gb4@4, ~@3 [a3,db4]]/2", // A Abm Gbm7 Gb7 A
  AK: "[[b3,e4,ab4]@6 [b3,e4,ab4] ~ [b3,e4,ab4]@4 [eb4,gb4,b4,eb5]@6 ~@2 [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~ [b4,b5] ~]/2", // E B
  AL: "[[e3,a3,c4]@10 [e3,ab3,b3] ~ [e3,ab3,b3]@19 ~]/2", // Am E
  AM: "[[gb3,a3,c4]@10 [e3,ab3,b3] ~ [e3,ab3,b3]@6 [e3,ab3,b3] ~@3 [e3,ab3,b3]@9 ~]/2", // Gbdim E
  AN: "[[e3,a3,db4]@6 [ab3,b3,eb4]@6 [gb3,a3,db4,e4]@9 ~ [gb3,a3,db4,e4] ~ [gb3,e4]@4 gb4@4, ~@3 [a3,db4]]/2", // A Abm Gbm7 Gb7 A
  AO: "[[b3,e4,ab4]@6 [b3,e4,ab4] ~ [b3,e4,ab4]@4 ~@6 b4 ~ b4 ~ b4 db5 b4@2 ab4@2 gb4@2 ab4@2, ~@3 [b3,eb4]@5, ~@3 gb4@4 ~]/2", // E B
  AP: "b3 db4 e4 gb4", AQ: "[ab4@2 gb4@2 e4@2 db4 b3@9]/2", AR: "[ab4@4 gb4@4 e4@4 db4@2 b3@17 ~]/2",
  AS: "~@2 [db4,db5] ~ [b3,b4] [db4,db5] [e4,e5] [e5,e6]@8 ~", AT: "[e5,e6] ~@15",
})).s("gm_brass_section").gain(0.45)

// chords · orchestral harp
// … 60 more lines

More by Tavares