Strudelify
My Way (live) cover art

My Way

My Way (live)

Sinatra

KeyD majorTempo77 bpm
0:00/0:00
// My Way (live) — Sinatra
// 77 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: Full arrangement: all 85 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(77/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, A@4 for four bars: edit a riff to change every repeat.

// chords · brass section · "BRASS 1"
const brass_section = note("<~@33 A ~@3 B C D E F G H I J ~@15 K L M N O P Q R S T U@2 V@5 ~@7>".pickRestart({
  A: "~@12 [d3,f#3,a3,d4] ~@3 [d3,g3,a3,d4]@16", B: "~@2 g3 f#3, ~ [b3,d4,g4,b4]", C: "[e3,b3,d4,g4,b4]",
  D: "a3@15 ~ a3@16, [e3,e4,g4,a4,c#5]", E: "[f#3,e4,a4,c#5], a3@29 ~@3", F: "[a3,b3,d4,f#4,b4,d5]@31 ~",
  G: "g3@23 ~ g3@3 ~ g3@4, [b3,d4,g4,b4,d5]@31 ~", H: "[g3,a3,c#4,e4,g4,a4,c#5]", I: "[g3,b3,e4,g4,b4,e5]",
  J: "[f#3,a3,d4,f#4,a4,d5]@25 ~@7", K: "~@12 [a3,c#4,d4]!2 ~ [a3,c#4,d4] [a3,c#4,d4]@5 ~@3 [a3,c#4,d4]@5 ~@3",
  L: "[d3,f#3,a3,d4,f#4,a4]@9 ~@3 [d3,f#3,a3,d4,f#4,a4] ~@3 [d3,f#3,a3,c#4,f#4,a4]@13 ~@3", // D Dmaj7
  M: "[d3,g3,a3,c4,e4,g4,a4]@9 ~@3 [d3,g3,a3,c4,e4,g4,a4] ~@3 [d3,f#3,a3,c4,d#4,f#4,a4]@13 ~@3", // Am7 D7
  N: "[d3,a3,b3,d4,f#4,a4]@9 ~@3 [d3,a3,b3,d4,f#4,a4] ~@3 [d3,g3,b3,e4,g4,b4]@7 ~ [d3,g3,b3,e4,g4,b4]@6 ~@2", // Bm7 Em7
  O: "[d3,a3,b3,d4,f#4,a4]@9 ~@3 [d3,a3,b3,d4,f#4,a4]!2 [d4,f#4,a4] [d3,a3,b3] [d3,g3,b3,e4,g4,b4]@7 ~ [f#3,a3,c#4,f#4,a4,c#5]@2 ~@2 [e3,g3,b3,g4,b4,d5]@2 ~@2", // Bm7 D Bm7 Em7 F#m Em7
  P: "[e3,b3,e4,g4,b4,d5]@9 ~@3 [e3,b3,e4,g4,b4,d5] ~ [e3,b3,e4,g4,b4,d5] ~ [g3,b3,e4,g4,b4,d5]@6 ~@2 [e3,b3,e4,g4,b4,d5]@6 ~@2", // Em7
  Q: "[c#3,a3,c#4,e4,g4,a4,c#5]@9 ~@3 [c#3,a3,c#4,e4,g4,a4,c#5]!2 ~ [c#3,a3,c#4,e4,g4,a4,c#5] [c#3,a3,c#4,e4,g4,a4,c#5]@6 ~@2 [c#3,a3,c#4,e4,g4,a4,c#5]@7 ~", // A7
  R: "[e3,a3,e4,f#4,a4,c#5,e5]@10 ~@2 [e3,a3,e4,f#4,a4,c#5,e5]!2 ~ [e3,a3,e4,f#4,a4,c#5,e5] [e3,a3,e4,f#4,a4,c#5,e5]@6 ~@2 [e3,a3,e4,f#4,a4,c#5,e5]@7 ~", // F#m7
  S: "[a3,d4,f#4,a4,b4,d5]@9 ~@3 [a3,c#4,e4,a4,c#5,e5]@2 ~@2 [a3,d4,f#4,a4,b4,d5,f#5]@13 ~@3", // Bm7 A Bm7
  T: "[g3,d4,e4,g4,b4,d5,g5]@22 ~@3 [g3,b3,d4,e4,g4,b4,d5,e5]@6 ~", // Em7
  U: "[~@2 [a4,c#5,a5]@19 a2@17 ~@10 [b3,d4,g4]@5 ~@3 [d4,g4,b4]@5 ~@3, ~@2 e3@12 ~@27 d3@22 ~, ~@2 [g3,c#4,e4]@9 ~@53]/2", // A G C#dim
  V: "[[g4,b4,e5]@5 ~@18 [f#4,f#5]@4 ~@2 [g4,g5]@4 ~ [a4,a5]@3 ~ [a3,d4,a4]@14 ~@3 [b4,b5] [g#4,g#5]@3 [a4,a5]@3 ~ [b4,b5]@3 [g3,c4,a4,a5]@13 ~ [f#3,c4,a5]@5 [f#3,c4,a4,a5]@4 ~ [f#3,c4,b4,b5]@3 ~ [a4,a5]@11 [g4,g5]@3 ~ [g4,g5]@7 [e3,b3]@7 [e3,a#3]@28 ~@9, d3@7 [f#4,a4,d5]@12 ~@19 a5@18 ~@23 a4@4 ~@77, ~@15 a3@20 ~@17 [g#3,c#4]@14 ~@28 [e3,b3]@22 ~@44]/5", // Em F# G A D5 B G# A …
})).s("gm_brass_section").gain(0.48)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  A@2 B C D E F B G H B I J K L M N O B C D E F B G H B I P Q L M N O R S T U K V W X K Y Z AA B C D E F B G H B I P Q L
  AB N AC AD Z AE AF AG AH AI AJ AK@4 AL AM@3 ~@7
>`.pickRestart({
  A: "d2@10 ~@2 d2@3 ~ d2@14 ~@2", B: "d2@10 ~@2 d2@3 ~ d2@12 ~@4", C: "c#2@10 ~@2 c#2@3 ~ c#2@13 ~@3",
  D: "c2@10 ~@2 c2@3 ~ c2@13 ~@3", E: "b1@10 ~@2 b1@3 ~ b1@3 ~ b1@3 ~ c#2@3 ~ d#2@3 ~", F: "e2@10 ~@2 e2@3 ~ e2@13 ~@3",
  G: "c#2@10 ~@2 c#2@3 ~ c#2@7 ~ a1@7 ~", H: "d2@9 ~@3 d2@3 ~ d2@6 ~ a1 a1@3 ~ a1@3 ~",
  I: "d2@10 ~@2 d2@3 ~ d2@10 ~@2 d2@3 ~", J: "g2@10 ~@2 d2@3 ~ d2@13 ~@3",
  K: "e2@10 ~@2 e2@3 ~ e2@3 ~ e2@3 ~ f#2@3 ~ g2@3 ~", L: "a2@10 ~@2 a1@3 ~ a1@10 ~@2 a2@3 ~",
  M: "a2@10 ~@2 a1@3 ~ a1@7 ~ a1@7 ~", N: "d2@10 ~@2 d2@3 ~ d2@13 ~@3",
  O: "d2@9 ~@3 a2@3 ~ a2@3 ~ a2@3 ~ a1@3 ~ a1@3 ~", P: "g2@10 ~@2 g2@3 ~ g2@13 ~@3",
  Q: "e2@10 ~@2 e2@3 ~ e2@7 ~ a#1@7 ~", R: "d2@10 ~@2 a2@3 ~ a2@4 d2@6 ~@2 d2@3 ~",
  S: "d2@10 ~@2 a2@3 ~ a2@4 d2@3 ~ d2@3 ~ d2@3 ~", T: "g2@10 ~@2 d2@3 ~ d2@4 d2@6 ~@2 g2@3 ~",
  U: "g2@10 ~@2 g2@3 ~ g2@3 ~ g2@3 ~ f#2@3 ~ f#2@3 ~", V: "a2@10 ~@2 a2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~ g2@3 ~",
  W: "f#2@10 ~@2 f#2@3 ~ f#2@4 f#2@6 ~@2 f#2@3 ~", X: "b1@10 ~@2 b1@3 ~ b1@3 ~ b1@3 ~ b1@3 ~ b1@3 ~",
  Y: "a2@4 a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~ a1@3 ~", Z: "d2@10 ~@2 d2@3 ~ d2@4 d2@6 ~@2 d2@3 ~",
  AA: "d2@10 ~@2 a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", AB: "a2@10 ~@2 a1@3 ~ a1@6 ~ a1 a1@3 ~ a1@3 ~",
  AC: "d2@9 ~@3 a2@3 ~ a2@6 ~@2 a2@7 ~", AD: "d2@10 ~@2 d2@3 ~ d2@3 ~ d2@3 ~ a2@3 ~ a2@3 ~",
  AE: "g2@10 ~@2 g2@3 ~ g2@7 ~ d2@3 ~ d2@3 ~", AF: "g2@10 ~@2 g2@3 ~ g2@3 ~ g2@3 ~ f#2@3 ~ e2@3 ~",
  AG: "e2@10 ~@2 e2@3 ~ e2@3 ~ f#2@3 ~ g2@3 ~ e2@3 ~", AH: "a2@7 ~ a2@3 ~ a2@3 ~ g2@7 ~ g2@6 ~@2",
  AI: "f#2@10 ~@2 f#2@3 ~ f#2@3 ~ g2@3 ~ a2@3 ~ f#2@3 ~", AJ: "b1@10 ~@2 b1@3 ~ b1@3 ~ b1@3 ~ a1@3 ~ a1@3 ~",
  AK: "[e2@10 ~@3 e2@3 ~ e2@3 ~ e2@3 ~ g2@3 ~@2 g2@4 a2@18 ~ a1@18 ~@2 d2@37 ~ a1@7 ~ a1@5 ~ a1@3]/4",
  AL: "~@2 a1@3 ~ d2@26", AM: "[~@2 d2@27 ~ g2@20 ~@2 g2@6 ~@2 g2@29 ~@7]/3",
})).s("gm_electric_bass_finger").gain(0.48)

// other · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~@18 A@2 B C D@2 E F G H@2 I ~@4 J K L M N O P Q R S T U ~@15 V W X Y Z AA AB AC AD AE AF@3 AG@4 AH ~@6
>`.pickRestart({
  A: "~@12 a3@5 ~@15", B: "~@12 a3@5 ~@7 f#4@8", C: "~@13 g#4@2 ~ a4@8 ~@8, ~@6 a4 ~@9", D: "~@12 b3@5 ~@15",
  E: "~@8 g4@4 a3@5 ~@15", F: "e5@8 d5@2 c#5@2 d5@2 a4@2 f#4@13 ~@3", G: "~@8 e4@4 ~@3 a4@8 ~@9, ~@12 f#4@5 ~@15",
  H: "[~@31 b4@9 ~@24, ~@28 c5@5 ~@31]/2", I: "f#5@8 e5@4 g4@5 ~@6 e4@8 ~", J: "a4@12 [d4,d5]@4 d4@8 a4@7 ~",
  K: "a4@3 [c4,c5] c4@2 [a4,a5] [b4,b5]", L: "a4@12 [g4,g5]@4 g4@8 f#4@7 ~",
  M: "f#4@6 [e4,e5]@2 [e4,e5]@2 [b3,b4]@2 [f#4,f#5] [g4,g5] [a4,a5] [b4,b5]", // E B F# G A B
  N: "[d4,d5]@11 ~ [g3,g5]@4 [g3,g4,g5]@8 [d4,d5,d6]@8, ~@11 g4@4 ~@17", // D G D
  O: "[c#4,c#5,c#6]@5 [b3,b4,b5] [c#4,c#5,c#6] [d4,d5,d6] [e4,e5,e6]@4 [a3,a4,a5]@4", // C# B C# D E A
  P: "[e4,e5,e6]@2 [a3,a4,a5] [a4,a5,a6] [a4,a5,a6]@2 [e4,e5,e6]@2", // E A E
  Q: "[f#4,f#5,f#6]@2 [b3,b4,b5]@2 [c#4,c#5,c#6] ~ [e4,e6] [f#4,f#5,f#6] [b4,b5,b6]@4 [a4,a5,a6]@4, ~@5 [d4,d5,d6] ~@10, ~@11 e5@2 ~@19", // F# B C# E F# B A D
  R: "[b4,b5,b6]@3 [e4,e5,e6] [e4,e5,e6]@2 [f#4,f#5,f#6] [g4,g5,g6]", S: "[g4,g5,g6]@8 [a3,a4,a5]@16 [g4,g5,g6]@7 ~",
  T: "[g4,g5,g6]@6 [b3,b4,b5]@2 [b3,b4,b5]@2 [e4,e5,e6] [f#4,f#5,f#6] [g4,g5,g6] [e4,e5,e6] [b3,b4,b5] [c#4,c#5,c#6]", // G B E F# G E B C#
  U: "[d4,d5,d6]@3 ~", // D
  V: "~@8 [g3,g4] [a3,a4] [b3,b4] [c#4,c#5] ~ e4 [f#4,f#5] [g4,g5], ~@12 [d4,d5] ~@3, ~@25 e5@2 ~@5", // G A B C# F# G D
  W: "[a4,a5]@15 ~ c#4@8 [a4,a5]@8, ~@15 c#5@8 ~@9", X: "~@4 c5@2 [a4,a5] [d5,d6], ~@15 c4@8 ~@9",
  Y: "~@16 [g4,g5]@8 [d5,d6]@7 ~", Z: "[d5,d6]@4 [g4,g5] [e4,e5,e6] [f#4,f#5,f#6] [g4,g5,g6]",
  AA: "[g4,g5,g6]@12 [f#4,f#5,f#6]@4 [e4,e5,e6]@8 [e4,e5,e6]@3 ~ [d4,d6]@4, ~@27 d5@4 ~", // G F# E D
  AB: "[e4,e5,e6]@16 [a3,a4,a5]@8 [a4,a5,a6]@7 ~", AC: "[a4,a5,a6]@3 [g4,g5,g6] [f#4,f#5,f#6]@3 [e4,e5,e6]",
  AD: "[f#4,f#5,f#6]@15 ~ [b4,b5]@8 [b4,b5,b6]@8, ~@15 b3@8 ~@9", // F# B
  AE: "[b4,b5,b6]@12 [c#5,c#6,c#7]@4 [d5,d6,d7]@8 ~ [b4,b5,b6]@7", // B C# D B
  AF: "[~@2 [c#5,c#6,c#7]@38 [b4,b5,b6]@31 [a4,a5,a6]@15 [f#5,f#6]@5 ~ [g5,g6]@4]/3", // C# B A F# G
  AG: "[~@2 [a5,a6]@4 [f#4,d5,d6,f#6]@14 [f4,c#5,c#6,f6]@14 [e4,g4,g5,e6]@14 [d#4,f#4,f#5,d#6]@14 [f#5,a5]@11 [e5,g5]@3 [e5,g5]@8 [d#5,f#5,d#6]@7 [f#5,a5,f#6]@8 [e5,g5,e6]@10 ~@19, ~@3 [a5,a6]@28 [d5,d6]@11 ~@22, ~@34 [c5,c6]@28 [g4,b4]@29 [a#4,d5]@18 ~@19]/4", // A D C# Em D#m F#m Em D#m …
  AH: "~@6 f#4@3 ~ f#4@8 ~@14",
})).s("gm_string_ensemble_1").gain(0.17)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note("<~@18 A@2 B@2 C D@2 ~ E@2 F G@6 H@4 ~@7 I@4 J@3 K@3 L@6 M@3 ~@12 N@7 ~>".pickRestart({
  A: "~@8 f#4@4 ~@3 a4@16 ~", B: "[~@7 f#4@5 ~@3 a4@9 ~@7 b4@12 ~@12 b3@9, ~@4 e4@5 ~@55]/2", C: "~@8 g4@4 ~@3 b4@16 ~",
  D: "[~@8 g4@4 ~@3 b4@16 g4@5 f#4@5 ~@6 a4@9 e5@8]/2", E: "[~@4 d4@4 ~@15 f#5@8 e5@9 a5@19 ~@5]/2",
  F: "~@7 g5@16 f#5@9",
  G: "[~@15 d5@9 ~@7 e4@17 d4@31 c#4@16 g4@32 f#4@16 ~ a4@8 [e4,a4]@7 a5@12 ~@4 d5@8 a5@7 ~@2, ~@143 e4@8 ~@41]/6", // A5
  H: "[a5@12 ~@3 c5@8 ~@8 a5@12 ~@5 g5@8 f#5@7 f#5@12 ~@20 d6@12 ~@21]/4", I: "[~@64 c4@32 ~@7 d#4@25, a4]/4",
  J: "[e4@8 ~@11 [a4,e5] [a4,e5]@4, g4, ~@63 [c#4,e4]@32 ~]/3", // A5 C#m
  K: "[[e4,g4,e5]@8 d5@8 a4@15 ~ d4@16 c#4@15 ~ e4@15 d#4@16 d4, ~@8 [d4,f#4]@23 f#4@32 c4@33]/3", // Em D
  L: "[~@8 d#4@7 e4@8 [d#4,f#4]@8 ~@8 g4@8 f#4@8 e4@8 ~ e4@15 d4@16 ~@17 c#4@15 [g3,b3,e4]@32 [f#3,a3,d4]@10 ~@23, b3@31 a#3@32 f#3@32 [e3,g3]@33 ~@64, ~@31 d4@24 ~@40 d4@16 ~@81, ~@31 a4@9 ~@152, ~ g3 a3 a3 ~@2]/6", // D#m Em D Em
  M: "[~@31 a5@17 ~@14 [d5,d6]@18 ~@16, ~@5 a4@3 ~@8]/3", // D
  N: "[~@18 e4@7 ~ g4@13 ~@10 a3@8 ~@16 e4@9 ~@13 [a3,c#4,e4]@32 [g3,b3,e4]@34 ~ a3@38 ~@24, ~@25 [a3,d4]@24 ~@8 d4@23 ~@144, ~@57 f#4@16 ~@151, ~@58 a3@23 ~@80 [f#3,d4]@39 ~@24]/7", // A Em D5 D
})).s("gm_string_ensemble_2").gain(0.25)

// chords · string ensemble 2 · "SLOWSTRING" · soft notes
const string_ensemble_2_soft = note("<~@46 A@4 B@2 ~@2 C@2 D ~@22 E@2 ~@2 F@2>".pickRestart({
  A: "[d4 c#4 ~ b3, f#4, ~@8 e4@5 ~@3]/4", B: "[~ d4, b4]/2", C: "a3/2", D: "g3@31 ~", E: "[~@31 g3@32 ~]/2",
  F: "[~@9 [f#3,d4]@41 ~@14]/2", // D
})).s("gm_string_ensemble_2").gain(0.15)

// other · orchestral harp · "HARP"
const orchestral_harp = note(`<
  A@3 B C D E F G A H I J K L M N O P ~@6 Q R ~@6 S T ~@2 U V ~@2 W X ~@10 Y Z ~@6 AA AB ~@2 U V ~@2 W X AC AD AE AF ~
  AG@2 ~@3 AH AI AJ ~
>`.pickRestart({
  A: "d4 ~@3 a4 ~@3 d5 ~@3 a4 ~@3 f#5 ~@3 a4 ~@3 d5 ~@3 a4 ~@3",
  B: "c#4 ~@3 a4 ~@3 e5 ~@3 a4 ~@3 f#5 ~@3 a4 ~@3 e5 ~@3 a4 ~@3",
  C: "c4 ~@3 a4 ~@3 e5 ~@3 a4 ~@3 f#5 ~@3 a4 ~@3 e5 ~@3 a4 ~@3",
  D: "b3 ~@3 a4 ~@3 d#5 ~@3 a4 ~@3 f#5 ~@3 a4 ~@3 d#5 ~@3 a4 ~@3",
  E: "e4 ~@3 b4 ~@3 e5 ~@3 b4 ~@3 g5 ~@3 b4 ~@3 e5 ~@3 b4 ~@3",
  F: "d4 ~@3 b4 ~@3 e5 ~@3 b4 ~@3 g5 ~@3 b4 ~@3 e5 ~@3 b4 ~@3",
  G: "c#4 ~@3 a4 ~@3 e5 ~@3 a4 ~@3 g5 ~@3 a4 ~@3 e5 ~@3 a4 ~@3",
  H: "f#4 ~@3 d5 ~@3 a5 ~@3 d5 ~@3 a5 ~@3 c#5 ~@3 f#5 ~@3 a4 ~@3",
  I: "f#4 ~@3 c5 ~@3 a5 ~@3 c5 ~@3 f#5 ~@3 a4 ~@3 c5 ~@3 f#4 ~@3",
  J: "g4 ~@3 d5 ~@3 g5 ~@3 b4 ~@3 g5 ~@3 b4 ~@3 f#5 ~@3 a4 ~@3",
  K: "e4 ~@3 a#4 ~@3 g5 ~@3 a#4 ~@3 f#5 ~@3 a#4 ~@3 e5 ~@3 g4 ~@3",
  L: "f#4 ~@3 a4 ~@3 e5 ~@3 a4 ~@3 d5 ~@3 a4 ~@3 a5 ~@3 a4 ~@3",
  M: "g5 ~@3 a4 ~@3 e5 ~@3 a4 ~@3 c#5 ~@3 [g4,g5] ~@3 c#5 ~@3 a4 ~@3", // G
  N: "d4 ~@3 b4 ~@3 e5 ~@3 b4 ~@3 g5 ~@3 b4 ~@3 [b4,g5,d6] ~@3 e5 ~@3", // G
  O: "d4 ~@3 a4 ~@3 f#5 ~@3 d5 ~@3 a5 ~@5 [g3,a3] b3 [c#4,d4] [e4,f#4] [g4,a4] [b4,c#5] [d5,e5] [f#5,g5] [a5,b5] [c#6,d6]", // Gsus2 Dmaj7 Esus2 Gsus2 Bsus2 Dsus2 Gmaj7 Asus2 …
  P: "[e6,f#6] ~@31", Q: "~@22 d3 a3 e4 f#4 ~ a4 d5 e5 ~ f#5, ~@11 f#3 ~@4", R: "f#4 ~@31",
  S: "~@22 [e3,f#3] [g3,a3] [b3,c#4,d4] [e4,f#4,g4] [c#4,d4,e4,a4,b4] [f#4,g4,a4,c#5] [b4,c#5] [d5,e5,f#5] [g5,a5] [b5,c#6,d6,e6,f#6]", // Esus2 Gsus2 Bm Em A F#m Bsus2 D …
  T: "[g6,a6,b6,c#7] d7 ~@30", U: "~@26 [a3,b3,c#4] [d4,e4] [f#4,g4,a4] [b4,c#5,d5] [e5,f#5,g5] [a5,b5,c#6]",
  V: "d6 ~@7", W: "~@26 [d3,e3,f#3] [g3,a3] [b3,c#4,d4] [e4,f#4,g4] [a4,b4,c#5] [d5,e5,f#5]", X: "g5 ~@7",
  Y: "~@22 d3 a3 e4 f#4 ~ a4 d5 e5 ~ [d5,f#5], ~@11 f#3 ~@4", Z: "[f#4,f#5,a5,d6] ~@31",
  AA: "~@16 [d3,e3] [f#3,g3] a3 [b3,c#4] d4 [e4,f#4] g4 [a4,b4] c#5 [d5,e5] f#5 g5 [a5,b5] c#6 [d6,e6] [f#6,g6]", // Dsus2 Gmaj7 Bsus2 Esus2 Asus2 Dsus2 Asus2 Dsus2 …
  AB: "a6 ~@7", AC: "~@25 [c#3,d3] [e3,f#3] [g3,a3] [b3,c#4] [b3,c#4,d4,e4] [d4,e4] [f#4,g4]",
  AD: "[f#4,g4,a4] a4 [b4,c#5] [d5,c#6,d6] [e6,f#6] [g6,a6,b6] [c#7,d7] e7 ~@9 a3 [b3,c#4] [d4,e4] f#4 [g4,a4] [b4,c#5] [d5,e5] [f#5,a5] [f#5,g5] [d5,e5] [b4,c#5] a4 [f#4,g4] [d4,e4] [b3,c#4]", // F#m Bsus2 Dmaj7 Esus2 G Dmaj7 Bsus2 Dsus2 …
  AE: "a3 [f#3,g3] e3 d3 c#3 b2 ~@2 a3 [b3,c#4] [d4,e4] [f#4,g4] a4 [b4,c#5] [d5,e5] [f#5,a5] [f#5,g5] [d5,e5] [b4,c#5] a4 [f#4,g4] [d4,e4] [b3,c#4] a3 [f#3,g3] ~@2 [c#3,d3,e3] [f#3,g3,a3] [b3,c#4,d4] [b3,c#4,d4,e4] [e4,f#4,g4]", // Gmaj7 Bsus2 Dsus2 Gmaj7 Bsus2 Dsus2 F#m Gmaj7 …
  AF: "[f#4,g4,a4] [a4,b4] [c#5,d5,b5] [c#6,d6,e6] [f#6,g6,a6] [b6,c#7,d7] ~@26", // F#m Asus2 G C#m F#m Bm
  AG: "[~@27 g2@2 ~@2 [a#3,d4]@2 g4 ~@8 g4@2 [e5,a#5] d6 ~@5 a#3@2 g3@2 e3@2 a#2 ~@6, ~@29 d3@2 ~@8 g2@2 a#3@2 ~@21, ~@30 e3@2 ~@8 d3@2 e4 ~@7 d4@2 ~@12]/2", // A# Edim
  AH: "b3 ~@3 e4 ~@3 g4 ~@3 b4 ~@3 e5 ~@4 g5 ~@4 b5 ~@5", AI: "~@12 d4 ~@4 a4 ~@4 f#5 ~@4 a5 ~@3 d6",
  AJ: "~@9 f#5@2 ~@2 f#6 ~@18, ~@6 d4@2 d5@2 ~ a5@2 ~@19, ~@7 a4@2 ~@3 d6@2 ~@18",
})).s("gm_orchestral_harp").gain(0.2).pan(0.3)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note(`<
  ~@18 A@4 B C@2 D E@3 F G@4 H@5 I J@2 K@4 A@4 B C@2 L E@3 M N@2 O@2 P@5 I J@2 Q R@8 S@6
>`.pickRestart({
  A: "[d3@31 c#3@32 c3@32 b2@31 ~@2]/4", B: "e3", C: "[d3@31 c#3@24 a2@9]/2", D: "d3@15 ~", E: "[d3@63 g2@32 ~]/3",
  F: "e3@23 ~ a#2@8", G: "[f#3@32 d3@16 c#3@15 ~@32 d4@16 ~ a2@7 ~ a2@8, a2@63 e4@32 ~@33, ~@4 d3@3 ~]/4",
  H: "[d3@63 g2@56 ~ f#2@7 e2@24 ~ f#2@4 g2@4]/5", I: "a2 g2", J: "[f#2@31 b2@24 a2@9]/2",
  K: "[e2@24 f#2@4 g2@3 a2@32 d3@57 ~@8]/4", L: "g3 f#3@3, d3@15 ~", M: "e3@2 d3 a#2", N: "a2/2",
  O: "[d3@40 ~@8 a2@7 ~ a2@8]/2", P: "[d3@63 g2@56 ~ f#2@7 e2@21 f#2@4 g2@4 e2@4]/5", Q: "e2@25 g2@7",
  R: "[~@2 a2@13 ~@5 [a1,a2]@19 ~ d3@34 ~@5 a2@23 [d2,d3]@55 [g1,g2]@22 ~ [g1,g2]@7 [g1,g2]@30 [d2,d3]@16 [c#2,c#3]@16 [b1,b2]@7, ~@39 d2@36 ~@3 e2@23 ~@155]/8", // A D G D C# B
  S: "[~@30 [a1,a2]@33 [d2,d3]@34 ~ d3@38 [d1,d2,a2]@41 ~@15, ~@97 d2@38 ~@57]/6", // A D D5
})).s("gm_string_ensemble_2").gain(0.32).pan(0.7)

// other · flute
const flute = note(`<
  ~@26 A B C D ~@4 E F G H I@2 J K L M L N O@2 P@2 Q R S@2 A B C T ~@4 U V W X Y Z AA AB AC AD@3 AE AF@3 ~@5 AG@2
>`.pickRestart({
  A: "f#4", B: "e4 d#4", C: "d4 d#4 e4 [d#4,f#4]", D: "a4 g4@2 ~, d4@31 ~", E: "d5 c#5", F: "c5", G: "b4 d5",
  H: "f#5@12 e5@3 ~ e5@8 f#5@8", I: "[g5@31 a5@31 ~@2]/2", J: "a5@3 e5", K: "d5@2 b5 a5", L: "b5", M: "c#5@29 ~@3",
  N: "a5@9 ~@7", O: "~@2 a4 f#5 f#5@2 a4@2", P: "[~@8 f#5@4 e5@4 a5@24 f#5@3 g5@2 a5@3 b4@15 ~]/2",
  Q: "~@2 b4 g5 g5@2 b4@2", R: "~@4 b4@2 g5 f#5 g5@4 b4@4", S: "[a4@12 g5@4 g5@23 ~ f#5@3 g5@2 a5@3 d5@13 ~@3]/2",
  T: "a4 g4 f#4 e4, d4@31 ~", U: "f#5", V: "e5 d#5", W: "d5 e5", X: "f#5@4 e5@2 f#5 g5", Y: "g5@3 f#5 e5@3 d5",
  Z: "e5@8 a4@4 a5@3 ~", AA: "a5@11 ~ g5@3 ~ f#5@11 ~ e5@3 ~", AB: "f#5@16 b4@8 b5@7 ~",
  AC: "b5@11 ~ c#6@3 ~ d6@7 ~@2 b5@7", AD: "[~@2 c#6@35 ~@4 b5@28 ~@2 a5@25]/3", AE: "~@3 [d5,f#5,f#6]@7 [c#5,f5,f6]@6",
  AF: "[~@2 [c5,e5,e6]@14 [c5,d#5,d#6]@14 [a5,d6]@11 g5@2 ~ g5@7 ~ [b4,d#5,f#5,d#6]@7 [d5,a5,f#6]@8 [e5,g5,e6]@24 ~@5, ~@30 [b4,d5]@22 ~@7 a#4@31 ~@6, ~@41 b5@11 ~@44]/3", // C Cm D5 B D Em Bm
  AG: "[~@5 d4@21 ~@6]/2",
})).s("gm_flute").gain(0.32).pan(0.4)

// other · flute · soft notes
const flute_soft = note("<~@30 A@2 B C ~@24 D@2 ~@25>".pickRestart({
  A: "[e4@8 d4@16 c#4@7 ~]/2", B: "e4", C: "d4@17 ~@15", D: "[e4 d4@2 c#4]/2",
})).s("gm_flute").gain(0.16).pan(0.4)

// other · french horn · "FR.HORN"
const french_horn = note(`<
  ~@30 A@2 B C ~@15 D ~ E ~ F G H I J A@2 K L G H M N O P Q R S T@2 U V W@3 ~@5 X@2
>`.pickRestart({
  A: "[e4@16 d4@32 c#4@15 ~]/2", B: "b3@31 ~", C: "a3 ~", D: "~@13 a4@3 ~@16", E: "~@2 g4 ~", F: "~@8 f#4@3 g4@3 ~@18",
  G: "f#4", H: "e4 d#4", I: "d4@8 d#4@7 e4@8 ~ f#4@8", J: "a4 g4 f#4 e4", K: "b3@16 g4@6 c#4 c4 b3@4 c#4@4",
  L: "d4@12 ~@4 e4@6 ~@2 e4@7 ~", M: "d4 e4", N: "f#4@4 e4@2 f#4 g4", O: "g4@11 ~ f#4@4 e4@12 d4@4",
  P: "e4@16 a3@8 a4@7 ~", Q: "a4@11 ~ g4@3 ~ f#4@12 e4@3 ~", R: "f#4@16 b3@7 ~ b4@7 ~",
  S: "b4@11 ~ c#5@3 ~@2 d5@6 ~@2 b4@6 ~", T: "[~@2 c#5@38 ~@8 g4@5 ~ d4 ~ b3@6 ~@2, ~@53 e4@2 c4@2 ~@7]/2",
  U: "e4@7 d4@13 ~@3 f#4@4 ~ g4@4", V: "~@2 a4@4 a4@17 ~ g#4@3 a4@3 b4@2",
  W: "[~@2 a4@13 a4@5 ~ a4@4 ~ b4@3 ~ a4@11 g4@3 ~ g4@7 f#4@7 a4@8 g4@22 ~@7]/3", X: "[~@9 f#3@41 ~@14]/2",
})).s("gm_french_horn").gain(0.32)

// other · french horn · "FR.HORN" · soft notes
const french_horn_soft = note("<~@46 A@2 B@2 C D E@2 ~@29 F@2>".pickRestart({
  A: "~@8 a3@4 f#4@3 ~ f#4@8 a3@8", B: "[~@8 f#4@4 e4@4 a4@24 f#4@3 g4@3 ~@2 b3@13 ~@3]/2",
  C: "~@8 b3@4 g4@3 ~ g4@8 b3@8", D: "~@4 b3@2 g4 f#4 ~@4 b3@4", E: "[a3@12 g4@3 ~ g4@24 ~@5 a4@3 d4@15 ~]/2",
  F: "[~@9 a2@40 ~@15]/2",
})).s("gm_french_horn").gain(0.16)

// chords · trombone
const trombone = note("<~@26 A B C D ~@24 E F G H I J@2 K ~@13 L@3 ~@7>".pickRestart({
  A: "f#4", B: "e4 d#4", C: "d4@8 d#4@7 e4@8 ~ d#4@8", D: "d4", E: "[d3,a3,d4]", F: "g3 f#3, [a3,c4]",
  G: "d3 d#3 e3 d#3, [g3,b3]", H: "[e3,g3,a#3,d4]@17 ~@7 [a#2,g3,a#3,d4]@6 ~@2", I: "[f#3,a3]@15 ~",
  J: "[[e3,g3]@30 ~ [e3,g3]@31 ~@2]/2", K: "[d3,f#3]@9 ~@23",
  L: "[~@30 [a4,a5]@11 [g4,g5]@3 ~ [g4,g5]@7 [f#4,f#5]@7 [a4,a5]@8 [g4,g5]@21 ~@8]/3", // A G F# A G
})).s("gm_trombone").gain(0.25)

// chords · trumpet · "TROMBONE"
// … 194 more lines

More by Sinatra