Strudelify
Ik ga door cover art

Geheimen

Ik ga door

Ruth Jacott

KeyE♭ minorTempo129 bpm
0:00/0:00
// Ik ga door — Ruth Jacott
// 129.4 bpm, 4/4, key D# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 127 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 10 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(129.4/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 · piano
const piano = note(`<
  A B A C A B A C ~ D E F G D E H I ~@2 J K J K J K L M J K J K N O P Q D E F G D E H I D E F G D E H I A B A C ~ J K J
  K J K L M J K J K N O P Q D E F G D E H I D E F G D E H I ~@6 R S T U Q V W X Y Z W X AA AB W X Y Z W X AA AB W X Y Z
  W X AA AB W X ~
>`.pickRestart({
  A: "[eb2,eb3,bb3,eb4,gb4]@15 ~", B: "[ab2,b3,eb4,gb4] [bb2,ab3,db4,f4]", C: "[ab2,gb3,b3,eb4]@8 [bb2,ab3,db4,f4]@7 ~",
  D: "[bb3,eb4,gb4]@2 ~ [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4] ~@3 [bb3,eb4,gb4] ~@2 [bb3,eb4,gb4]@2 ~", // Ebm
  E: "[b3,eb4,gb4]@2 ~ [b3,eb4,gb4] ~@2 [b3,eb4,gb4] ~@3 [b3,eb4,gb4] ~@2 [b3,eb4,gb4]@2 ~", // B
  F: "[ab3,eb4,f4]@2 ~ [ab3,eb4,f4] ~@2 [ab3,db4,f4] ~@3 [ab3,db4,f4] ~@2 [ab3,db4,f4]@2 ~", // Fm7 Db
  G: "[bb3,db4,gb4]@2 ~ [bb3,db4,gb4] ~@2 [bb3,db4,gb4] ~@3 [bb3,db4,gb4] ~@2 [bb3,db4,gb4]@2 ~", // Gb
  H: "[a3,eb4,gb4]@2 ~ [a3,eb4,gb4] ~@2 [a3,eb4,gb4] ~@3 [a3,eb4,gb4] ~@2 [a3,eb4,gb4]@2 ~", // Ebdim
  I: "[ab3,d4,f4]@2 ~ [ab3,d4,f4] ~@2 [ab3,d4,f4] ~@3 [ab3,d4,f4] ~@2 [ab3,d4,f4]@2 ~", J: "[db3,gb3,bb3]",
  K: "[eb3,gb3,b3]", L: "[gb3,b3,eb4]", M: "[b3,eb4,gb4] [ab3,db4,f4]", N: "[eb2,bb3,db4,gb4]@15 ~",
  O: "[ab2,gb3,bb3,db4]@7 ~ [ab2,gb3,c4,eb4]@7 ~, eb2 ~@15", P: "[db3,gb3,b3,eb4]",
  Q: "~@2 [bb2,ab3,c4,eb4]@2 ~ [bb2,ab3,c4,eb4]@2 ~ [bb2,bb3,d4,f4]@2 ~@6", // Ab Bb
  R: "[ab3,b3,db4,e4]@2 ~ [ab3,b3,db4,e4] ~@2 [ab3,b3,db4,e4] ~@3 [ab3,b3,db4,e4] ~@2 [ab3,b3,db4,e4] ~@2", // Dbm7
  S: "[gb3,bb3,b3,eb4]@2 ~ [gb3,bb3,b3,eb4] ~@2 [gb3,bb3,b3,eb4] ~@3 [gb3,bb3,b3,eb4] ~@2 [gb3,bb3,b3,eb4] ~@2", // Bmaj7
  T: "[gb3,b3,eb4]@2 ~ [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@3 [gb3,b3,eb4] ~@2 [gb3,b3,eb4] ~@2", U: "[gb3,b3,eb4]@3 ~",
  V: "~@2 [c3,bb3,d4,f4]@2 ~ [c3,bb3,d4,f4]@2 ~ [c3,c4,e4,g4]@2 ~@6", // Bb C
  W: "[c4,f4,ab4]@2 ~ [c4,f4,ab4] ~@2 [c4,f4,ab4] ~@3 [c4,f4,ab4] ~@2 [c4,f4,ab4]@2 ~", // Fm
  X: "[db4,f4,ab4]@2 ~ [db4,f4,ab4] ~@2 [db4,f4,ab4] ~@3 [db4,f4,ab4] ~@2 [db4,f4,ab4]@2 ~", // Db
  Y: "[bb3,f4,g4]@2 ~ [bb3,f4,g4] ~@2 [bb3,eb4,g4] ~@3 [bb3,eb4,g4] ~@2 [bb3,eb4,g4]@2 ~", // Gm7 Eb
  Z: "[c4,eb4,ab4]@2 ~ [c4,eb4,ab4] ~@2 [c4,eb4,ab4] ~@3 [c4,eb4,ab4] ~@2 [c4,eb4,ab4]@2 ~", // Ab
  AA: "[b3,f4,ab4]@2 ~ [b3,f4,ab4] ~@2 [b3,f4,ab4] ~@3 [b3,f4,ab4] ~@2 [b3,f4,ab4]@2 ~", // Fdim
  AB: "[bb3,e4,g4]@2 ~ [bb3,e4,g4] ~@2 [bb3,e4,g4] ~@3 [bb3,e4,g4] ~@2 [bb3,e4,g4]@2 ~", // Edim
})).s("gm_piano").gain(0.31)

// bass · electric bass finger
const bass = note(`<
  ~@9 A B C D E F E G H ~ I@6 J K I@4 L J K M A B C D E F E G A B C D E F E G ~@5 I@6 J K I@4 L J K M A B C D E F E G A
  B C D E F E G H ~ N O P Q ~@4 M R S T U V C W C X S T U V C W C X S T U V C W C X S T ~
>`.pickRestart({
  A: "eb2@2 ~@2 eb2@2 ~ bb1 eb2 db2 bb1@2 db2@2 eb2@2", B: "ab1@2 ~@2 ab1@2 ~ ab1!3 ab1@2 b1@2 ab1@2",
  C: "db2@2 ~@2 db2@2 ~ db2!3 bb1 ~ ab1@2 f1@2", D: "gb1@2 ~@2 gb1@2 ~ gb1!3 gb1@2 eb1@2 db1@2",
  E: "b1@2 ~@2 b1@2 ~ b1!3 ab1 ~ gb1@2 eb1@2", F: "ab1@2 ~@2 ab1@2 ~ ab1!3 gb1 ~ eb1@2 gb1@2",
  G: "bb1@3 ~ bb1@2 ~ bb1 db2 bb1 ~ db2 ~ db2 eb2 ~", H: "gb1@2 ~@2 gb1@2 ~ gb1 ~ gb1 eb1 ~ db1 ~ eb1@2",
  I: "gb1@2 ~@2 gb1@2 ~ gb1 ~ gb1 eb1@2 db1@2 eb1@2", J: "ab1@2 ~@2 ab1@2 ~ ab1 ~ ab1 gb1@2 eb1@2 gb1@2",
  K: "db2@2 ~@2 db2@2 ~ db2 ~ db2 bb1@2 ab1@2 bb1@2", L: "eb2@3 ~ eb2@2 ~ eb2 ~ eb2 db2@2 bb1@2 db2@2",
  M: "~@2 bb1 ~@2 bb1@2 ~ bb1@2 ~@6",
  N: "[eb0,eb1]@4 ~@2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1] [bb-1,bb0]", // Eb Db Eb Db Eb Db Bb
  O: "[eb0,eb1]@4 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1] [bb-1,bb0]", // Eb Db Eb Db Eb Db Bb
  P: "[eb0,eb1]@2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2", // Eb Db Eb Db Eb Db Eb Db
  Q: "[eb0,eb1]@4 ~ [eb0,eb1] [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2 [eb0,eb1]!2 [db0,db1]!2", // Eb Db Eb Db Eb Db
  R: "~@2 c2 ~@2 c2@2 ~ c2@2 ~@6", S: "f2@2 ~@2 f2@2 ~ c2 f2 eb2 c2@2 eb2@2 f2@2",
  T: "bb1@2 ~@2 bb1@2 ~ bb1!3 bb1@2 db2@2 bb1@2", U: "eb2@2 ~@2 eb2@2 ~ eb2!3 c2@2 bb1@2 g1@2",
  V: "ab1@2 ~@2 ab1@2 ~ ab1!3 ab1@2 f1@2 eb1@2", W: "bb1@2 ~@2 bb1@2 ~ bb1!3 ab1 ~ f1@2 ab1@2",
  X: "c2@3 ~ c2@2 ~ c2 eb2 c2 ~ eb2 ~ eb2 f2 ~",
})).s("gm_electric_bass_finger").gain(0.6)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@19 A B C D C E F G A B C D H I J ~@22 A B C D C E F G A B C D H I J ~@56
>`.pickRestart({
  A: "~@4 [gb3,bb3,db4,gb4,bb4]!11 ~", B: "[gb3,b3,eb4,gb4,b4]!15 ~", C: "[gb3,bb3,db4,gb4,bb4]!15 ~",
  D: "~@3 [gb3,b3,eb4,gb4,b4]!12 ~", E: "~@4 [gb3,b3,eb4,gb4,b4]!11 ~", F: "[b3,eb4,gb4,b4] [gb3,b3,eb4,gb4,b4]!14 ~",
  G: "~ [gb3,b3,eb4,gb4,b4]!7 [ab3,db4,f4,ab4,b4]!7 ~", H: "~@4 [eb3,a3,db4,gb4,bb4]!11 ~",
  I: "[bb3,db4,gb4,bb4,db5]!8 [ab3,c4,eb4,ab4,c5]!7 ~", J: "[db3,b3,eb4,gb4,b4]!15 ~",
})).s("gm_electric_guitar_clean").gain(0.08).pan(0.3)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note(`<
  ~@19 A B C D C E F G A B C D H I J ~@22 A B C D C E F G A B C D H I J ~@56
>`.pickRestart({
  A: "[gb3,bb3,db4,gb4,bb4]!4 ~@11 [gb3,bb3,db4,gb4,bb4]", B: "~@15 [gb3,b3,eb4,gb4,b4]",
  C: "~@15 [gb3,bb3,db4,gb4,bb4]", D: "[gb3,b3,eb4,gb4,b4]!3 ~@12 [gb3,b3,eb4,gb4,b4]",
  E: "[gb3,b3,eb4,gb4,b4]!4 ~@11 [gb3,b3,eb4,gb4,b4]", F: "gb3 ~@14 [gb3,b3,eb4,gb4,b4]",
  G: "[gb3,b3,eb4,gb4,b4] ~@14 [ab3,db4,f4,ab4,b4]", H: "[eb3,a3,db4,gb4,bb4]!4 ~@11 [eb3,a3,db4,gb4,bb4]",
  I: "~@15 [ab3,c4,eb4,ab4,c5]", J: "~@15 [db3,b3,eb4,gb4,b4]",
})).s("gm_electric_guitar_clean").gain(0.04).pan(0.3)

// chords · string ensemble 1
const string_ensemble_1 = note(`<
  A B A C A B A C ~ D E F G H E I J ~@2 K L K L M@2 N O P Q P Q P R Q S D E F G H E I J D E F G H E I J A B A C ~ K L K
  L M@2 N O P Q P Q P R Q S D E F G H E I J D E F G H E I J ~@6 T U V W X Y Z AA AB AC AD AA AE AF Z AA AB AC AD AA AE
  AF Z AA AB AC AD AA AE AF Z AA ~
>`.pickRestart({
  A: "[eb2,eb3,eb4,gb4,bb4]", B: "[ab2,ab3,eb4,gb4,b4] [bb2,bb3,db4,f4,ab4]",
  C: "[ab2,ab3,b3,eb4,gb4] [bb2,bb3,db4,f4,ab4]", D: "[eb2,bb3,db4,gb4]", E: "[ab2,b3,eb4,gb4]",
  F: "[db2,ab3,db4,eb4,f4]", G: "[gb2,bb3,db4,gb4]@15 ~", H: "[b2,bb3,eb4,gb4]", I: "[b2,a3,eb4,gb4]@15 ~",
  J: "[bb2,ab3,d4,f4]@15 ~", K: "[db3,gb3,bb3]", L: "[eb3,gb3,b3]",
  M: "[[db3,gb3,bb3]@15 ~ [eb3,b3]@16, ~@15 gb3@15 ~@2]/2", N: "[gb3,b3,eb4]", O: "[gb3,b3,eb4] [f3,ab3,db4]",
  P: "[bb3,db4,gb4]", Q: "[b3,eb4,gb4]", R: "[gb3,bb3,db4] [ab3,c4,eb4]",
  S: "~@2 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 ~ [bb3,d4,f4]@4 ~@4", T: "[gb2,e3,ab3,b3,e4]", U: "[b2,eb3,gb3,bb3,eb4]",
  V: "[ab2,gb3,b3,eb4]", W: "[gb3,b3,eb4]@7 ~ [ab3,db4,f4]@8, [db2,db3]@15 ~",
  X: "~@2 [ab3,c4,eb4]@2 ~ [ab3,c4,eb4]@2 ~ [bb3,d4,f4]@4 ~@4, ~@2 bb1 ~@2 bb1 ~@2 bb1@8", // Ab Bb
  Y: "~@2 [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 ~ [c2,c4,e4,g4]@4 ~@4, ~@2 c2 ~@2 c2 ~@10", Z: "[f2,c4,eb4,ab4]",
  AA: "[bb2,db4,f4,ab4]", AB: "[eb2,bb3,eb4,f4,g4]", AC: "[ab2,c4,eb4,ab4]@15 ~", AD: "[db3,c4,f4,ab4]",
  AE: "[db3,b3,f4,ab4]@15 ~", AF: "[c3,bb3,e4,g4]@15 ~",
})).s("gm_string_ensemble_1").gain(0.22).pan(0.8)

// other · brass section
const brass_section = note(`<
  ~@16 A ~ B ~@7 C@2 ~@14 D ~@16 E ~@3 F ~@3 G ~ H@2 ~@8 D ~@9 I ~ J ~@11 K@4 L ~@3 K@4 M@2 ~@2 K@4 L ~@3
>`.pickRestart({
  A: "~@8 [db4,db5] [bb3,bb4] ~ [db4,db5] ~ [db4,db5] [eb4,eb5] ~", B: "~@8 [db3,db5]@3 [eb3,eb5]@3 [gb3,gb5]@2",
  C: "[~@6 eb4 ~ gb4@2 f4 eb4 ~ f4 ~ db4@14 ~@3]/2",
  D: "~@2 [bb3,bb4] ~@2 [bb3,bb4]@3 [bb3,bb4] ~@2 [bb3,bb4] [db4,db5]@2 [eb4,eb5] ~", E: "~@6 eb4@6 gb4 ~@3",
  F: "~@6 eb4 ~ gb4@2 f4 eb4 ~ f4 ~ db4", G: "~@7 eb5 db5 ~ eb5 ~ [b4,f5,ab5]@2 ~ [bb4,eb5,gb5]",
  H: "[~@11 [eb4,eb5] ~ [f4,f5] ~ [db4,gb4,b4,gb5]@14 ~@3]/2", // Eb F Gbsus4
  I: "~@7 [ab3,ab4] [bb3,bb4]!2 ~ [ab3,ab4] ~ [db4,db5] ~ [eb4,eb5]", // Ab Bb Ab Db Eb
  J: "~@4 [a2,ab3,a3] [gb2,ab2,gb3] [eb2,eb3] ~ [a3,a4] [gb3,ab3,gb4,ab4] [eb3,eb4] ~ [a4,a5] [gb4,ab4,gb5,ab5] [eb4,eb5] ~", // Amaj7 Gbsus2 Eb A Gbsus2 Eb A Gbsus2 …
  K: "[~@8 [bb3,bb4]@3 ~ [c4,c5] ~ [ab3,ab4]@12 ~@2 [bb3,bb4] ~ [ab3,ab4]@12 ~@2 [bb3,bb4] ~ [b3,b4]@18]/4", // Bb C Ab Bb Ab Bb B
  L: "~@2 [c4,c5] ~@2 [c4,c5]@3 [c4,c5] ~@2 [c4,c5] [eb4,eb5]@2 [f4,f5] ~", M: "[[c4,c5]@9 ~@7]/2",
})).s("gm_brass_section").gain(0.24).pan(0.4)

// chords · pad sweep
const pad_sweep = note(`<
  A B A C A B A C ~ D E F G H E I J ~@9 K ~@8 D E F G H E I J D E F G H E I J A B A C ~@8 K ~@8 D E F G H E I J D E F G
  H E I J ~@9 L ~@2 M N O P Q N R S M N O P Q N R S M N O P Q N R S M N ~
>`.pickRestart({
  A: "[eb4,gb4,bb4]", B: "[eb4,gb4,b4] [db4,f4,ab4]", C: "[b3,eb4,gb4] [db4,f4,ab4]", D: "[eb2,bb3,db4,gb4]",
  E: "[ab2,b3,eb4,gb4]", F: "[db2,ab3,db4,eb4,f4]", G: "[gb2,bb3,db4,gb4]@15 ~", H: "[b2,bb3,eb4,gb4]",
  I: "[b2,a3,eb4,gb4]@15 ~", J: "[bb2,ab3,d4,f4]@15 ~", K: "[b4,eb5,gb5]", L: "[db2,ab2,db3]", M: "[f2,c4,eb4,ab4]",
  N: "[bb2,db4,f4,ab4]", O: "[eb2,bb3,eb4,f4,g4]", P: "[ab2,c4,eb4,ab4]@15 ~", Q: "[db3,c4,f4,ab4]",
  R: "[db3,b3,f4,ab4]@15 ~", S: "[c3,bb3,e4,g4]@15 ~",
})).s("gm_pad_sweep").gain(0.09).pan(0)

// other · orchestra hit
const orchestra_hit = note("<A B C ~ A B C ~@11 D ~@15 E ~@16 A B C ~ D ~@15 E ~@26 E F ~@27>".pickRestart({
  A: "eb4@15 ~, eb3@3 ~@13", B: "~@14 [eb3,eb4] ~", C: "eb3 ~ eb3 ~@5, eb4@3 ~",
  D: "~@8 [db3,db4] ~@2 [eb3,eb4] ~@2 [gb3,gb4] ~", E: "~@2 ab3 ~@2 ab3 ~@2 bb3 ~@7", F: "~@2 bb3 ~@2 bb3 ~@2 c4 ~@7",
})).s("gm_orchestra_hit").gain(0.16)

// other · orchestra hit · soft notes
const orchestra_hit_soft = note("<A ~ B ~ A ~ B ~@44 A ~ B ~ C ~@71>".pickRestart({
  A: "~@4 eb3@2 ~@2 eb3@3 ~ eb3@2 ~@2", B: "~@8 eb3@2 ~@2 eb3 ~@3", C: "~@8 eb3 ~@7",
})).s("gm_orchestra_hit").gain(0.07)

// other · string ensemble 1
const string_ensemble_1_2 = note(`<
  ~@4 A B A B C D E F G H@2 I J ~@17 C D E K G L@2 M N D E K G H@2 O P A B A B ~@9 Q@5 R S C D E K G L@2 M N D E K G H@2
  O P ~@6 T U V@2 ~ W X Y Z AA AB AC AD AE X Y Z AA AB AF AG AH X Y Z AA AB AC AD AE X Y ~
>`.pickRestart({
  A: "~@4 [eb6,eb7] ~@3 [db6,db7] ~@3 [eb6,eb7] ~ [bb5,bb6] ~", B: "~@4 [eb6,eb7] ~@3 [db6,db7] ~@3 [eb6,eb7] ~@3",
  C: "~@8 [db3,db4] [eb3,gb3,eb4,gb4] [ab3,ab4] [bb3,db4,bb4,db5] [eb4,eb5] [gb4,ab4,gb5,ab5] [bb4,bb5] [db5,eb5,db6,eb6]", // Db Ebm Ab Bbm Eb Gbsus2 Bb Dbsus2
  D: "[gb5,gb6]@3 [bb4,bb5]", E: "[b4,b5]@3 [gb5,gb6]", F: "[ab5,ab6]@11 ~ [f5,f6] [eb5,eb6] [db5,db6]@2",
  G: "[b5,b6] [bb5,bb6] [ab5,ab6] [bb5,bb6]", // B Bb Ab Bb
  H: "[[gb5,gb6]@9 ~ [bb5,bb6] ~ [ab5,ab6] ~ [bb5,bb6] [eb5,eb6]@12 ~ [eb5,eb6] [f5,f6] [gb5,gb6] [eb5,eb6]]/2", // Gb Bb Ab Bb Eb F Gb Eb
  I: "[a5,a6]@7 ~ [gb5,gb6]@8", J: "[f5,f6]@7 ~@9", K: "[ab5,ab6]@3 [db6,db7]",
  L: "[[gb5,gb6]@9 ~ [bb5,bb6] ~ [ab5,ab6] ~ [bb5,bb6] [eb5,eb6]@16 ~]/2", M: "[gb5,gb6] [f5,f6]",
  N: "[eb5,eb6] [f5,f6]", O: "[a5,a6]", P: "[ab5,ab6]@15 ~", Q: "[gb5@18 f5 gb5]/5", R: "bb5 c6", S: "db6@7 ~",
  T: "[gb3,e4,ab4,b4,e5]", U: "~@4 [db5,db6]@3 ~ [eb5,eb6]@3 ~ [bb5,bb6]@3 ~, [b3,eb4,gb4,bb4], eb5@7 ~@9",
  V: "[[ab3,gb4,b4,eb5]@16 [gb4,b4,eb5]@7 ~ [ab4,db5,f5]@8, [gb5,gb6]@19 ~@13, ~@16 [db3,db4]@15 ~]/2", // Abm7 B Db Gb Db
  W: "~@8 [eb3,eb4] [f3,ab3,f4,ab4] [bb3,bb4] [c4,eb4,c5,eb5] [f4,f5] [ab4,bb4,ab5,bb5] [c5,c6] [eb5,f5,eb6,f6]", // Eb Fm Bb Cm F Absus2 C Ebsus2
  X: "[ab5,ab6]@3 [c5,c6]", Y: "[eb5,eb6] [db5,db6] [c5,c6] [db5,db6]", Z: "[g5,g6]@3 [bb5,bb6]",
  AA: "[db6,db7]@2 [c6,c7]@2 [bb5,bb6]@2 [c6,c7] [ab5,ab6]", AB: "[f5,f6]@7 ~ [c5,c6]@3 ~ [bb4,bb5]@2 [ab4,ab5]@2",
  AC: "[f5,f6]@7 ~ [g5,g6] ~ [ab5,ab6]@2 [bb5,bb6]@3 ~", AD: "[b5,b6]", AE: "[c6,c7]@7 ~", AF: "[f5,f6]@13 ~ [g5,g6]@2",
  AG: "[ab5,ab6] [g5,g6]", AH: "[c6,c7] [bb5,bb6]",
})).s("gm_string_ensemble_1").gain(0.21).pan(0.2)

// other · glockenspiel
const glockenspiel = note(`<
  ~@4 A B A B ~ C D E F G@2 H I ~@18 C D J F K@2 L M C D J F G@2 N O A B A B ~@17 C D J F K@2 L M C D J F G@2 N O ~@7 P
  Q ~@3 R S T U V W X Y R S T U V Z AA AB R S T U V W X Y R S ~
>`.pickRestart({
  A: "~@4 [eb6,eb7] ~@3 [db6,db7] ~@3 [eb6,eb7] ~ [bb5,bb6] ~", B: "~@4 [eb6,eb7] ~@3 [db6,db7] ~@3 [eb6,eb7] ~@3",
  C: "[gb6,gb7]@3 [bb5,bb6]", D: "[b5,b6]@3 [gb6,gb7]", E: "[ab6,ab7]@11 ~ [f6,f7] [eb6,eb7] [db6,db7]@2",
  F: "[b6,b7] [bb6,bb7] [ab6,ab7] [bb6,bb7]", // B Bb Ab Bb
  G: "[[gb6,gb7]@9 ~ [bb6,bb7] ~ [ab6,ab7] ~ [bb6,bb7] [eb6,eb7]@12 ~ [eb6,eb7] [f6,f7] [gb6,gb7] [eb6,eb7]]/2", // Gb Bb Ab Bb Eb F Gb Eb
  H: "[a6,a7]@7 ~ [gb6,gb7]@8", I: "[f6,f7]@7 ~@9", J: "[ab6,ab7]@3 [db7,db8]",
  K: "[[gb6,gb7]@9 ~ [bb6,bb7] ~ [ab6,ab7] ~ [bb6,bb7] [eb6,eb7]@16 ~]/2", L: "[gb6,gb7] [f6,f7]",
  M: "[eb6,eb7] [f6,f7]", N: "[a6,a7]", O: "[ab6,ab7]@15 ~", P: "~@4 [db6,db7]@3 ~ [eb6,eb7]@3 ~ [bb6,bb7]@3 ~",
  Q: "[gb6,gb7]@15 ~", R: "[ab6,ab7]@3 [c6,c7]", S: "[eb6,eb7] [db6,db7] [c6,c7] [db6,db7]", T: "[g6,g7]@3 [bb6,bb7]",
  U: "[db7,db8]@2 [c7,c8]@2 [bb6,bb7]@2 [c7,c8] [ab6,ab7]", V: "[f6,f7]@7 ~ [c6,c7]@3 ~ [bb5,bb6]@2 [ab5,ab6]@2",
  W: "[f6,f7]@7 ~ [g6,g7] ~ [ab6,ab7]@2 [bb6,bb7]@3 ~", X: "[b6,b7]", Y: "[c7,c8]@7 ~", Z: "[f6,f7]@13 ~ [g6,g7]@2",
  AA: "[ab6,ab7] [g6,g7]", AB: "[c7,c8] [bb6,bb7]",
})).s("gm_glockenspiel").gain(0.15).pan(0.6)

// chords · percussive organ
const percussive_organ = note(`<
  ~@19 A B A B A B C D A B A B A E F G ~@21 A B A B A B C D A B A B A E F G ~@26 G H ~@27
>`.pickRestart({
  A: "~@2 [bb4,db5,gb5] ~@2 [bb4,db5,gb5] ~@2 [bb4,db5,gb5] ~@2 [bb4,db5,gb5] ~@2 [bb4,db5,gb5] ~", // Gb
  B: "~@2 [b4,db5,gb5] ~@2 [b4,db5,gb5] ~@2 [b4,db5,gb5] ~@2 [b4,db5,gb5] ~@2 [b4,db5,gb5] ~", // Bsus2
  C: "~@2 [b4,eb5,gb5] ~@2 [b4,eb5,gb5] ~@2 [b4,eb5,gb5] ~@2 [b4,eb5,gb5] ~@2 [b4,eb5,gb5] ~", // B
  D: "~@2 [gb4,b4,eb5] ~@2 [gb4,b4,eb5] ~@2 [ab4,db5,f5] ~@2 [ab4,db5,f5] ~@2 [ab4,db5,f5] ~", // B Db
  E: "~@2 [gb4,bb4,db5] ~@2 [gb4,bb4,db5] ~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~", // Gb Ab
  F: "~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~", // Ab
  G: "~@2 [ab4,c5,eb5] ~@2 [ab4,c5,eb5] ~@2 [f4,bb4,d5] ~@7", H: "~@2 [bb4,d5,f5] ~@2 [bb4,d5,f5] ~@2 [g4,c5,e5] ~@7",
})).s("gm_percussive_organ").gain(0.16).pan(0.3)

// other · orchestral harp
const orchestral_harp = note("<~@27 A ~@36 B ~@29 C D E F ~@29>".pickRestart({
  A: "eb2 [gb2,ab2,bb2] [db3,eb3,gb3] ~ [gb2,ab2] [bb2,db3,eb3] [gb3,ab3,bb3] [db4,eb4,gb4] [ab4,bb4,db5,gb5] [eb5,gb5,ab5] [bb5,db6,eb6,gb6] ~@5", // Gb Ebm7 Gbsus2 Eb7 Gb Ebm7 Gb Ab7 …
  B: "[eb2,gb2] [ab2,bb2] [db3,eb3,gb3] ~ [gb2,ab2] [bb2,db3,eb3] [gb3,ab3,bb3] [db4,eb4,gb4] [ab4,bb4,db5,gb5] [eb5,gb5,ab5,bb5] [db6,eb6,gb6] ~@5", // Ebm Absus2 Ebm7 Gbsus2 Eb7 Gb Ebm7 Gb …
  C: "~@5 ab4 [a4,b4,db5,e5] [gb5,ab5] [e3,gb3,b5,db6] [ab3,b3,db4,e6] [e4,gb4,ab4] [b4,db5] [e5,gb5,ab5] [b5,db6] [e6,gb6] [eb7,gb7,ab7]", // A Gbsus2 Esus2 Dbm7 E Bsus2 E Bsus2 …
  D: "[ab6,bb6,db7] [db6,eb6,gb6] [ab5,bb5] [eb5,gb5] [bb4,db5] [gb4,ab4] [db4,eb4] [ab3,bb3] [eb3,gb3] ~@7", // Bbm7 Ebm7 Absus2 Ebm Bbm Gbsus2 Dbsus2 Absus2 …
// … 102 more lines

More by Ruth Jacott