Strudelify

Everybody's Everything

Santana

KeyF majorTempo138 bpm
0:00/0:00
// Everybody's Everything — Santana
// 138 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(138/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 · percussive organ · "ORGAN"
const percussive_organ = note(`<
  A B C D E B C D F@2 G H@2 I@2 J K L@2 K M N O P Q R S T U V W X Y N O P Z AA AB J K L@2 K M N O P AC@8 ~@11 P AD@8
  AE@4 AF@8 AG AH@2 AI@4 AJ@2 AH@2 AI@4 AJ@2 AK@4 ~@9
>`.pickRestart({
  A: "~@10 f5 ~ f5 ~ f5 ~", B: "[f5,c6,eb6] ~ f5!2 ~ f5 [f5,c6,eb6] f5 [f5,bb5,d6] ~ f5!2 ~ f5!3",
  C: "[f5,eb6] ~ f5 [f5,c6,eb6] ~ f5 [f5,bb5] f5 [f5,a5,c6] ~ f5!2 ~ f5!3, c6 ~@2 d6 ~@4", // F7 Bb5 F
  D: "[f5,c6,eb6] ~ f5!2 ~ f5 [f5,eb6] f5 [f5,bb5,d6] ~ f5!2 ~ f5!3, ~@3 c6 ~@4", // F7 Bb
  E: "[f5,eb6] ~ f5 [f5,eb6] ~ f5 [f5,bb5,d6] f5 [f5,a5,c6] ~ f5!2 ~ f5!3, c6@2 ~ c6@2 ~@11", // F7 Bb F
  F: "[[f5,eb6] ~ f5 [f5,eb6] ~ f5 [f5,bb5,d6] f5 [f5,a5,c6] ~ f5!2 [bb3,c4,d4] [e4,f4,g4] [a4,bb4,c5] [d5,e5] [c6,f6]@16, c6@2 ~ c6@2 ~@10 a5@17, ~@16 f5 ~@15]/2", // F7 Bb F Bb Em Am Dsus2 F5
  G: "[c6,eb6]", H: "[[bb5,d6,f6]@13 ~ [a5,c6,f6]@17 ~]/2", I: "[[f5,a5,c6]@29 ~ [e5,g5]@2, ~@30 c6 ~]/2",
  J: "[f5,a5,c6] ~@5 [f5,a5,c6]@10", K: "[f5,a5,c6] ~@5 [f5,a5,c6]@9 ~", L: "[[f5,bb5,d6]@28 [f5,bb5,d6]@3 ~]/2",
  M: "[f5,a5,c6] ~@5 [f5,a5,c6]@8 ~@2", N: "[g5,c6,e6]@15 ~", O: "[bb5,d6] ~@7, f5 ~@15",
  P: "~@3 [a5,c6,f6]@2 [a5,c6,f6]@3 [g5,bb5,eb6]@3 [g5,bb5,eb6]@2 [g5,c6,e6]@3", // F Eb C
  Q: "[a5,c6,f6]@2 [f4,g4] [a4,bb4,c5] [c4,e4,c5,e5,c6,e6,g6,bb6]@12, ~@4 d5 ~@11", // F Fsus2 Am C7
  R: "c5 ~ [f5,a5,c6] ~ c5 [f5,a5,c6] c5 [f5,a5,c6]@5 c5 ~ [f5,a5,c6] ~", // F
  S: "c5 ~ [f5,a5,c6] ~ c5 [f5,a5,c6] c5 [f5,a5,c6]@5 c5 ~ [f5,a5,c6]!2", // F
  T: "c5 ~ [f5,a5,c6] ~ c5 [f5,a5,c6] c5 ~@2 c5 ~ [f5,a5,c6] c5 ~ [f5,a5,c6] ~, ~@7 [f5,a5,c6]@4 ~@5", // F
  U: "c5 ~ [f5,a5,c6] ~ c5 [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] c5 ~ [f5,a5,c6] ~", // F
  V: "c5 ~ [f5,a5,c6]!2 c5 [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] c5 [f5,a5,c6]!2 ~", // F
  W: "c5 ~ [f5,a5,c6]!2 c5 [f5,a5,c6] ~ [f5,a5,c6]@3 [a5,c6] f5 c5 ~ [f5,a5,c6] ~", // F Am F
  X: "c5 ~ [f5,a5,c6]!2 c5 [f5,a5,c6] ~ [f5,a5,c6]@3 [f5,a5,c6] [bb4,c5] ~ [f5,a5,c6] ~@2", // F Bbsus2 F
  Y: "c5 [f5,a5,c6]!2 ~ c5 [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] [bb4,c5] ~ [f5,a5,c6] ~", // F Bbsus2 F
  Z: "[a5,c6,f6]@2 [f4,g4] [a4,bb4,c5] [c5,e5,c6,e6,g6,bb6]@12, ~@4 d5 ~@11", AA: "[a5,c6,f6] ~@5 [a5,c6,f6]@10",
  AB: "[c5,f5,a5] ~@5 [c5,f5,a5]@8 [e5,g5]@2, ~@14 c6 ~", // F Em
  AC: "[[a5,c6,f6]@2 [f4,g4] [a4,bb4,c5] [bb5,c6,e6,g6]@7 ~@117, ~ [c5,e5]@31, ~@4 d5 ~@123]/8", // F Fsus2 Am C7 C
  AD: "[[a5,c6,f6]@2 [f4,g4] [a4,bb4,c5,d5] [c5,c6,e6,g6,bb6]@12 ~@2 [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6]@5 ~@2 [f5,a5,c6] ~@3 [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6]@5 ~@2 [f5,a5,c6]!2 ~@2 [f5,a5,c6] ~@2 [f5,a5,c6] ~@3 c5@2 [f5,a5,c6] ~@2 [f5,a5,c6] ~@3 [f5,a5,c6] ~@2 [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] ~@2 [f5,a5,c6] ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] ~ [f5,a5,c6]!2 ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [a5,c6] f5 ~@2 [f5,a5,c6] ~@3 [f5,a5,c6]!2 ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [f5,a5,c6] bb4 ~ [f5,a5,c6] ~@2, ~ e5@31, ~@16 c5@4 c5@2 c5@6 c5@4 c5@4 c5@2 c5@6 c5@4 c5@4 c5@2 c5@3 ~@3 c5@4 c5@4 c5@8 c5@4 c5@4 c5@8 c5@4 c5@4 c5@8 c5@4 c5@4 c5@7 c5@5, ~@55 [f5,a5,c6]@4 ~@69]/8", // F Fsus2 D7 C7 F Am F
  AE: "[~ [f5,a5,c6]!2 ~@2 [f5,a5,c6] ~ [f5,a5,c6]@3 ~ [f5,a5,c6] bb4 ~ [f5,a5,c6] ~ [g5,c6,e6]@15 ~ [bb5,d6]@2 ~@17 [a5,c6,f6]@2 [a5,c6,f6]@3 [g5,bb5,eb6]@3 [g5,bb5,eb6]@2 [g5,c6,e6]@3, c5@4 c5@7 c5@53, ~@32 f5 ~@31]/4", // F C Bb F Eb C
  AF: "[[a5,c6,f6]@2 [f4,g4] [a4,bb4,c5,d5] [c5,c6,e6,g6,bb6]@12 [a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@6 [bb4,d5,f5]@6 [bb4,d5,f5]@3 ~ [a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@6 [bb4,d5,f5]@6 [bb4,d5,f5]@3 ~ [a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@6 [bb4,d5,f5]@5 ~ [bb4,d5,f5]@4 [a4,c5,f5]@6 [a4,c5,f5]@6 [a4,c5,f5]@4, ~ e5@31, ~@7 c5@5 ~@3 c5@5 ~@3 c5@5 ~@4]/8", // F Fsus2 D7 C7 F Dm Bb F …
  AG: "[bb4,d5,f5]@6 [bb4,d5,f5]@5 ~ [bb4,d5,f5]@3 ~", // Bb
  AH: "[[a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@6 [bb4,d5,f5]@5 ~ [bb4,d5,f5]@3 ~, ~@3 c5@5]/2", // F Dm Bb
  AI: "[[a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@5 ~ [bb4,d5,f5]@5 ~ [bb4,d5,f5]@3 ~, ~@3 c5@5]/2", // F Dm Bb
  AJ: "[[a4,c5,f5]@6 [a4,c5,f5]@6 [a4,f5]@3 ~ [bb4,d5,f5]@5 ~ [bb4,d5,f5]@5 ~ [bb4,d5,f5]@4, ~@3 c5@5]/2", // F Dm Bb
  AK: "[g5@16 [bb4,d5,f5]@2 ~@16 [a4,c5,f5]@3 [a4,f5]@2 ~ [g4,bb4,eb5]@2 ~ [g4,bb4,eb5]@2 ~ [g4,c5]@2 [a4,f5] ~ [d2,e2,f2,gb2,g2,a2,bb2,c3] [d3,e3,f3,g3,a3,bb3,c4] [d4,e4,f4,a4,bb4] d5 ~@10, e5@23 e5@9, c5@34 ~@3 c5@9 ~@2 c5@4 [g4,c5,g5,c6]@12]/4", // Bb F Dm Eb C5 Dm D7 Dm7 …
})).s("gm_percussive_organ").gain(0.21)

// chords · rock organ · "ORGAN"
const rock_organ = note("<~@48 A B C@2 D E@2 F@2 G H I J K L M N O P ~@51>".pickRestart({
  A: "~@12 [gb5,db6] d6@3, ~@3 [g5,f6]", // Gb5 G7
  B: "[g5,d6,f6]@3 gb5 d6@2 [f5,c6]@10, [gb5,db6] ~@2 g5@2 ~@11, ~ f6@3, ~@4 db6 ~@11", // G7 F5 Gb5
  C: "[[d5,d6,f6]@3 db6 d6@2 f5@5 [a5,c6] f6 [a5,c6] g6 c6 [a5,c6,a6]@3 ~ [d6,gb6,g6] [g5,f6] d6@2 [c6,f6]@2 g6@2 [c6,f6]@4, db6 ~@2 f6@8 ~@4 f6@4 ~@13, ~@3 d5@3 c6@4 ~@10 a5@2 ~@2 f5@7 ~]/2", // Dm Am Gmaj7 G7 F5
  D: "~ [eb6,e6] ~@6 f6@3 ~ [d6,f6]@4, [f5,bb5], d6@3 d6@3 ~@2, ~ f6@5 ~@2 e6 ~@7", // Emaj7 Dm Bb5
  E: "[[ab5,b5] ~ g5@5 ~ [ab5,b5] ~ g5@2 f5@2 [d5,bb5]@15 ~@3, c5@7 bb4@9, c6@7 ~ c6@5 ~@19, a5 ~@3 a5 ~@11]/2", // Abm Gm
  F: "[[ab5,b5] ~ g5@5 ~ [ab5,b5] ~ g5@2 f5@2 [bb4,d5,bb5]@18, c5@7 ~@9, c6@7 ~ c6@6 ~@18, a5 ~@3 a5 ~@11]/2", // Abm Bb
  G: "f5 a5 f6 f5 a5 eb6 f5 a5 d6 e5 f5 c6 ~ d6 c6 ~", H: "f5 bb5 f6 f5 bb5 eb6 f5 bb5 d6 f5 bb5 c6@3 bb5 ~",
  I: "f5 a5 f6 f5 a5 eb6 f5 a5 d6 e5 f5 c6@2 d6 c6 ~", J: "f5 bb5 f6 f5 bb5 eb6 f5 bb5 d6 f5 bb5 c6@3 ~ [bb4,c5,d5]",
  K: "[e5,f5,g5,bb5,c6,d6,f6] ~ [e5,f5] [bb4,c5,d5,e5,f5,g5,bb5,d6,e6] ~ [a5,bb5,c6,d6,e6] [f5,g5,ab5] [ab4,bb4,c5,d5] [e5,f5,g5,bb5,c6,d6,f6] g5 f5 [a4,bb4,c5,d5,e5,f5,g5,bb5,d6,e6] ~ [a5,d6,e6] [g5,ab5] [bb4,d5], ~@3 [a5,c6]@2 ~@6 [a5,c6,f6]@2 ~@3, ~@2 f6 ~@5", // Em7b5 Fmaj7 C7 Am Fm Bb7 Em7b5 Am7 …
  L: "[e5,f5,g5,d6,f6] g5 f5 [bb4,c5,d5,e5,f5,g5,e6] ~ [a5,d6,e6] [c5,d5,e5,f5,g5,ab5] [c5,d5] [e5,f5,g5,bb5,c6,d6,f6] g5 f5 [a4,bb4,c5,d5,e5,f5,g5,e6] ~ [a5,bb5,c6,d6,e6] [a2,bb2,g5,ab5] [c4,d4,e4], bb5@2 ~ [bb5,d6,f6]@2 ~@6 [bb5,d6,f6]@2 ~@3", // Em7 C7 Asus4 C Csus2 Em7b5 Am7 Am …
  M: "[f4,g4,a4,c5] [a5,c6,f6]!2 [f4,a4,c5] [a5,c6,f6]!2 [f4,a4,c5] [a5,c6,f6]!2 [f4,a4,c5] [a5,c6,f6]!2 [f4,a4,c5] [a5,c6,f6]!2 ~", // F
  N: "[f4,bb4,d5] [bb5,d6,f6]!2 [f4,bb4,d5] [bb5,d6,f6]!2 [f4,bb4,d5] [bb5,d6,f6]!2 [f4,bb4,d5] [bb5,d6,f6]!2 [f4,bb4,d5] [bb5,d6,f6]!2 ~", // Bb
  O: "g6@11 ~ g6@3 ~, [g5,c6,e6]@15 ~", P: "[bb5,d6] ~@7, [f5,f6] ~@15",
})).s("gm_rock_organ").gain(0.47)

// chords · rock organ · "ORGAN" · soft notes · C7 Bbsus2 Bb A5 Bbsus2 Gm
const rock_organ_soft = note(`<
  ~@52
  [~@12 e6 ~@3]
  ~@7
  [~@14 bb5 ~]
  [a5 g5 ~@4 [bb4,c5,d5,e5] ~ a5 ~ e5 ~@2 [bb5,c6] [bb4,c5,d5,e5,f5] c5]
  [~@2 [a4,e5] ~@2 [bb5,c6] bb4!2 a5 ~ e5 ~@3 [c3,db3,d3,e3,f3,bb4,c5,d5,e5,f5] [g3,a3,bb3]]
  ~@55
>`).s("gm_rock_organ").gain(0.24)

// bass · fretless bass · "BASS"
const bass = note("<[~@7 c1] [f1@3 c1 f1@3 c1 f1@3 c1 f1@3 c1]!8 ~@109>").s("gm_fretless_bass").gain(0.28)

// other · marimba · "voz"
const marimba = note(`<
  ~@12 A B C D ~ E F G ~ H I J K L M N O P Q R S H T J U V W X Y Z AA AB ~ H AC AD ~@17 H AE AF AG AH M AI AJ AK AL AM
  AN H AO J ~@25 AP AQ AB ~@10
>`.pickRestart({
  A: "~@6 eb4 f4", B: "ab4 ~ ab4 ~ ab4 ~ g4 ~ f4@4 eb4 ~ f4 ~", C: "~@2 a4@2 d4@3 ~ f4@3 ~ f4@2 f4 ~", D: "eb4@3 ~@13",
  E: "ab4@3 ~ ab4@2 g4@2 f4@4 d4@2 f4@2", F: "ab4@3 ~ ab4@2 g4@2 f4@3 ~ f4 f4@2 ~", G: "c4 ~@7, d4 ~@15",
  H: "[e4,g4]@11 ~ [e4,g4]@4", I: "[d4,f4] ~@3 f4@2 d4@2 f4@2 d4@2 f4 f4@2 ~", J: "d4 c4 ~@14", K: "~@12 d4@2 f4 ~",
  L: "ab4@3 ab4@2 ~ f4@5 ~ d4@2 c4 ~, ~@3 g4 ~@12", M: "f4@2 ~ f4@2 d4 c4 ~@5 d4@2 f4@2",
  N: "~@2 ab4@3 g4@3 f4@3 ~ d4@2 c4 ~", O: "~@2 f4 ~ f4 ~ [c4,d4] ~@5 d4@2 f4 ~",
  P: "~@2 ab4@2 f4 ~ ab4@5 ~ d4@2 c4 ~, ~@6 g4 ~@9", Q: "f4@2 ~ f4@2 ~ [c4,d4] ~@5 d4@2 f4@2",
  R: "ab4@2 ~ g4@2 ~ f4@4 ~@2 d4@2 c4 ~", S: "f4 ~ f4 ~ f4 ~ d4@4 ~@6", T: "[d4,f4] ~@3 f4@2 d4 ~ f4@2 d4 ~ f4 f4@2 ~",
  U: "~@8 d4@2 f4 ~ f4 ~ f4 ~", V: "ab4@2 ~ g4@2 ~ f4@3 d4@2 ~@5, g4 ~@15", W: "ab4@2 g4@2 f4@2 d4@2 f4@3 ~ f4 ~ f4 ~",
  X: "[c4,d4] ~@15", Y: "~@12 f4 f4@2 ~", Z: "~@2 ab4 ~ ab4 g4 ~ f4@3 d4@3 ~@3",
  AA: "f4@2 ~ f4@2 ~ f4@2 ab4@2 f4@3 ~ f4@2, ~@8 g4 ~ d4 ~@5", AB: "d4 c4@2 ~@13",
  AC: "[d4,f4] ~@3 f4@2 d4 ~ f4 d4 f4@2 ~ d4@2 d4", AD: "c4 ~@7", AE: "[d4,f4] ~@3 f4@3 d4 f4@2 d4 ~ f4 f4@2 d4",
  AF: "c4 ~@15", AG: "~@12 ab4 ~@2 ab4", AH: "~ ab4@2 a4@2 ~ f4@5 ~ d4@2 c4 ~, ~@3 ab4 ~@12",
  AI: "~@2 ab4 ~ g4 ~ f4@5 ~ d4@2 c4 ~", AJ: "~@2 f4@2 f4 ~ [c4,d4] ~@3 a4@2 ~ a4@2 ab4",
  AK: "a4@2 ~ a4@2 ab4 a4@2 ~@2 a4@4 d4@2", AL: "f4@2 ~ f4@2 d4 c4 ~@3 d4@3 f4@2 ~",
  AM: "~@2 ab4@3 g4@3 f4@4 d4@2 c4 ~", AN: "f4 ~ f4 ~ f4 ~ [c4,d4] ~@9", AO: "[d4,f4] ~@3 f4@3 d4 f4@3 d4 f4 d4@2 ~",
  AP: "[e4,g4]@12 ~ [e4,g4]@3", AQ: "[d4,f4]@2 ~@2 f4@2 ~ d4 f4@2 ~ d4 f4 f4@2 ~",
})).s("gm_marimba").gain(0.72)

// other · tenor sax · "saxo"
const tenor_sax = note(`<
  ~@9 A@2 B@2 ~@12 C@8 D E F G H@2 ~@2 H@2 ~@2 I J K L ~@4 M@8 N@2 M@2 O E F G C P Q R Q S Q T D E F G ~@8 M@4 N@2 M@6
  N@2 M@2 O E F G ~@9
>`.pickRestart({
  A: "[[f3,f5]@3 ~ [eb3,eb5] [d3,d5] ~ [c3,c5]@3 [f2,f4] ~ [ab2,ab4] [bb2,bb4] ~ [ab2,ab4]@17]/2", // F Eb D C F Ab Bb Ab
  B: "[~@2 [f3,f5] ~ [eb3,eb5] [d3,d5] ~ [c3,c5]@3 [f2,f4] ~ [a2,a4] [bb2,bb4] ~ a4@17, ~@15 f2@13 ~@4]/2", // F Eb D C F A Bb
  C: "~@4 [f3,a4]!2 ~ [f3,a4] ~@8", D: "c4@11 ~ c4@4", E: "bb3 ~@15", F: "~@2 a4@2 ~ a4@2 ~ g4@2 ~ g4@3 ab4@2",
  G: "a4 ~@3 g4@12", H: "~@4 f4!2 ~ f4 ~ f4 ~@6", I: "e4@15 ~", J: "d4 ~@15", K: "~@2 f4@3 f4@2 ~ eb4@2 ~ eb4@2 ~ e4@2",
  L: "f4 ~ g4@6", M: "[~@8 eb4!2 ~@4 d4@17 ~]/2", N: "[~@8 eb4!2 ~@4 d4@18]/2", O: "~@3 c4",
  P: "~@4 [f3,a4]!2 ~ [f3,a4] ~@5 eb2@2 ~", Q: "f2 ~@3 [f3,a4]!2 ~ [f3,a4] ~@8",
  R: "~@4 [f3,a4]!2 ~ [f3,a4] ~ a4 ~@4 eb2@2", S: "~@4 [f3,a4]!2 ~ [f3,a4] ~@6 eb2@2",
  T: "~@4 [f3,a4]!2 ~ [f3,a4] ~ a4 ~ ab4 ~ g4 ~@2", // F
})).s("gm_tenor_sax").gain(0.44).pan(0)

// other · trumpet · "trompeta"
const trumpet = note(`<
  ~@9 A@2 B@2 ~@12 C@5 D C D E F G H I@2 ~@2 J@2 ~@2 K L M N ~@4 O@2 P@2 Q@2 R@6 S F G H C@3 T C D C U E F G H ~@8 Q@2
  R@6 Q@2 R@6 S F G V ~@9
>`.pickRestart({
  A: "[f5@3 ~ eb5 d5 ~ c5@3 f4 ~ ab4 bb4 ~ ab4@17]/2", B: "[~@2 f5 ~ eb5 d5 ~ c5@3 f4 ~ a4 bb4 ~ a4@17]/2",
  C: "~@4 c5!2 ~ c5 ~@8", D: "~@3 c5!2 ~ c5 ~@9", E: "e5@11 ~ e5@4", F: "d5 ~@15",
  G: "~@2 f5@2 ~ f5@2 ~ eb5@2 ~ eb5@2 e5@2 ~", H: "f5 ~@3 c5@12", I: "~@4 c5!2 ~ c5 ~ c5 ~@6",
  J: "~@4 bb4!2 ~ bb4 ~ bb4 ~@6", K: "a4@11 ~ a4@4", L: "g4 ~@15", M: "~@2 c5@3 c5@2 ~ bb4@2 ~ bb4@2 b4@2 ~",
  N: "c5 ~@3 [c5,eb6]@12", O: "[~@8 f5!2 ~@4 f5@17 ~]/2", P: "[~@8 f5!2 ~@4 f5@15 ~@3]/2",
  Q: "[~@8 f5!2 ~@4 f5@16 ~@2]/2", R: "[~@8 f5!2 ~@4 f5@18]/2", S: "~@3 e5", T: "~@4 c5!2 ~ c5 ~ eb5 ~@6",
  U: "~@3 c5!2 ~ c5 ~@2 eb5 ~ d5 ~ db5 ~@2", V: "f5 ~@3 [c5,c6]@12",
})).s("gm_trumpet").gain(0.44).pan(0.8)

// other · synth brass 2 · "viento"
const synth_brass_2 = note("<~@9 A@2 B@2 ~@105>".pickRestart({
  A: "[f5@3 ~ eb5 d5 ~ c5@2 ~ [f4,g4] ~ ab4 bb4 ~ ab4@17]/2", B: "[~@2 f5 ~ eb5 d5 ~ c5@3 f4 ~ a4 bb4 ~ a4@17]/2",
})).s("gm_synth_brass_2").gain(0.23)

// other · distortion guitar · "guit.dist"
const distortion_guitar = note("<~@80 A B C D E F G H I J K L M N O P Q R S T U V@2 W X Y Z ~@11>".pickRestart({
  A: "~@3 f5", B: "f5@2 eb5 c5 eb5@2 f5@5 ~ f5 eb5 c5 ~", C: "bb5@6 a5@6 f5 g5 f5 d5", D: "f5@4 g5 f5 d5@2 f5@4 ab5@4",
  E: "c5 d5 f5 c5 d5 f5 c5 d5 f5 c5 d5 f5 c5 d5 f5 c5", F: "d5 f5 c5 d5 f5 c5 d5 f5 c5 [d5,f5] c5 d5 f5 [c5,d5] f5 c5",
  G: "[d5,f5] c5 [d5,f5] [c5,d5] f5 c5 [d5,f5] [c5,d5] f5 c5 [d5,f5] c5 [d5,f5] c5 [d5,f5] g5", // Dm Csus2 Dm Csus2 Dm
  H: "a5@6 a5@4 ~ a5@2 ~ g5@2", I: "g5@4 [d5,ab5]@4 [d5,ab5]@2 ~ g5@3 [c5,f5]@2, ~@10 d5@3 ~@3",
  J: "a5@3 c5 f4 ~ a5@5 a5@3 f5@2", K: "f5@3 ~ ab5@7 g5@3 f5@2", L: "a5@3 ~@3 a5@5 a5@2 ~ g5@2",
  M: "g5@4 d5@3 ~ f5@3 ~ f5@3 ~", N: "c5@3 ~ c5@3 ~ [bb4,c5] ab4 ~ f4 f4@4, b4 ~@15",
  O: "ab4 f4 bb4 f4 c5!2 eb5 c5 bb4 ab4 f4 eb4 f4 ab4 bb4 c5", P: "f5@3 f5@3 b5@4 bb5@2 ab5@2 f5@2",
  Q: "b5 bb5 ab5 f5 b5 ~ ab5 f5 b5 bb5 ab5 f5 b5 ~ ab5 f5, ~@5 bb5@2 ~@6 bb5@2 ~", R: "[f5,c6]",
  S: "~@2 c4 eb4 f4 ~@2 bb4@2 ab4 f4 [eb4,bb4]@2 [f4,ab4] ~ eb4, ~@5 ab4@2 ~@9, ~@3 [bb4,c5] ~@4", // Eb5 Fm Bbsus2
  T: "[f4,ab4]@12 ab4 f4 c4 ~", U: "[ab4,c5,f5]@12 f5 c5 ab4 ~", V: "[[c5,ab5]@15 ~ d5@14 ~@2, ~@15 ab5@15 ~@2]/2",
  W: "[f5,bb5]@6 [eb5,ab5]@4 [c5,f5]@5 ~", X: "[f5,bb5]@4 [eb5,ab5]@2 [c5,f5]@5 ~ g5 [d5,f5] ~@2",
  Y: "[f5,bb5]@4 [eb5,ab5]@2 [c5,f5]@6 g5 f5 d5 ~", Z: "~ e5 [f4,g4,a4,bb4,c5,d5] e4 ~@12, [c5,f5] ~@7",
})).s("gm_distortion_guitar").gain(0.39)

// bass · slap bass 1 · "bajo1"
const bass_2 = note(`<
  ~@5 A@2 B A B A C B D@4 E@2 F G H I J K L D F D@2 F L M N I O K L P F Q R E F S N I J K D T F R F T F U D T V R D T L
  E N I W K L X F Y P Z D AA N I AB K L R P R P U P U L R P R L U AC U L U D U V AD L U AE AF W K L AG L AH L AG L AI ~
>`.pickRestart({
  A: "f1@2 f1!2 f1@2 f1@2 f1@2 f1!2 f1@2 f1@2", B: "f1 ~ f1!2 f1@2 f1@2 f1@2 f1!2 f1@2 f1@2",
  C: "f1@2 f1!2 f1@2 f1@2 f1 ~ f1!2 f1@2 f1@2", D: "f1@2 ~ f1@2 ~ f1@2 a1@3 bb1@2 ~ c2@2",
  E: "bb1@2 ~ bb1@2 ~ bb1@2 d2@3 eb2@2 ~ f2@2", F: "f1@2 ~ f1@2 ~ f1@2 a1@3 bb1@3 c2@2",
  G: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@3 b1@2", H: "c2@2 c2@2 ~ c2!3 c2@2 c2!2 ~ c2 b1@2", I: "bb1 ~@15",
  J: "~@3 f2@2 f2@3 eb2@2 ~ eb2@2 e2@2 ~", K: "f2 ~ c2@6", L: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@2 ~ c2@2",
  M: "f1@2 ~ f1@2 ~ f1@2 a1@3 bb1@2 ~ b1@2", N: "c2@2 c2@2 ~ c2!3 c2@2 c2!2 ~ b1@2 ~, ~@13 c2 ~@2",
  O: "~@3 f2@2 f2@2 ~ eb2@2 ~ eb2@2 ~ e2@2", P: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@3 c2@2",
  Q: "f1@2 ~ f1@2 ~ f1@2 a1@3 bb1@3 c2 ~", R: "bb1@2 ~ bb1@2 ~ bb1@2 d2@2 ~ eb2@3 f2@2",
  S: "f1@2 ~ f1@2 ~ f1@2 a1@3 bb1@3 b1@2", T: "bb1@2 ~ bb1@2 ~ bb1@2 d2@3 eb2@3 f2@2",
  U: "bb1@2 ~ bb1@2 ~ bb1@2 d2@2 ~ eb2@2 ~ f2@2", V: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@3 c2 ~",
  W: "~@2 f2@2 ~ f2@2 ~ eb2@2 ~ eb2@2 ~ e2@2", X: "f1@2 ~ f1@2 f1@2 ~ a1@3 bb1@2 ~ c2@2",
  Y: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@2 c2@2 ~", Z: "f1@2 ~ f1@2 f1@2 ~ a1@2 ~ bb1@2 c2@2 ~",
  AA: "f1@2 ~ f1@2 f1@2 ~ a1@3 bb1@2 b1@2 ~", AB: "~@3 f2@2 ~ f2@2 eb2@2 ~ eb2@2 ~ e2@2",
  AC: "f1@2 ~ f1@2 ~ f1@2 a1@2 ~ bb1@2 ~ c2 ~", AD: "bb1@2 ~ bb1@2 ~ bb1@2 d2@2 ~ eb2@2 ~ f2 ~",
  AE: "c2@2 ~ c2@2 ~ c2@2 c2@2 ~ c2@2 ~ f1@2", AF: "bb1 ~@7", AG: "f1@2 ~ f1@2 ~ f1@2 eb2@2 ~ d2@3 bb1@2",
  AH: "f1@2 ~ f1@2 ~ f1@2 eb2@3 e2@3 f2@2", AI: "f1@2 ~ f1@2 ~ f1@2 eb2@3 ~@5",
})).s("gm_slap_bass_1").gain(0.72)

// chords · synth brass 1 · "coro"
const synth_brass_1 = note(`<
  ~@15 A@2 ~@2 B@2 ~@18 A@2 ~@2 B@2 ~@7 C D E F C G C H C I C J ~@24 C D E F C K C H C I C L C D E F ~@14
>`.pickRestart({
  A: "[~@4 [a3,c4,e4,f4] [a3,c4,f4] ~ [a3,c4,f4]@4 f4 [a3,c4,e4,f4] [a3,c4,f4] ~ [a3,c4,f4]@4 ~ [a3,c4,f4]!2 ~ [a3,c4,eb4]@9]/2", // Fmaj7 F Fmaj7 F Adim
  B: "[~@4 [a3,c4,f4]!2 ~ [a3,c4,f4]@4 ~ [a3,c4,f4]!2 ~ [a3,c4,f4]@4 ~ [a3,c4,f4]!2 [a3,c4,eb4]@9 ~]/2", // F Adim
  C: "~@14 [f4,c5,f5] ~", // F5
  D: "[f4,c5,f5]@2 [bb4,d5] [g3,a3,bb3,c4,d4,e4,f4,g4,a4,e5] [c3,d3,e3,f3,g3,a3,bb3,c4,d4] [a2,bb2,g3] ~@10", // F5 Bb Gm7 C7 Eb
  E: "~@14 [f4,c5,f5,g5] ~", F: "[f4,c5,f5]@3 [g3,a3,bb3,c4,e4,f4,g4,a4,bb4,d5] [d3,e3,f3,g3,a3,bb3,c4,d4] ~@11",
  G: "[f4,c5,f5]@2 e4 [a3,bb3,c4,d4,f4,g4,a4,bb4,e5] [bb2,c3,e3,f3,g3,bb3,c4,e4] [g2,a2] ~@10", // F5 Am7 C7 Gsus2
  H: "[f4,c5,f5]@3 [bb3,c4,d4,g4,a4,e5] [c3,f3,g3,ab3,a3,c4,e4,f4] gb3 ~@10", // F5 C7 Fmaj7
  I: "[f4,c5,f5]@3 [c4,d4,e4,a4,e5] [e3,f3,g3,a3,bb3,e4,f4,g4] [g2,a2,bb2,c3,d3,c4,d4] ~@10", // F5 Am Edim Gm
  J: "[f4,c5,f5]@3 [a3,bb3,c4,d4,g4,a4,d5,e5] [c3,e3,f3,g3,bb3,c4,e4,f4] [g2,a2,f3,g3,a3] ~@10", // F5 Am7 C7 Dm
  K: "[f4,c5,f5]@2 e4 [g3,a3,bb3,c4,d4,e4,f4,g4,a4,bb4,e5] [bb2,c3,e3,f3,bb3,c4] [g2,a2] ~@10", // F5 Gm7 Bbsus2 Gsus2
  L: "[f4,c5,f5]@3 [a3,bb3,c4,d4,g4,a4,d5,e5] [c3,e3,f3,g3,a3,bb3,c4,e4,f4] [g2,a2,f3,g3] ~@10", // F5 Am7 C7 Dm
})).s("gm_synth_brass_1").gain(0.29)

// chords · synth brass 1 · "coro" · soft notes
const synth_brass_1_soft = note("<~@53 A ~ B ~ C ~ D ~ E ~ F ~@25 A ~ B ~ G ~ D ~ E ~ F ~ A ~ B ~@14>".pickRestart({
  A: "~@2 e4 ~@13", B: "~@3 e5 ~@12", C: "~@3 d5 d4 ~@11", D: "~@3 [e4,bb4,d5] d4 ~@11", E: "~@3 [bb4,d5] ~@12",
  F: "~@2 e4 bb4 d4 ~@11", G: "~@3 d5 [d4,e4] ~@11",
})).s("gm_synth_brass_1").gain(0.16)

// drums · low tom
const low_tom = s("lt").struct("<~@22 A B C ~@9 D B C ~@10 B C ~@19 E ~@9 F B C ~@25 A B C ~@9>".pickRestart({
  A: "~@13 x!3", B: "x", C: "~@3 x ~@12", D: "~@13 x ~@2", E: "~ x ~@2", F: "~@15 x",
})).gain(0.42)
// … 137 more lines

More by Santana