Strudelify
Stand by Me cover art

Be Here Now

Stand by Me

Oasis

KeyG majorTempo85 bpm
0:00/0:00
// Stand by Me — Oasis
// 85 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 3/4 at bar 43, 4/4 at bar 44, 3/4 at bar 47, ...) are rendered on a constant 4/4 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 115 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(85/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 · acoustic guitar steel · "Rhythm"
const acoustic_guitar_steel = note(`<
  A B C D A B C D A B C D A B C D E F G H I J K L A B C D 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
  AD AE AF AC AD AE AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BE BF I J K L M N O P
  Q R S BG AP AQ AR BH BI BJ BK BL BM BN@3
>`.pickRestart({
  A: "[g2,b2,d3,b3,d4,g4]@2 b2 d3 [g2,b2,d3,b3,d4,g4]@2 b2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3] [b3,d4,g4]@2 g2 [b2,d3], ~@12 [g2,b2,d3] ~@3", // G Bm G
  B: "[a3,d#4,f#4]@2 b2 ~ [b2,d#3,f#3,a3,d#4,f#4]@2 [b2,f#3] [b2,d#3,f#3,a3,d#4,f#4] ~ [b2,d#3,a3,d#4,f#4]@2 b2 [b2,d#3,f#3,a3,d#4,f#4]@2 b2 [d#3,f#3], b2 ~@15", // D#dim B7 B5 B7 D#m
  C: "[g3,c4,e4]@2 g2 [c3,e3] [g2,c3,e3,g3,c4,e4]@2 g2 [g2,c3,e3,g3,c4,e4] ~ [g2,c3,e3,g3,c4,e4]@2 [g2,c3,e3] [g2,c3,e3,g3,c4,e4] ~ g2 [c3,e3], [f2,g2,d3] ~@15", // C G7
  D: "[a2,a3,d4,f#4]@2 d3@2 [a2,d3,f#3,a3,d4,f#4]@2 ~ [d3,f#3,a3,d4,f#4] ~ [a2,d3,f#3,a3,d4,f#4]@2 ~ [d3,f#3,a3,d4,f#4]@2 ~ [f#3,d4,f#4], ~@11 [a2,d3]@2 ~ [a2,d3]@2", // D D5
  E: "[g3,c4,e4,g4]@2 c3 e3 [c3,e3,g3,c4,e4,g4]@2 [c3,e3,g3] [c3,e3,g3,c4,e4,g4] ~ [c3,e3,g3,c4,e4,g4]@2 e3 [g3,c4,e4,g4]@2 c3 [e3,g3], [c3,e3] ~@11 [c3,e3] ~@3", // C Em C
  F: "[a3,d4,f#4]@2 [a2,d3] ~ [a2,d3,f#3,a3,d4,f#4]@2 a2 [a2,d3,f#3,a3,d4,f#4] ~ [a3,d4,f#4]@2 [a2,d3] [f#3,a3,d4,f#4]@2 d3 f#3, a2 ~@8 [a2,d3,f#3] ~@2 [a2,d3] ~@3", // D D5 D D5 D D5
  G: "[g2,b3,d4,g4]@2 b2 d3 [b3,d4,g4]@2 [g2,b2,d3] d3 [f#2,a2,d3,a3,d4,g4] ~ [f#2,a2,d3,a3,d4,g4]@2 [f#2,a2,d3] ~ [e2,g3,b3,e4]@2, [f2,b2,d3] ~@3 [g2,b2,d3] ~@9 b2 ~", // G D Em Bdim G
  H: "~ [e2,g2,b2,e3,g3,b3,e4] [g2,b2,e3,g3,b3,e4] ~ [e3,g3,b3]@2 g2 [g2,b2,e3,g3,b3,e4] ~ [e2,g2,b2,e3,g3,b3,e4]@2 g2 [e3,g3,b3,e4]@2 [e2,g2] [b2,e3], ~@4 [e2,e4]@4 ~@4 [e2,g2,b2] ~@3, ~@4 [g2,b2] ~@11", // Em E5 E Em G
  I: "d3 ~ d3!2 [a2,d3,a3,d4,g4]@2 d3 [a2,d3,g3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3] [d3,a3,d4,g4]@2 a2 d3, [a2,a3,d4,g4]@4 ~@8 a2 ~@3", // Dsus4 D5 Dsus4
  J: "[d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 a2 [a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 ~ d3@2 a2 d3, a2 ~@10 a2@2 ~@3, ~@3 [a3,d4,g4]", // Dsus4
  K: "[g2,g3,d4,g4]@2 [c3,g3,d4,g4] ~ [g2,c3,e3,g3,d4,g4]@2 [g2,c3] [g2,c3,e3,g3,d4,g4] ~ [g2,c3,e3,g3,d4,g4]@2 ~ [c3,e3,g3,d4,g4]@2 g2 [c3,e3], ~@11 [g2,c3]@2 ~@3", // G5 Csus2 C C5 C C5
  L: "[c3,e3,g3,d4,g4]@2 g2 [c3,e3] [g2,c3,e3,g3,d4,g4]@2 [c3,e3] [c3,e3,g3,d4,g4] ~ [g3,d4,g4]@2 [g2,c3,e3] [c3,e3,g3,d4,g4]@2 [g2,c3,e3] c3, g2 ~@8 [g2,c3,e3] ~@2 g2 ~@3", // C G5 C
  M: "[d3,b3,d4,g4]@2 g2 [b2,d3] [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3] [b3,d4,g4]@2 [b2,d3]!2, [g2,b2] ~@11 [g2,b2,d3] ~@3", // G Bm G Bm G
  N: "[d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 d3 [g2,a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a3,d4,g4]@2 a2 d3, a2 ~@11 [a2,d3] ~@3", // Dsus4 Gsus2 Dsus4 D5 Dsus4 D5
  O: "[g3,d4,g4]@2 a2 d3 [a2,d3,g3,d4,g4]@2 ~ [g2,a2,d3,g3,d4,g4] ~ [a2,d3,g3,d4,g4]@2 a2 [g3,d4,g4]@2 d3 ~, [a2,d3] ~@11 [a2,d3] ~@3", // G5 Dsus4 Gsus2 Dsus4 G5 D5
  P: "[c3,e3,g3,c4,e4,g4]@2 [c3,e3,c4,e4] [c3,e3,g3,c4,e4,g4] [f2,a2,c3,f3,a3,c4]@2 [f2,a2,f3,a3] [f2,a2,c3,f3,a3,c4] [f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2 [d3,b3,d4,g4]@2 g2 [b2,d3], ~@12 [g2,b2] ~@3", // C F D G Bm G
  Q: "[g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3] [b3,d4,g4]@2 [b2,d3]!2 [d3,a3,d4,g4]@2 a2 d3, ~@8 [g2,b2,d3] ~@3 a2 ~@3", // G Bm Dsus4 G
  R: "[a2,d3,a3,d4,g4]@2 d3 [g2,a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a3,d4,g4]@2 a2 d3 [g3,d4,g4]@2 a2 d3, ~@8 [a2,d3] ~@3 [a2,d3] ~@3", // Dsus4 Gsus2 Dsus4 D5 Dsus4 G5 D5
  S: "[a2,d3,g3,d4,g4]@2 ~ [g2,a2,d3,g3,d4,g4] ~ [a2,d3,g3,d4,g4]@2 a2 [g3,d4,g4]@2 d3 ~ [c3,e3,g3,c4,e4,g4]@2 [c3,e3,c4,e4] [c3,e3,g3,c4,e4,g4], ~@8 [a2,d3] ~@7", // Dsus4 Gsus2 Dsus4 G5 C D5
  T: "[f2,a2,c3,f3,a3,c4]@2 [f2,a2,f3,a3] [f2,a2,c3,f3,a3,c4] [f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2 [d3,b3,d4,g4]@2 g2 b2 [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4], ~@8 [g2,b2] ~@7", // F D G
  U: "~ [g2,b2,d3,b3,d4,g4]@2 ~ [d3,b3,d4,g4]@2 g2 ~ [a3,d4,g4]@3 d3 [a2,d3,a3,d4,g4]@2 [a2,d3] [a2,d3,a3,d4,g4], ~@4 b2 ~@3 [a2,d3] ~@7", // G Dsus4 D5 Dsus4 D5
  V: "~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a3,d4,g4]@3 d3 [b2,g3,d4,g4]@2 ~ b2 [e2,b2,g3,d4,g4]@2 e2 [e2,b2,g3,d4,g4], ~@4 [a2,d3] ~@3 e2 ~ e2@2 ~@4", // Dsus4 D5 Dsus4 G Em7 D5
  W: "~ [e2,b2,g3,d4,g4]@2 ~ [b2,g3,d4,g4]@3 b2 [g3,d4,g4]@3 b2 [e2,b2,g3,d4,g4]@2 ~ [e2,b2,g3,d4,g4], ~@4 e2 ~@3 [e2,b2] ~@7", // Em7 G G5 Em7 E5
  X: "~ [e2,b2,g3,d4,g4]@2 [e2,b2] b2 ~ b2 ~ [e3,g3,d4,g4]@2 c3 e3 [c3,e3,g3,d4,g4]@2 ~ [c3,e3,g3,d4,g4], ~@4 [e2,g3,d4,g4]@4 [c3,d3] ~@7", // Em7 E5 Em7 C Em7 Csus2
  Y: "~ [c3,e3,g3,d4,g4]@2 [c3,e3] [g3,d4,g4]@2 c3 e3 [d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 ~ [a2,d3,a3,d4,g4], ~@4 [c3,e3] ~@3 a2 ~@7", // C G5 Dsus4 C
  Z: "~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a2,a3,d4,g4]@3 b2 [g2,b2,d3,g3,d4,g4]@2 g2 d3 [g2,b2,d3,g3,d4,g4]@2 b2 [g2,b2,d3,g3,d4,g4], ~@4 d3 ~@11", // Dsus4 D5 Dsus4 G
  AA: "~ [g2,b2,d3,g3,d4,g4]@2 g2 [b2,d3,g3,d4,g4]@2 g2 [b2,d3] [d3,g3,d4,g4]@2 b2 ~ [g2,b2,d3,g3,d4,g4]@2 [b2,d3] [g2,b2,d3,g3,d4,g4], ~@4 g2 ~@3 [g2,b2] ~@7", // G Bm G5 G Bm G
  AB: "~ [g2,b2,d3,g3,d4,g4]@2 [g2,b2,d3] [b2,d3,g3,d4,g4]@2 g2 ~ [g2,b2,d3,b3,d4,g4]@2 b2 d3 [g2,b2,d3,b3,d4,g4]@2 b2 [g2,b2,d3,b3,d4,g4], ~@4 g2 ~@11", // G
  AC: "~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3] [b3,d4,g4]@2 g2 [b2,d3] [a3,d#4,f#4]@2 b2 ~ [b2,d#3,f#3,a3,d#4,f#4]@2 [b2,f#3] [b2,d#3,f#3,a3,d#4,f#4], ~@4 [g2,b2,d3] ~@3 b2 ~@7", // G Bm D#dim B7 B5 B7 G
  AD: "~ [b2,d#3,a3,d#4,f#4]@2 b2 [b2,d#3,f#3,a3,d#4,f#4]@2 b2 [d#3,f#3] [g3,c4,e4]@2 g2 [c3,e3] [g2,c3,e3,g3,c4,e4]@2 g2 [g2,c3,e3,g3,c4,e4], ~@8 [f2,g2,d3] ~@7", // B7 D#m C G7
  AE: "~ [g2,c3,e3,g3,c4,e4]@2 [g2,c3,e3] [g2,c3,e3,g3,c4,e4] ~ g2 [c3,e3] [a2,a3,d4,f#4]@2 d3@2 [a2,d3,f#3,a3,d4,f#4]@2 ~ [d3,f#3,a3,d4,f#4]", // C D
  AF: "~ [a2,d3,f#3,a3,d4,f#4]@2 ~ [d3,f#3,a3,d4,f#4]@2 ~ [f#3,d4,f#4] [g2,b2,d3,b3,d4,g4]@2 b2 d3 [g2,b2,d3,b3,d4,g4]@2 b2 [g2,b2,d3,b3,d4,g4], ~@3 [a2,d3]@2 ~ [a2,d3]@2 ~@8", // D G D5
  AG: "~ [a2,d3,f#3,a3,d4,f#4]@2 ~ [d3,f#3,a3,d4,f#4]@2 ~ [f#3,d4,f#4] [g3,c4,e4,g4]@2 c3 e3 [c3,e3,g3,c4,e4,g4]@2 [c3,e3,g3] [c3,e3,g3,c4,e4,g4], ~@3 [a2,d3]@2 ~ [a2,d3]@2 [c3,e3] ~@7", // D C D5 C
  AH: "~ [c3,e3,g3,c4,e4,g4]@2 e3 [g3,c4,e4,g4]@2 c3 [e3,g3] [a3,d4,f#4]@2 [a2,d3] ~ [a2,d3,f#3,a3,d4,f#4]@2 a2 [a2,d3,f#3,a3,d4,f#4], ~@4 [c3,e3] ~@3 a2 ~@7", // C Em D D5 D C
  AI: "~ [a3,d4,f#4]@2 [a2,d3] [f#3,a3,d4,f#4]@2 d3 f#3 [g2,b3,d4,g4]@2 b2 d3 [b3,d4,g4]@2 [g2,b2,d3] d3, ~ [a2,d3,f#3] ~@2 [a2,d3] ~@3 [f2,b2,d3] ~@3 [g2,b2,d3] ~@3", // D D5 D G D D5 Bdim G
  AJ: "[f#2,a2,d3,a3,d4,g4] ~ [f#2,a2,d3,a3,d4,g4]@2 [f#2,a2,d3] ~ [e2,g3,b3,e4]@3 [e2,g2,b2,e3,g3,b3,e4] [g2,b2,e3,g3,b3,e4] ~ [e3,g3,b3]@2 g2 [g2,b2,e3,g3,b3,e4], ~@6 b2 ~@5 [e2,e4]@4, ~@12 [g2,b2] ~@3", // D Em E G
  AK: "~ [e2,g2,b2,e3,g3,b3,e4]@2 g2 [e3,g3,b3,e4]@2 [e2,g2] [b2,e3] d3 ~ d3!2 [a2,d3,a3,d4,g4]@2 d3 [a2,d3,g3,a3,d4,g4], ~@4 [e2,g2,b2] ~@3 [a2,a3,d4,g4]@4 ~@4", // Em E5 Dsus4 Em Dsus4
  AL: "~ [a2,d3,a3,d4,g4]@2 [a2,d3] [d3,a3,d4,g4]@2 a2 d3 [d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 a2 [a2,d3,a3,d4,g4], ~@4 a2 ~@3 a2 ~@7", // Dsus4 D5 Dsus4
  AM: "~ [a2,d3,a3,d4,g4]@2 ~ d3@2 a2 d3 [g2,g3,d4,g4]@2 [c3,g3,d4,g4] ~ [g2,c3,e3,g3,d4,g4]@2 [g2,c3] [g2,c3,e3,g3,d4,g4], ~@3 a2@2 ~@11, ~ [a3,d4,g4] ~@2", // Dsus4 G5 Csus2 C C5 C Dsus4
  AN: "~ [g2,c3,e3,g3,d4,g4]@2 ~ [c3,e3,g3,d4,g4]@2 g2 [c3,e3] [c3,e3,g3,d4,g4]@2 g2 [c3,e3] [g2,c3,e3,g3,d4,g4]@2 [c3,e3] [c3,e3,g3,d4,g4], ~@3 [g2,c3]@2 ~@3 g2 ~@7", // C C5
  AO: "~ [g3,d4,g4]@2 [g2,c3,e3] [c3,e3,g3,d4,g4]@2 [g2,c3,e3] c3 [d3,b3,d4,g4]@2 g2 [b2,d3] [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4], ~ [g2,c3,e3] ~@2 g2 ~@3 [g2,b2] ~@7", // G5 C G Bm G C G
  AP: "~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3] [b3,d4,g4]@2 [b2,d3]!2 [d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 d3 [g2,a2,d3,a3,d4,g4], ~@4 [g2,b2,d3] ~@3 a2 ~@7", // G Bm Dsus4 Gsus2 G
  AQ: "~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a3,d4,g4]@2 a2 d3 [g3,d4,g4]@2 a2 d3 [a2,d3,g3,d4,g4]@2 ~ [g2,a2,d3,g3,d4,g4], ~@4 [a2,d3] ~@3 [a2,d3] ~@7", // Dsus4 D5 Dsus4 G5 Dsus4 Gsus2 D5
  AR: "~ [a2,d3,g3,d4,g4]@2 a2 [g3,d4,g4]@2 d3 ~ [c3,e3,g3,c4,e4,g4]@2 [c3,e3,c4,e4] [c3,e3,g3,c4,e4,g4] [f2,a2,c3,f3,a3,c4]@2 [f2,a2,f3,a3] [f2,a2,c3,f3,a3,c4], ~@4 [a2,d3] ~@11", // Dsus4 G5 C F D5
  AS: "[f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2 [d3,b3,d4,g4]@2 g2 [b2,d3] [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 [g2,b2,d3], ~@4 [g2,b2] ~@11", // D G Bm G
  AT: "[b3,d4,g4]@2 [b2,d3]!2 [d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 d3 [g2,a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3], [g2,b2,d3] ~@3 a2 ~@11", // G Bm Dsus4 Gsus2 Dsus4 D5 G
  AU: "[a3,d4,g4]@2 a2 d3 [g3,d4,g4]@2 a2 d3 [a2,d3,g3,d4,g4]@2 ~ [g2,a2,d3,g3,d4,g4] ~ [a2,d3,g3,d4,g4]@2 a2, [a2,d3] ~@3 [a2,d3] ~@11", // Dsus4 G5 Dsus4 Gsus2 Dsus4 D5
  AV: "[g3,d4,g4]@2 d3 ~ [c3,e3,g3,c4,e4,g4]@2 [c3,e3,c4,e4] [c3,e3,g3,c4,e4,g4] [f2,a2,c3,f3,a3,c4]@2 [f2,a2,f3,a3] [f2,a2,c3,f3,a3,c4] [f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2, [a2,d3] ~@15", // G5 C F D D5
  AW: "[d3,b3,d4,g4]@2 g2 b2 [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 ~ [d3,b3,d4,g4]@2 g2 ~, [g2,b2] ~@11 b2 ~@3", // G
  AX: "[a3,d4,g4]@3 d3 [a2,d3,a3,d4,g4]@2 [a2,d3] [a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a3,d4,g4]@3 d3, [a2,d3] ~@11 [a2,d3] ~@3", // Dsus4 D5 Dsus4 D5 Dsus4 D5
  AY: "[b2,g3,d4,g4]@2 ~ b2 [e2,b2,g3,d4,g4]@2 e2 [e2,b2,g3,d4,g4] ~ [e2,b2,g3,d4,g4]@2 ~ [b2,g3,d4,g4]@3 b2, e2 ~ e2@2 ~@8 e2 ~@3", // G Em7 G
  AZ: "[g3,d4,g4]@3 b2 [e2,b2,g3,d4,g4]@2 ~ [e2,b2,g3,d4,g4] ~ [e2,b2,g3,d4,g4]@2 [e2,b2] b2 ~ b2 ~, [e2,b2] ~@11 [e2,g3,d4,g4]@4", // G5 Em7 E5 Em7
  BA: "[e3,g3,d4,g4]@2 c3 e3 [c3,e3,g3,d4,g4]@2 ~ [c3,e3,g3,d4,g4] ~ [c3,e3,g3,d4,g4]@2 [c3,e3] [g3,d4,g4]@2 c3 e3, [c3,d3] ~@11 [c3,e3] ~@3", // Em7 C G5 Csus2 C
  BB: "[d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 ~ [a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3] [a2,a3,d4,g4]@3 b2, a2 ~@11 d3 ~@3", // Dsus4 D5 Dsus4
  BC: "[e3,b3,d4,g4]@2 ~ b2 [b3,d4,g4]@2 b2 e3 [a2,d3,a3,d4,g4] ~ [d3,a3,d4,g4]@2 a2 ~ [c3,e3,g3,c4,g4]@2, [e2,b2] ~ e2@5 ~@9, ~@4 [b2,e3] ~@5 a2 ~@5", // Em7 G Dsus4 C E5
  BD: "~ [c3,e3,g3,c4,g4] [c3,e3,g3,c4] ~ [c3,e3,g3,c4,g4]@2 c3 [c3,e3,g3,c4,g4] ~@2 c3 ~ [e3,g3,c4,g4]@2 c3 e3, ~@9 [c3,e3,g3,c4,g4]@2 ~@5", // C
  BE: "[b3,e4,g4]@2 b2@2 [b2,e3,b3,e4,g4]@2 b2 [a3,d4,g4] [a2,d3] ~ [a2,d3] ~ [a2,d3,a3,d4,g4] ~ [c3,e3,g3,d4,g4]@2, e2@6 ~@3 [a3,d4,g4]@2 ~@5", // Em Dsus4 D5 Dsus4 C Dsus4
  BF: "~ [c3,e3,g3,d4,g4] [c3,e3,g3,d4] ~ [c3,e3,g3,d4,g4]@2 c3 [c3,e3,g3,d4,g4] ~ [e3,g3,d4,g4]@2 c3 [e3,g3,d4,g4]@2 c3 e3", // C Em7
  BG: "[f2,a2,c3,f3,a3,c4]@2 [f2,a2,f3,a3] [f2,a2,c3,f3,a3,c4] [f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2 [d3,b3,d4,g4]@2 g2 [b2,d3] [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4], ~@8 [g2,b2] ~@7", // F D G Bm G
  BH: "[f#2,a2,d3,g3,d4,g4] ~ [f#2,a2,d3,g3,d4,g4]!2 [d3,b3,d4,g4]@2 g2 b2 [g2,b2,d3,b3,d4,g4]@2 g2 [g2,b2,d3,b3,d4,g4] ~ [g2,b2,d3,b3,d4,g4]@2 ~, ~@4 [g2,b2] ~@11", // D G
  BI: "[d3,b3,d4,g4]@2 g2 ~ [a3,d4,g4]@3 d3 [a2,d3,a3,d4,g4]@2 [a2,d3] [a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3], b2 ~@3 [a2,d3] ~@11", // G Dsus4 D5 Dsus4 D5
  BJ: "[a3,d4,g4]@3 d3 [b2,g3,d4,g4]@2 ~ b2 [e2,b2,g3,d4,g4]@2 e2 [e2,b2,g3,d4,g4] ~ [e2,b2,g3,d4,g4]@2 ~, [a2,d3] ~@3 e2 ~ e2@2 ~@8", // Dsus4 G Em7 D5
  BK: "[b2,g3,d4,g4]@3 b2 [g3,d4,g4]@3 b2 [e2,b2,g3,d4,g4]@2 ~ [e2,b2,g3,d4,g4] ~ [e2,b2,g3,d4,g4]@2 [e2,b2], e2 ~@3 [e2,b2] ~@11", // G G5 Em7 E5
  BL: "b2 ~ b2 ~ [e3,g3,d4,g4]@2 c3 e3 [c3,e3,g3,d4,g4]@2 ~ [c3,e3,g3,d4,g4] ~ [c3,e3,g3,d4,g4]@2 [c3,e3], [e2,g3,d4,g4]@4 [c3,d3] ~@11", // Em7 C Em7 Csus2
  BM: "[g3,d4,g4]@2 c3 e3 [d3,a3,d4,g4]@2 a2 d3 [a2,d3,a3,d4,g4]@2 ~ [a2,d3,a3,d4,g4] ~ [a2,d3,a3,d4,g4]@2 [a2,d3], [c3,e3] ~@3 a2 ~@11", // G5 Dsus4 D5 C
  BN: "[[a2,a3,d4,g4]@3 b2 [g2,b2,d3]@2 ~ d3@29 ~@12, d3 ~@3 [g3,d4,g4]@31 ~@13, ~@6 g2@29 ~@13]/3", // Dsus4 G G5
})).s("gm_acoustic_guitar_steel").gain(0.64).pan(0.3)

// chords · acoustic guitar steel · "Rhythm" · soft notes
const acoustic_guitar_steel_2 = note(`<
  A B C D A B C D A B C D A B C D ~ E F G H ~ I J A B C D 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 AD AA AB AC AE AF AG AH AI ~ O K AJ AK AL AM ~ AN AO AP AQ AR AS AT AU AV AW AX AY ~ AY ~ H ~ I J K L M N O P Q AZ
  AK AL AM BA@2 BB BC BD BE BF@3
>`.pickRestart({
  A: "~@2 g2 ~@3 [g2,d3] ~@9", B: "[d#3,f#3] ~ d#3 [d#3,f#3] ~@2 d#3 ~@2 f#3@2 [d#3,f#3] ~@2 d#3 ~",
  C: "~@14 [a2,c3] ~", D: "~@3 f#3 ~@2 a2@2 ~@7 a3, ~ f#3 ~@5 f#3", E: "~@2 f#3 ~@3 d3 ~@4 f#3 ~@2 a2 ~",
  F: "~@7 [b2,d4] ~@6 g2!2", G: "~@6 [b2,e3] ~@4 [e2,b2] ~@4", H: "~@3 d4 g3@2 a2 ~@9", I: "~@2 g2 ~@13",
  J: "~@6 g2 ~@8 e3", K: "~@14 g2 ~", L: "~@9 b2@2 ~@5", M: "~@6 [a2,d3] ~@7 a2 ~", N: "~@6 [c3,c4] ~@9",
  O: "~@10 g2 ~@5", P: "~@5 b2@2 ~@9", Q: "~@2 [a2,d3] ~@7 a2 ~@5", R: "~@2 [c3,c4] ~@8 d3 ~@2 d3 ~",
  S: "~@3 g2@2 ~ d3 b2 ~@2 a2@2 ~@4", T: "~@3 a2 ~@4", U: "~@6 e2 ~@4 d4 ~@4, ~@5 e2 ~@2", V: "~@14 [c3,e3] ~",
  W: "~@14 a2 ~", X: "~@11 b2 ~ b2 d3 ~", Y: "~@10 g2 d3 ~@2 g2 ~", Z: "~@6 b2 d3 ~@2 g2 ~@3 [g2,d3] ~",
  AA: "~@8 [d#3,f#3] ~ d#3 [d#3,f#3] ~@2 d#3 ~", AB: "~ f#3@2 [d#3,f#3] ~@2 d#3 ~@9",
  AC: "~@6 [a2,c3] ~@4 f#3 ~@2 a2@2, ~@5 f#3 ~@2", AD: "~@7 a3 ~@2 g2 ~@3 [g2,d3] ~, ~@3 f#3 ~@4",
  AE: "~@7 a3 ~@8, ~@3 f#3 ~@4", AF: "~@10 f#3 ~@3 d3 ~", AG: "~@3 f#3 ~@2 a2 ~@8 [b2,d4]",
  AH: "~@6 g2!2 ~@6 [b2,e3] ~", AI: "~@3 [e2,b2] ~@7 d4 g3@2 a2 ~", AJ: "~@7 e3 ~@8", AK: "~@6 g2 ~@9",
  AL: "~ b2@2 ~@11 [a2,d3] ~", AM: "~@6 a2 ~@7 [c3,c4] ~", AN: "~@2 g2 ~@10 b2@2 ~", AO: "~@10 [a2,d3] ~@5",
  AP: "~@2 a2 ~@7 [c3,c4] ~@5", AQ: "~@3 d3 ~@2 d3 ~@4 g2@2 ~ d3 b2", AR: "~ a2 ~@5 a2", AS: "~@14 e2 ~",
  AT: "~@3 d4 ~@12, ~ e2 ~@6", AU: "~@6 [c3,e3] ~@9", AV: "~@6 a2 ~@9", AW: "~@3 e3 ~@3 [b2,d4] ~@8", AX: "~@6 e3 ~@9",
  AY: "b2 ~ e3@2 ~@2 e3 ~@9", AZ: "~@2 [c3,c4] ~@13", BA: "[~@7 d3 ~@2 d3 ~@4 g2@2 ~ d3 b2 ~@2 a2@2 ~@8]/2",
  BB: "~ a2 ~@6", BC: "~@2 e2 ~@4 d4 ~@8, ~@3 e2 ~@4", BD: "~@10 [c3,e3] ~@5", BE: "~@10 a2 ~@5",
  BF: "[~@7 b2@29 ~@12]/3",
})).s("gm_acoustic_guitar_steel").gain(0.32).pan(0.3)

// bass · electric bass finger · "Bass"
const bass = note(`<
  ~@4 A B C D E F G@2 H I J@2 K L M N O@2 P Q R F G@2 H I J@2 K L M N O@2 P Q S T U V W X Y Z AA AB AC AD AE AF AG AH AI
  AJ AK AL AM AN AO AP AQ AR AS AT O AU AV AW AX AY AZ BA@2 BB BC BD BE BF BG BH BI BJ BK BL BM BN BO O@2 P Q S T U V W
  X Y BP AX AY AZ BQ BR BS BT BU BV BW@3
>`.pickRestart({
  A: "g1@5 ~@2 g1@2 g1 g1@4 g1@2", B: "b1@6 ~ b1 ~ b1 b1@5 ~", C: "c2@4 c2@2 ~ c2 ~ c2 c2@3 ~ c2 ~",
  D: "d2@6 ~ d2 ~ d2 d2@6", E: "g1@6 ~ g1 ~ g1 g1@6", F: "b1@5 ~@2 b1 ~ b1 b1@5 ~",
  G: "[c2@5 ~ c2 ~ c2@2 ~ c2 ~ c2 d2@5 ~ d2@2 ~ d2 ~ d2!2 ~ d2@4]/2", H: "g1@4 g1@2 ~ g1 ~@2 g1 ~ g1@4",
  I: "b1@6 ~ b1 ~ b1 b1@6", J: "[c2@6 ~@2 c2@3 ~ c2@2 d2@4 ~@2 d2@2 ~ d2 ~ d2@2 ~ d2@3 ~]/2",
  K: "c2@2 c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2", L: "d2 ~ d2 ~ d2@2 d2 ~ d2 ~ d2 ~ d2 ~ d2 ~",
  M: "g1 ~ g1 ~ g1 ~ g1 ~ f#1 ~ f#1 ~ f#1 ~ e1@2", N: "~@2 e1 ~ e1@2 e1 ~ e1 ~ e1 ~ e1@2 e1@2",
  O: "a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~ a1 ~", P: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~",
  Q: "c2 ~ c2 ~ c2@2 c2 ~ c2 ~ c2@2 c2 ~ c2 ~", R: "g1@4 ~ g1@2 g1 ~ g1 g1@6", S: "g1@4 g1@2 ~ g1 ~ g1 g1@4 g1@2",
  T: "d2@3 ~ d2@2 ~ d2 ~ d2@2 d2!2 ~ d2@2", U: "a1@3 ~ a1@2 ~ a1 ~ a1@2 a1 a1@2 a1@2",
  V: "c2 ~ c2!2 f1 ~ f1!2 f#1 ~ f#1!2 g1@4", W: "g1@2 ~ g1 ~ g1 g1@4 g1@2 d2@3 ~",
  X: "d2@2 ~ d2 ~ d2@2 d2!2 ~ d2@2 a1@3 ~", Y: "a1@2 ~ a1 ~ a1@2 a1 a1@2 a1@2 c2 ~ c2!2",
  Z: "f1 ~ f1!2 f#1 ~ f#1!2 g1@3 ~ g1@2 ~ g1", AA: "~ g1!2 ~ g1@4 d2@3 ~ d2@2 ~ d2",
  AB: "~ d2@2 ~ d2@3 ~ e2@2 e2 ~ e2@2 ~ e2", AC: "~ e2@2 ~ e2@3 ~@2 e2!2 ~ e2@2 ~ e2",
  AD: "~ e2@2 ~ e2@4 c2@3 ~ c2@2 ~ c2", AE: "~ c2@2 c2 ~ c2 c2@2 d2@3 ~ d2@2 ~ d2",
  AF: "~ d2 ~ d2!2 ~ d2@2 g1@2 g1 ~ g1@2 ~ g1", AG: "~ g1 g1@3 ~ g1 ~ g1@3 ~ g1@2 ~ g1",
  AH: "~ g1 g1@4 g1 ~ g1@4 g1@3 g1", AI: "~ g1 g1@6 b1@5 ~@2 b1", AJ: "~ b1 b1@5 ~ c2@5 ~ c2 ~",
  AK: "c2@2 ~ c2 ~ c2 d2@5 ~ d2@2 ~ d2", AL: "~ d2!2 ~ d2@4 g1@4 g1@2 ~ g1", AM: "~@2 g1 ~ g1@4 b1@6 ~ b1",
  AN: "~ b1 b1@6 c2@6 ~@2", AO: "c2@3 ~ c2@2 d2@4 ~@2 d2@2 ~ d2", AP: "~ d2@2 ~ d2@3 ~ c2@2 c2 ~ c2 ~ c2 ~",
  AQ: "c2 ~ c2 ~ c2 ~ c2@2 d2 ~ d2 ~ d2@2 d2 ~", AR: "d2 ~ d2 ~ d2 ~ d2 ~ g1 ~ g1 ~ g1 ~ g1 ~",
  AS: "f#1 ~ f#1 ~ f#1 ~ e1@3 ~ e1 ~ e1@2 e1 ~", AT: "e1 ~ e1 ~ e1@2 e1@2 a1 ~ a1 ~ a1 ~ a1 ~",
  AU: "a1 ~ a1 ~ a1 ~ a1 ~ c2 ~ c2 ~ c2 ~ c2 ~", AV: "c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2 ~ c2@2 c2 ~",
  AW: "c2 ~ c2@2 c2 ~ c2 ~ g1@4 g1@2 ~ g1", AX: "~ g1 g1@4 g1@2 d2@3 ~ d2@2 ~ d2",
  AY: "~ d2@2 d2!2 ~ d2@2 a1@3 ~ a1@2 ~ a1", AZ: "~ a1@2 a1 a1@2 a1@2 c2 ~ c2!2 f1 ~ f1!2",
  BA: "[f#1 ~ f#1!2 g1@4 g1@2 ~ g1 ~ g1 g1@4 g1@2 d2@3 ~ d2@2 ~ d2 ~ d2@2 d2]/2",
  BB: "d2 ~ d2@2 a1@3 ~ a1@2 ~ a1 ~ a1@2 a1", BC: "a1@2 a1@2 c2 ~ c2!2 f1 ~ f1!2 f#1 ~ f#1!2",
  BD: "g1@3 ~ g1@2 ~ g1 ~ g1!2 ~ g1@4", BE: "d2@3 ~ d2@2 ~ d2 ~ d2@2 ~ d2@3 ~",
  BF: "e2@2 e2 ~ e2@2 ~ e2 ~ e2@2 ~ e2@3 ~", BG: "~ e2!2 ~ e2@2 ~ e2 ~ e2@2 ~ e2@4",
  BH: "c2@3 ~ c2@2 ~ c2 ~ c2@2 c2 ~ c2 c2@2", BI: "d2@3 ~ d2@2 ~ d2 ~ d2 ~ d2!2 ~ d2@2", BJ: "e2@7 ~ d2 ~ d2@4 d2 c2",
  BK: "~ c2!2 ~ c2@2 ~ c2 ~ c2@2 c2!2 ~ c2@2", BL: "e2@3 ~ e2@3 ~ d2 ~ d2@2 d2 ~ c2@2",
  BM: "~ c2!2 ~ c2@2 c2!2 ~ c2!2 ~ c2 ~ c2@2", BN: "e2@3 ~ e2 ~ e2 ~ d2 ~ d2@2 d2 ~ c2@2",
  BO: "~ c2!2 ~ c2@2 ~ c2 ~ c2 ~ c2 c2@2 c2 ~", BP: "f1 ~ f1!2 f#1 ~ f#1!2 g1@4 g1@2 ~ g1",
  BQ: "f#1 ~ f#1!2 g1@3 ~ g1@2 ~ g1 ~ g1!2 ~", BR: "g1@4 d2@3 ~ d2@2 ~ d2 ~ d2@2 ~",
  BS: "d2@3 ~ e2@2 e2 ~ e2@2 ~ e2 ~ e2@2 ~", BT: "e2@3 ~@2 e2!2 ~ e2@2 ~ e2 ~ e2@2 ~",
  BU: "e2@4 c2@3 ~ c2@2 ~ c2 ~ c2@2 c2", BV: "~ c2 c2@2 d2@3 ~ d2@2 ~ d2 ~ d2 ~ d2", BW: "[d2 ~ d2@2 g1@32 ~@12]/3",
})).s("gm_electric_bass_finger").gain(0.68)

// other · cello
const cello = note(`<
  ~@8 A B C D A B C D E F G@2 H@2 I@2 ~@9 F G@2 H@2 I@2 A J K L@4 M@8 N@8 ~ O@2 P@8 Q R@4 A J S@2 T J U@4 V@2 H@2 I@2 A
  J K L@4 W@4 X@8 ~
>`.pickRestart({
  A: "g2", B: "b2", C: "c3 b2", D: "a2", E: "c2", F: "d2", G: "[g2@4 f#2@3 e2@9]/2", H: "a2/2", I: "c3/2", J: "d3",
  K: "a3", L: "[c3 f3 f#3 g2@4 d3@4 a3@4 c3]/4", M: "[f3 f#3 g2@4 d3@4 b2@8 c3@4 d3@4 g3@6]/8",
  N: "[~ g2@2 b2@2 c3@2 d3@2 g2@2 b2@2 c3@2 d3]/8", O: "[~ d2@2 g2]/2", P: "[f#2@3 e2@9 a2@16 c3@16 g2@8 d3@8 a3@4]/8",
  Q: "~@2 c3 f3", R: "[f#3 g2@4 d3@4 a3@4 c3 f3 f#3]/4", S: "b2/2", T: "c3", U: "[e3@4 f#3@3 g3@9]/2",
  V: "[e3@8 f#3@3 ~ f#3@2 g3@17 ~]/2", W: "[f3 f#3 g2@4 d3@4 a3@4 c3 f3]/4", X: "[f#3 g2@4 d3@4 b2@8 c3@4 d3@4 g3@7]/8",
})).s("gm_cello").gain(0.57).pan(0.8)

// other · violin
const violin = note(`<
  ~@15 A B C D E F@2 G@2 ~@7 A B C D E F@2 G@2 H I J K@4 L@2 M@7 ~@6 N O P Q R S F T G U@4 V@4 H I W@2 X Y Z@2 AA@4 F@2
  G@2 H I J K@4 AB@4 AC@2 AD@7
>`.pickRestart({
  A: "~@3 [d3,d4]@5 [a2,a3]@4 [b2,b3]@4", // D A B
  B: "[c3,c4]@2 [c5,e5] ~ [c5,e5] ~ [c5,e5] ~ e5@2 [c5,e5] ~ e5@2 [c5,e5] ~, [c5,e5] ~@7 c5 ~ d5@2 c5 ~ d5@2", // C
  C: "d5@2 d5@2 d5@2 d5@2 d5@2 [a4,d5] ~ [a4,d5] e5 [a4,d5,g5] e5, a4 ~ a4 ~ a4 ~ a4 ~ a4 ~@7", // D5 Dsus4
  D: "g5@2 g5@2 g5@2 [g4,g5] ~ [f#4,d5] ~ [f#4,d5] ~ [f#4,d5] ~ [e4,e5] ~, g4 ~ g4 ~ g4 ~@11", // G D E
  E: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~", // E
  F: "[a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~", // A
  G: "[d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~", H: "[g4,g5]", I: "[a4,f#5]",
  J: "[b4,g5]", // Em
  K: "[[c5,e5]@2 [c5,e5]!2 [c5,f5]@2 [c5,f5]!2 [d5,f#5]@2 [d5,f#5]!2 [g4,g5]@16 [a4,f#5]@16 [b4,g5]@16 [c5,e5]@2 [c5,e5]!2]/4", // C F5 D G D Em C
  L: "[[c5,f5]@2 [c5,f5]!2 [d5,f#5]@2 [d5,f#5]!2 [g4,g5]@16 [a4,f#5]@8]/2", // F5 D G D
  M: "[~ [b4,g5]@4 [c5,g5]@2 [d5,f#5]@2 [b4,g5]@4 ~]/7", N: "~@11 [d3,d4]@5",
  O: "[a2,a3]@4 [b2,b3]@4 [c3,c4]@2 [c5,e5] ~ [c5,e5] ~ [c5,e5] ~, ~@8 [c5,e5] ~@7", // A B C
  P: "e5@2 [c5,e5] ~ e5@2 [c5,e5] ~ d5@2 d5@2 d5@2 d5@2, c5 ~ d5@2 c5 ~ d5@2 a4 ~ a4 ~ a4 ~ a4 ~", // C
  Q: "d5@2 [a4,d5] ~ [a4,d5] e5 [a4,d5,g5] e5 g5@2 g5@2 g5@2 [g4,g5] ~, a4 ~@7 g4 ~ g4 ~ g4 ~@3", // D5 Dsus4 G
  R: "[f#4,d5] ~ [f#4,d5] ~ [f#4,d5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~", // D E
  S: "[e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [e4,e5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~", // E A
  T: "[a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [a4,a5] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~", // A D
  U: "[[d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [d5,d6] ~ [g4,g5]@16 [a4,f#5]@16 [b4,g5]@16 [c5,e5]@2 [c5,e5]!2 [c5,f5]@2 [c5,f5]!2]/4", // D G D Em C F5
  V: "[[d5,f#5]@2 [d5,f#5]!2 [g4,g5]@16 [a4,f#5]@16 [b4,g5]@16 [c5,e5]@2 [c5,e5]!2 [c5,f5]@2 [c5,f5]!2 [d5,f#5]@2 [d5,f#5]!2]/4", // D G D Em C F5 D
  W: "[b4,g5]/2", X: "[c5,g5]", Y: "[d5,f#5]", Z: "[[e4,e5]@8 d5@2 d5@4 e5@3 e5@15, ~@8 d4@5 ~ e4@17 ~]/2",
  AA: "[[e4,e5]@8 d5@2 [d4,d5]@4 e5@4 g5@14 e5@8 [d4,d5] ~ [d4,d5]@4 e5@4 g5@14, ~@8 d4 ~@5 e4@26 ~@6 e4@16 ~@2]/4", // E D
  AB: "[[c5,f5]@2 [c5,f5]!2 [d5,f#5]@2 [d5,f#5]!2 [g4,g5]@16 [a4,f#5]@16 [b4,g5]@16 [c5,e5]@2 [c5,e5]!2 [c5,f5]@2 [c5,f5]!2]/4", // F5 D G D Em C F5
  AC: "[[d5,f#5]@2 [d5,f#5]!2 [g4,g5]@16 [a4,f#5]@12]/2", AD: "[~ [b4,g5]@8 [c5,g5]@4 [d5,f#5]@4 [b4,g5]@8 ~@3]/7",
})).s("gm_violin").gain(0.8).pan(0.3)

// chords · viola
const viola = note(`<
  ~@15 A B C D E F@2 E@2 G H I J G H I K B C D E F@2 E@2 L@3 M N@3 O@5 P@8 Q@4 R S T U F V E W@4 X@4 G Y Z@2 AA AB AC@2
  AD@2 AE@2 F@2 E@2 ~ AF G M N@3 AG AH@3 AI@5 AJ@4
>`.pickRestart({
// … 166 more lines

More by Oasis