Strudelify
I'll Go Where Your Music Takes Me cover art

Where Your Music Takes Me (JJ In The Seventies)

I'll Go Where Your Music Takes Me

Jimmy James

KeyC majorTempo122 bpm
0:00/0:00
// I'll Go Where Your Music Takes Me — Jimmy James
// 122 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(122/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 · "FRETLESS"
const bass = note(`<
  A@8 B C@4 D@2 E F C@2 G@2 D@2 E H I J K L M J N O P Q R S C@4 D@2 E F C@4 D@2 E H I J K L M J N O P Q R S C@4 D@2 E T
  U@4 V@2 W X U@4 V@2 W X U@4 V@2 W X U@4 V@2 W X U@2 Y@2 ~@8
>`.pickRestart({
  A: "[~@8 c2@2 g1 ~ a1 ~ c2@4 g1@2 a1 ~ c2@4 g1@2 a1 ~ c2@4 g1@2 a1 ~ c2 ~ d2@2 a1@2 c2 ~ d2@4 a1@2 c2 ~ d2@4 a1@2 c2 ~ d2@4 a1@2 c2 ~ d2@2 c2@2 g1@2 a1 ~ c2@4 g1@2 a1 ~ c2@4 g1@2 a1 ~ c2@4 g1@2 a1 ~ c2 ~ d2@2 a1@2 c2 ~ d2@4 a1@2 c2 ~ d2@4 g1 ~ g1@2 ~@2]/8",
  B: "g1 ~ g1@2 ~@4 c2@2 g1@2 a1 ~ c2@2",
  C: "[~@2 c2@2 d#2@2 e2 ~ c2@2 g1@2 a1 ~ c2@4 g1@2 a1@2 c2 ~ c2@2 g1@2 a1 ~ c2@2]/2",
  D: "[~@2 c2@2 d#2@2 e2 ~ c2@2 g1@2 a1 ~ c2@4 c2@2 d#2@2 e2 ~ f2@2 c2 ~ d2 ~ f2@2]/2",
  E: "~@2 f2@2 e2@3 ~ d2@2 b1@2 a1 ~ g1@2", F: "~@2 g1@2 a1@2 c2@2 c2@2 g1@2 a1 ~ c2@2",
  G: "[~@2 c2@2 d#2@2 e2 ~ c2@2 g1@2 a1 ~ c2@4 c2@2 d#2@2 e2 ~ c2@2 g1@2 a1 ~ c2@2]/2",
  H: "~@2 g1@2 a1@2 c2@2 a1@3 ~@3 a1@2", I: "a1@2 a1@2 ~@2 a1 ~ a1 ~ a1@2 ~@2 a1 ~",
  J: "a1 ~ a1@4 g#1@2 g1 ~ g1@3 ~ g1 ~", K: "g1 ~ g1@3 ~ g1 ~ g1 ~ g1@3 ~ g1 ~", L: "g1 ~ g1@4 g#1@2 a1 ~ a1@3 ~ a1 ~",
  M: "a1 ~ a1@3 ~ a1 ~ a1 ~ a1@4 a1 ~", N: "g1 ~ g1@3 ~ g1 ~ g1 ~ g1@3 ~ g1@2",
  O: "g2@2 f2@2 e2@2 d#2 ~ d2 ~ d2@2 ~@2 d2 ~", P: "d2 ~ d2@3 ~ d2@2 g1 ~ g1@3 ~ g1@2",
  Q: "g2@2 f2 ~ e2 ~ d#2 ~ d2 ~ d2@3 ~ d2 ~", R: "d2 ~ d2@3 ~ g1@4 g2@2 g1@4",
  S: "g2@2 g1@2 g2@2 ~@2 c2@2 g1@2 a1 ~ c2@2", T: "~@2 g1@2 a1@2 c2@2 c#2@2 g#1@2 a#1 ~ c#2@2",
  U: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 g#1@2 a#1@2 c#2 ~ c#2@2 g#1@2 a#1 ~ c#2@2]/2",
  V: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 c#2@2 e2@2 f2 ~ f#2@2 c#2 ~ d#2 ~ f#2@2]/2",
  W: "~@2 f#2@2 f2@3 ~ d#2@2 c2@2 a#1 ~ g#1@2", X: "~@2 g#1@2 a#1@2 c#2@2 c#2@2 g#1@2 a#1 ~ c#2@2",
  Y: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 g#1@2 a#1@2 c#2 ~ c#2@2 g#1@2 a#1 ~@3]/2",
})).s("gm_fretless_bass").gain(0.4)

// bass · fretless bass · "FRETLESS" · soft notes
const bass_soft = note("<~@108 A B@2 C D E@2 F@2>".pickRestart({
  A: "~@7 c#2", B: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 c#2@2 e2@2 f2 ~ f#2@2 c#2 ~ d#2 ~ f#2@2]/2",
  C: "~@2 f#2@2 f2@3 ~ d#2@2 c2@2 a#1 ~ g#1@2", D: "~@2 g#1@2 a#1@2 c#2@2 c#2@2 g#1@2 a#1 ~ c#2@2",
  E: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 g#1@2 a#1@2 c#2 ~ c#2@2 g#1@2 a#1 ~ c#2@2]/2",
  F: "[~@2 c#2@2 e2@2 f2 ~ c#2@2 g#1@2 a#1 ~ c#2@4 g#1@2 a#1@2 c#2 ~@9]/2",
})).s("gm_fretless_bass").gain(0.16)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  A B C D E B C F G H I J K L M N O H I J K L M N P Q R S T Q R S U V W X Y Z AA AB AC L M N O Z AA AB AC L M N AD Q R S
  T Q R S U V W X Y Z AA AB AC L M N AE AF AG AH AI AJ AK AL AM AF AG AH AI AJ AK AL AM AF AG AH AI AJ AK AL AN AO AP AQ
  AR AS AT AL AU AV AW AX AY ~@8
>`.pickRestart({
  A: "~@8 [d4,e4,g4,a#4,b4]@2 ~ [e4,g4,b4] ~@3 e4", // Em7 Em
  B: "[e4,g4,b4] ~ [e4,g4,b4] ~@5 [e4,g4,b4]@3 [e4,g4,b4] ~@4, ~@8 [d4,a#4] ~@7", // Em Gm
  C: "[e4,g4,b4] ~ [e4,g4,b4] ~@5 [e4,f4,g#4,a4,d5]@2 ~ [f4,a4,d5] ~@4", // Em Dm
  D: "[f4,a4,d5] ~ [f4,a4,d5] ~@5 [e4,f4,g#4,a4,d5]@2 ~ [f4,d5] ~@4", // Dm
  E: "[f4,a4,d5] ~ [f4,a4,d5] ~@5 [d4,e4,g4,a#4,b4]@2 ~ [e4,g4,b4] ~@3 e4", // Dm Em7 Em
  F: "[f4,a4,d5] ~ [f4,a4,d5] ~@7 [c#4,d4,f4,d5]@2 [d4,f4,d5] ~@3", // Dm C# Dm
  G: "[d4,f4,d5] ~ [d4,f4,d5] ~@5 [g4,c5,e5]@2 ~ [g4,c5,e5] ~@2 [g4,c5,e5] ~", // Dm C
  H: "~ [e4,g4,c5]@3 [g4,c5] ~@3 [e4,g4,c5]@3 c5 ~@2 [e4,g4,c5] ~, ~@8 d#4 ~@7", // C C5 C
  I: "~ [e4,g4,c5]@3 c5 ~@3 [e4,g4,b4]@3 [e4,g4,b4] ~@2 [e4,g4,b4] ~, ~@8 a#4 ~@7", // C Em
  J: "~ [e4,g4,b4]@2 ~ [e4,g4,b4] ~@3 [d#4,e4,g4,a#4,b4]@2 ~ [g4,b4] ~@2 [e4,g4,b4] ~", // Em D# G Em
  K: "~ [e4,g4,b4]@2 ~ [e4,g4,b4] ~@3 [e4,g4,a#4,c5]@3 [e4,g4,a#4,c5] ~@2 [e4,g4,a#4,c5] ~", // Em C7
  L: "~@2 [e4,a#4,c5] ~@5 [e4,g4,a#4,c5]@3 [e4,a#4,c5] ~@2 [e4,g4,a#4,c5] ~, ~@8 d#4 ~@7", // C7
  M: "~@2 [g4,a#4,c5] ~@5 [f4,a4,c5,e5]@3 [f4,a4,c5,e5] ~@2 [f4,b4,d5] [f4,d5], ~@8 e4 ~@7", // C7 Fmaj7 Bdim Dm
  N: "[f4,b4,d5] ~ d5 ~ [f4,b4,d5] ~@3 [f4,a4,d5]@3 [f4,a4,d5] ~@2 [b4,f5] [b4,d5,f5]", // Bdim Dm Bdim
  O: "[g4,b4,f5] ~@3 [g4,b4,e5] ~@3 [g4,c5,e5]@2 ~ [g4,c5,e5] ~@2 [g4,c5,e5] ~", // G7 Em C
  P: "[g4,b4,f5] ~@3 [g4,b4,d5] ~@3 [a4,c5,e5]@2 ~ [a4,c5,e5] ~@2 [a4,c5]!2", // G7 G Am
  Q: "[a4,c5,e5] ~ c5 ~ [a4,c5,g5] ~@3 [g#4,a4,c5,e5]@2 ~ [a4,c5,e5] ~@2 [a4,c5,e5] [c5,e5]", // Am Am7 Am C
  R: "[a4,c5,e5] ~@3 [a4,c5,e5,g5] ~@3 [g4,b4,d5]@3 [g4,b4,d5] ~@2 [g4,b4,d5]!2", // Am Am7 G
  S: "[g4,b4,d5] ~@3 [g4,b4,e5] ~@3 [g4,b4,d5]@3 [g4,b4,d5] ~@2 [g4,b4,d5]!2, ~@8 f#4 ~@7", // G Em G
  T: "[g4,d5] ~@3 [g4,b4,e5] ~@3 [a4,c5,e5]@2 ~ [a4,c5,e5] ~@2 [a4,c5]!2", // G5 Em Am
  U: "[g4,d5] ~@3 [g4,b4,e5] ~@3 [f4,a4,d5]@4 [f4,a4,d5] ~@3, ~@8 e4 ~@7", // G5 Em Dm
  V: "[f4,a4,d5] ~@3 [f4,a4,d5] ~ [g4,b4,d5]@3 ~ [g4,b4,d5] ~ [g4,d5] ~@3", // Dm G G5
  W: "[g4,b4,d5] ~ [b4,d5] ~ [g4,b4,d5] ~@3 [f4,a4,d5]@4 [f4,a4,d5] ~@3, ~@8 e4 ~@7", // G Bm G Dm
  X: "[f4,a4,d5] ~@3 [f4,a4,d5] ~ [g4,b4,d5]@3 ~ [g4,b4,d5] ~ [g4,b4,d5] ~@3", // Dm G
  Y: "[g4,b4,d5] ~ b4 ~ [g4,d5] ~@3 [g4,c5,e5]@2 ~ [g4,c5,e5] ~@2 [g4,c5,e5] ~", // G G5 C
  Z: "~ [g4,c5,e5]@3 [c5,e5] ~@3 [g4,c5,e5]@3 e5 ~@2 [g4,c5,e5] ~, ~@8 f#4 ~@7", // C
  AA: "~ [g4,c5,e5]@3 e5 ~@3 [e4,g4,e5]@3 [g4,b4,e5] ~@2 [g4,b4,e5] ~, ~@8 b4 ~@7", // C Em
  AB: "~ [g4,b4,e5]@2 ~ [g4,b4,e5] ~@3 [d#4,e4,g4,e5]@2 ~ [b4,e5] ~@2 [g4,b4,e5] ~", // Em D# E5 Em
  AC: "~ [g4,b4,e5]@2 ~ [g4,b4,e5] ~@3 [e4,g4,a#4,c5]@3 [e4,g4,a#4,c5] ~@2 [e4,g4,a#4,c5] ~", // Em C7
  AD: "[g4,b4,f5] ~@3 [g4,b4,e5] ~@3 [a4,c5,e5]@2 ~ [a4,c5,e5] ~@2 [a4,c5]!2", // G7 Em Am
  AE: "[g4,b4,f5] ~@3 [g4,b4,e5] ~@3 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@2 [g#4,c#5,f5] ~", // G7 Em C#
  AF: "~ [g#4,c#5,f5]@3 [c#5,f5] ~@3 [c#5,f5]@3 f5 ~@2 [g#4,c#5,f5] ~, ~@8 g#4 ~@7", // C#
  AG: "~ [g#4,c#5,f5]@3 f5 ~@3 [f4,g#4,f5]@3 [g#4,c5,f5] ~@2 [g#4,c5,f5] ~, ~@8 c5 ~@7", // C# Fm
  AH: "~ [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [e4,f4,g#4,f5]@2 ~ [c5,f5] ~@2 [g#4,c5,f5] ~", // Fm E F5 Fm
  AI: "~ [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [f4,g#4,b4,c#5]@3 [f4,g#4,b4,c#5] ~@2 [f4,g#4,b4,c#5] ~", // Fm C#7
  AJ: "~@2 [f4,b4,c#5] ~@5 [g#4,b4,c#5]@3 [f4,b4,c#5] ~@2 [f4,g#4,b4,c#5] ~, ~@8 f4 ~@7", // C#7
  AK: "~@2 [g#4,b4,c#5] ~@5 [f#4,a#4,c#5,f5]@3 [f#4,a#4,c#5,f5] ~@2 [f#4,c5,d#5] [f#4,d#5], ~@8 f4 ~@7", // C#7 F#maj7 Cdim D#m
  AL: "[f#4,c5,d#5] ~ d#5 ~ [f#4,c5,d#5] ~@3 [a4,a#4,d#5,f#5]@2 a#4 [a#4,d#5,f#5]!4 ~", // Cdim D#m
  AM: "[c5,d#5,f#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@2 [g#4,c#5,f5] ~", // G#7 G# C#
  AN: "[c5,d#5,f#5,g#5] ~@3 [c5,d#5,g#5] ~@5 [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@2", // G#7 G# C#
  AO: "[g#4,c#5,f5] ~@2 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@2", // C#
  AP: "[g#4,c#5,f5] ~@2 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@3 [g#4,c5,f5]@3 [g#4,c5,f5] ~@2", // C# Fm
  AQ: "[g#4,c5,f5] ~@2 [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [g#4,c5,f5]@3 [g#4,c5,f5] ~@2", // Fm
  AR: "[g#4,c5,f5] ~@2 [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [g#4,b4,f5]@3 [g#4,b4,f5] ~@2, ~@10 a#4 ~@5", // Fm Fdim
  AS: "[g#4,b4,f5] ~@2 [g#4,b4,f5]@3 [g#4,b4,f5] ~@3 [g#4,b4,f5]@3 [g#4,b4,f5] ~@2", // Fdim
  AT: "[g#4,b4,f5] ~@2 [g#4,b4,f5]@2 ~ [g#4,b4,f5] ~ [f#4,a#4,c#5,f5]@3 [f#4,a#4,c#5,f5] ~@2 [f#4,c5,d#5] [f#4,d#5], ~@8 f4 ~@7", // Fdim F#maj7 Cdim D#m
  AU: "[c5,d#5,f#5,g#5] ~@3 [c5,d#5,g#5] ~@3 [g4,g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@2 [g#4,c#5,f5] ~", // G#7 G# C#
  AV: "~ [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@3 [c#5,f5]@3 [c#5,f5] ~@2 [g#4,c#5,f5] ~, ~ g4 ~@6 g#4 ~@7", // C#
  AW: "~ [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@3 [f4,g#4,f5]@3 [g#4,c5,f5] ~@2 [g#4,c5,f5] ~, ~ g4 ~@6 [e4,a4,c5] ~@7", // C# Fm Am
  AX: "~ [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [e4,f4,g#4,f5]@2 ~ [g#4,c5,f5] ~@2 [g#4,c5,f5] ~", // Fm E Fm
  AY: "~ [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [f4,g#4,b4,c#5]@3 [f4,g#4,b4,c#5] ~@4, ~@8 e4 ~@7", // Fm C#7
})).s("gm_electric_guitar_jazz").gain(0.16)

// chords · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note(`<
  A B C D A B C ~ E F G H I J K L E F G H I J K L M N O ~ P N O ~ Q R S ~ T U V W I J K L E U V W I J K L M N O ~ P N O
  ~ Q R S ~ T U V W I J K L X Y Z AA AB AC AD AE X Y Z AA AB AC AD AE X Y Z AA AB AC AD AE ~@6 AF AE ~@4 AG AH AI AJ AK
  AL AM AN AO
>`.pickRestart({
  A: "~@14 [e4,g4,b4] [g4,b4]", B: "~@14 [e4,g4,b4]!2", C: "~@14 [f4,a4,d5]!2", D: "~@11 a4 ~@2 [f4,a4,d5]!2",
  E: "~@4 f#4 ~@3", F: "~ d#4 ~@2 e4 ~@6 g4 ~@4", G: "~ d#4 ~@2 [e4,g4] ~@3 [d#4,g#4] ~@7", H: "~@11 e4 ~@4",
  I: "~@8 d#4 ~@7", J: "~@2 g4 ~@8 g4 ~@4", K: "~@2 e4 ~@12 b4", L: "~@2 [f4,b4] ~@5 e4 ~@7", M: "~@8 g#4@2 ~@5 e5",
  N: "~@2 [a4,e5] ~@12 a4", O: "~@8 f#4 ~@7", P: "b4 ~@7 g#4@2 ~@5 e5", Q: "b4 ~@15", R: "~@12 b4 ~@3",
  S: "~@2 g4 ~@13", T: "~@2 [g4,d5] ~ b4 ~@3 f#4@2 ~@6", U: "~ f#4 ~@2 g4 ~@6 c5 ~@4",
  V: "~ f#4 ~@2 [g4,c5] ~@3 [d#4,g#4] ~@7", W: "~@11 g4 ~@4", X: "~@4 g4 ~@3", Y: "~ g4 ~@2 g#4 ~@6 c#5 ~@4",
  Z: "~ g4 ~@2 [g#4,c#5] ~@3 [e4,a4] ~@7", AA: "~@11 g#4 ~@4", AB: "~@8 e4 ~@7", AC: "~@2 g#4 ~@8 g#4 ~@4",
  AD: "~@2 f4 ~@12 c5", AE: "~@2 [f#4,c5] ~@13", AF: "~@15 c5", AG: "~@14 [f4,g#4,b4,c#5] ~",
  AH: "~@2 [f4,g#4,b4,c#5] ~@5 [g#4,b4,c#5]@3 [f4,g#4,b4,c#5] ~@2 [f4,g#4,b4,c#5] ~, ~@8 f4 ~@7", // C#7
  AI: "~@2 [f4,g#4,b4,c#5] ~@5 [f#4,a#4,c#5,f5]@3 [f#4,a#4,c#5,f5] ~@2 [f#4,c5,d#5]!2, ~@8 f4 ~@7", // C#7 F#maj7 Cdim
  AJ: "[f#4,c5,d#5] ~ [f#4,c5,d#5] ~ [f#4,c5,d#5] ~@3 [a4,a#4,d#5,f#5]@2 a#4 [a#4,d#5,f#5]!4 ~", // Cdim D#m
  AK: "[c5,d#5,f#5,g#5] ~@3 [c5,d#5,g#5] ~@5 [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@2", // G#7 G# C#
  AL: "[g#4,c#5,f5] ~@2 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@3 [g#4,c#5,f5]@3 [g#4,c#5,f5] ~@2", // C#
  AM: "[g#4,c#5,f5] ~@2 [g#4,c#5,f5]@2 ~ [g#4,c#5,f5] ~@3 [g#4,c5,f5]@3 [g#4,c5,f5] ~@2", // C# Fm
  AN: "[g#4,c5,f5] ~@2 [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@3 [g#4,c5,f5]@3 [g#4,c5,f5] ~@2", // Fm
  AO: "[g#4,c5,f5] ~@2 [g#4,c5,f5]@2 ~ [g#4,c5,f5] ~@9", // Fm
})).s("gm_electric_guitar_jazz").gain(0.1)

// other · marimba
const marimba = note("<~@72 A B C D E F G H I B C D E F G H J ~@28>".pickRestart({
  A: "~@8 c#4 ~ g#3@2 a#3 ~ c#4 ~", B: "~@2 g#3 ~ e4 ~ f4 ~ c#4 ~ g#3@2 a#3@2 c#4 ~",
  C: "~@2 g#3@2 a#3@2 c#4 ~ c#4 ~ g#3@2 a#3 ~ c#4 ~", D: "~@2 g#3 ~ e4 ~ f4 ~ c#4 ~ g#3 ~ a#3 ~ c#4 ~",
  E: "~@2 g#3@2 a#3 ~ c#4 ~ c#4 ~ g#3@2 a#3 ~ c#4 ~", F: "~@2 g#3 ~ e4 ~ f4 ~ c#4 ~ g#3@2 a#3 ~ c#4 ~",
  G: "~@2 c#4 ~ d#4 ~ f4 ~ f#4 ~ c#4 ~ d#4 ~ f#4 ~", H: "~@2 f#4 ~ f4 ~@3 d#4 ~ c4 ~ a#3 ~ g#3 ~",
  I: "~@2 g#3 ~ a#3 ~ c4 ~ c#4 ~ g#3@2 a#3 ~ c#4 ~", J: "~@2 g#3 ~ a#3 ~ c4 ~@9",
})).s("gm_marimba").gain(0.32)

// chords · synth brass 1 · "SYNBRASS 1"
const synth_brass_1 = note(`<
  A@3 B C@2 D@2 E ~@15 F@2 G@2 H@2 I@2 J K L M@2 N@2 O@2 P@2 Q ~ N@2 O@2 P@2 R F@2 G@2 H@2 I@2 J K L M@2 N@2 O@2 P@2 Q
  ~@17 S@2 T@2 U@2 V ~ S@2 T@2 U@2 W ~ S@2 T@2 U@2 V ~ S@2 ~@2
>`.pickRestart({
  A: "[~@8 [e4,g4,b4]@11 ~ [e4,g4,d5] ~ [e4,g4,b4]@12 ~@2 [e4,g4,b4,d5] ~@3 [f4,a4,d5]@8]/3", // Em Em7 Em Em7 Dm
  B: "~@10 [f4,a4,e5] ~@3 [f4,a4,d5] ~", C: "[~@2 [f4,a4,c5] ~@5 [e4,g4,b4]@11 ~ [e4,g4,d5] ~ [e4,g4,b4]@9 ~]/2",
  D: "[[e4,g4,b4] ~@3 [e4,g4,c5] ~@3 [f4,a4,d5]@5 ~ [f4,a4,d5]@10 ~@2 [g4,b4,f5,g5] ~ [g4,b4,f5,g5] ~@3]/2", // Em C Dm G7
  E: "[g4,b4,f5,g5] ~ [g4,b4,f5,g5] ~@13", F: "[~@8 a3@23 ~]/2",
  G: "[[a3,a4]!2 ~ [a3,a4] ~@2 [g#3,g#4] ~ [g3,g4]@23 ~, ~@8 b3@17 ~@7]/2", // A G# G
  H: "[[g3,b3,g4]!2 ~ [g3,b3,g4] ~@2 [g#3,b3,g#4] ~ [a3,c4,a4]@23 ~]/2", // G G#m Am
  I: "[[a3,a4]!2 ~ [a3,a4] ~@2 [g#3,g#4] ~ [g3,b3,g4]@16 ~@2 [b3,g4,b4] ~@3 [d4,b4,d5] ~]/2", // A G# G Em G
  J: "~@2 [f4,b4,d5,g5] ~@9 [e4,e5] ~@3", K: "[a3,a4] ~@11 [d4,d5] ~@3", L: "[g3,g4] ~@11 [e4,e5] ~@3",
  M: "[[a3,a4] ~@5 [g3,g4,g5]@18 ~@8]/2", N: "[~@4 [g4,c5,e5] ~ [g4,c5,e5]@15 ~@11]/2",
  O: "[~@4 [b4,e5] ~ [g4,b4,e5]@14 ~@12]/2", P: "[~@4 [g4,a#4,e5] ~ [g4,a#4,e5]@13 ~@5 [a4,e5]@5 ~ [a4,d5] ~]/2",
  Q: "[a4,d5]@6 ~@2 [g4,d5] ~@5 [g4,f5] ~", R: "[a4,d5]@3 ~ [a4,e5] ~@2 [b4,f5]",
  S: "[~@4 [g#4,c#5,f5] ~ [g#4,c#5,f5]@15 ~@11]/2", T: "[~@4 [c5,f5] ~ [g#4,c5,f5]@14 ~@12]/2",
  U: "[~@4 [g#4,b4,f5] ~ [g#4,b4,f5]@13 ~@5 [a#4,f5]@5 ~ [a#4,d#5] ~]/2", // Fdim A#5 D#5
  V: "[a#4,d#5]@6 ~@2 [g#4,d#5] ~@5 [g#4,f#5] ~", W: "[a#4,d#5]@3 ~ [a#4,f5] ~@2 [c5,f#5]",
})).s("gm_synth_brass_1").gain(0.3)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A@2 B@2 C@2 D@2 E@6 F G H@4 I@2 J K ~@8 L@3 M@5 I@2 J K N@4 I@2 J K ~@8 L@3 M@5 I@2 J K O@4 P@2 Q R S@4 P@2 Q R S@4
  P@2 Q R S@4 P@2 Q R S@4 T@2 ~@7
>`.pickRestart({
  A: "[~@8 [b3,d6]@6 e6@17 ~]/2", B: "[b5@4 c6@3 ~ e6@6 d6@11 ~ e5 ~ e5@2 d5 ~]/2",
  C: "[d5@2 c5 ~ c5@2 a4 ~ [b3,b4,d6]@6 e6@15 ~@3]/2", D: "[d6@2 e6 ~ [e5,g6]@3 f6@5 ~@4]/2",
  E: "[~@8 c6@12 d6@2 e6@2 c6@12 e6@4 b5@12 c6@2 d6@2 b5@12 d6@4 a#5@12 c6 ~ d6@2 a#5@4 c6@4]/6",
  F: "d6@4 e6@3 ~ [a5,e6]@5 ~ [g5,d6] ~", G: "[g5,d6]@7 ~@9",
  H: "[~@5 [g5,a5] [b5,c6] d6 c6@12 d6@4 c6@8 d6@4 e6@4 [g5,b5]@11 ~ [b5,d6]@4 [g5,b5]@8, ~@4 g5@15 ~@13, ~@8 e6 ~@55]/4", // Gsus2 Cmaj7 G Bm G
  I: "[d6@4 e6@4 [g5,a#5]@12 d6@4 g5@3 ~ c6@3 ~, ~@5 a#5@2 ~]/2", J: "d6@4 e6@2 ~@2 [g5,e6]@5 ~ [g5,d6] ~",
  K: "[g5,d6]@6 ~@2 e6@2 f6 ~ e6 ~ f6 ~", // G5
  L: "[~@5 [f5,g5] [a5,b5] [c6,d6] e6@10 f6 ~ e6 ~ d6@14 ~@2 [f5,g5] [a5,b5] e6@8, ~@40 c6 ~@7]/3", // Fsus2 Asus2 Csus2 Fsus2 Asus2
  M: "[~@2 f6 ~ e6 ~ g6@18 c6@12 d6@4 c6@8 d6@4 e6@4 [g5,b5]@11 ~ [b5,d6]@4 [g5,b5]@8, ~@12 g5@15 ~@13]/5", // G Bm G
  N: "[~@5 f5 [g5,a5] b5 c6@12 d6@4 c6@8 d6@4 e6@4 [g5,b5]@11 ~ [b5,d6]@4 [g5,b5]@8, ~@4 g5@15 ~@13]/4", // Gsus2 G Bm G
  O: "[~@5 f5 [g5,a5] b5 c#6@12 d#6@4 c#6@8 d#6@4 f6@4 [g#5,c6]@11 ~ [c6,d#6]@4 [g#5,c6]@8, ~@4 g#5@15 ~@13, ~@8 c6 ~@55]/4", // Gsus2 G# Cm G#
  P: "[d#6@4 f6@4 [g#5,b5]@12 d#6@4 g#5@3 ~ c#6@3 ~, ~@5 b5@2 ~]/2", Q: "d#6@4 f6@2 ~@2 [g#5,f6]@5 ~ [g#5,d#6] ~",
  R: "[g#5,d#6]@6 ~@2 f6@2 f#6 ~ f6 ~ f#6 ~", // G#5
  S: "[~@5 f#5 [g#5,a#5] c6 c#6@12 d#6@4 c#6@8 d#6@4 f6@4 [g#5,c6]@11 ~ [c6,d#6]@4 [g#5,c6]@8, ~@4 g#5@15 ~@13, ~@8 c6 ~@55]/4", // G#sus2 G# Cm G#
  T: "[d#6 f6 [g#5,b5]@3 ~@3]/2", // G#m
})).s("gm_string_ensemble_1").gain(0.09)

// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note(`<
  A@2 B@2 C@2 D@2 ~@8 E ~@15 F ~ G ~@9 H ~@15 F ~ G ~@9 H ~@7 I ~@7 I ~@7 I ~@7 I ~@4 J K L M@4 N
>`.pickRestart({
  A: "[~@8 b4@6 [c4,c5]@17 ~]/2", B: "[b3@4 c4@3 ~ a4@7 ~ a4@9 ~@7, ~@4 a3@9 ~@3]/2", C: "[~@7 [c4,c5]@8 ~]/2",
  D: "[[b3,b4]@2 [c4,c5]@2 e4@3 [d4,d5]@5 ~@4]/2", E: "[f5,f6] ~@2 d5 [e5,f5] ~@11", F: "~@3 c5 [d5,e5] ~@11",
  G: "~@4 [a4,b4] [c5,d5,e5] ~@10", H: "~@4 d5 e5 ~@10", I: "~@4 d#5 f5 ~@10", J: "~@4 d#6@4 g#5@3 ~ c#6@3 ~, ~ b5@2 ~",
  K: "d#6@4 f6@2 ~@2 [g#5,f6]@5 ~ [g#5,d#6] ~", L: "[g#5,d#6]@6 ~@2 f6@2 f#6 ~ f6 ~ f#6 ~",
  M: "[~@4 d#5 [f5,f#5] [g#5,a#5] c6 c#6@12 d#6@4 c#6@8 d#6@4 f6@4 [g#5,c6]@11 ~ [c6,d#6]@4 [g#5,c6]@8, ~@4 g#5@15 ~@13, ~@8 c6 ~@55]/4", // F#maj7 G#sus2 G# Cm G#
  N: "d#6 f6 ~@2",
})).s("gm_string_ensemble_1").gain(0.05)

// other · piano · "A.PIANO 1"
const piano = note(`<
  ~@8 A@2 B C D@2 E F G@2 B C D@2 E F H I J K L M N O P Q R S T@2 B C D@2 E F G@2 B C D@2 E F U V@2 W@2 V@2 X@2 Q R S
  T@2 B C D@2 E F Y ~@44
>`.pickRestart({
  A: "[~@8 c5@5 ~ c5@6 ~@8 c5 ~ c5@2]/2", B: "d5@2 e5@2 b4@2 ~ b4", C: "~@12 b4 ~ b4@2",
  D: "[c5@4 d5@4 a#4@4 ~@2 a#4@4 ~@10 c5@3 ~]/2", E: "d5@3 ~ e5@3 ~ e5@5 ~ d5 ~", F: "d5@3 ~ e5 f5 ~ g5",
  G: "[~@2 d5 ~ d5 ~ f5 ~ c5@5 ~ c5@6 ~@8 c5 ~ c5@2]/2", H: "~@2 d5 ~ d5 ~@7 a4@2 g4 ~", I: "a4 ~@5 c5@4 ~@2 c5@2 a4 ~",
  J: "c5@2 d5@4 ~@6 b4@2 a4 ~", K: "b4 a4 ~ g4@4 ~", L: "~@10 a4 ~ c5@2 ~@2", M: "c5@3 ~@3 a4 ~ c5@2 a4 ~ c5 ~ a4 ~",
  N: "c5@2 d5@4 ~@4 a4 ~ b4 ~ a4 ~", O: "b4@2 a4 ~ g4 ~ g4@4 ~@6", P: "~@2 e5@2 ~@4 e5@4 d5@3 ~",
  Q: "c5@2 ~@2 a4 ~ d5@4 e5 ~@5", R: "~@4 g5 ~ g5@6 f5 ~@3", S: "e5@2 ~@2 d5 ~ e5@4 f5@2 e5@2 f5@2",
  T: "[e5@2 f5 ~@5 c5@5 ~ c5@6 ~@8 c5 ~ c5@2]/2", U: "~@2 d5 ~ d5 ~@7 a4 ~ g4 ~",
// … 80 more lines