Strudelify
Tu t'en vas cover art

Tu t'en vas

Tu t'en vas

Alain Barriere

KeyG majorTempo98 bpm
0:00/0:00
// Tu t'en vas — Alain Barriere
// 98 bpm, 4/4, key G major. 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 105 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(98/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 B C D E F G H D@4 F G F G F D@5 F G F G F D E I J K L M N O P Q R K S P M T U V L M B C D E F G H D@4 F G F G F
  D@5 F G F G F D E I J K L M N O P Q R K S P M T U V L M B C D E F G H W ~
>`.pickRestart({
  A: "g1@31 ~", B: "d2@10 ~@2 d2@3 ~ d2@8 a1@8", C: "d2@5 ~ d2@2 a1@4 d2@4", D: "g1@9 ~@3 g1 ~@3 g1@8 d2@7 ~",
  E: "g1@9 ~@3 g1 ~@3 g1@8 b1@7 ~", F: "d2@10 ~@2 d2 ~@3 d2@8 a1@7 ~", G: "d2@10 ~@2 d2@4 a1@7 ~ d2@7 ~",
  H: "g1@10 ~@2 g1 ~@3 g1@7 ~ d2@8", I: "c2@9 ~@3 c2 ~@3 c2@8 g1@4 a1@4", J: "c2@9 ~@3 c2 ~@3 c2@8 g1@8",
  K: "c2@9 ~@3 c2 ~@3 c2@8 g1@7 ~", L: "g1@10 ~@2 g1 ~@3 g1@8 d2@7 ~", M: "g1@10 ~@2 g1 ~@3 g1@8 b1@8",
  N: "d2@10 ~@2 d2 ~@3 d2@7 ~ a1@8", O: "d2@9 ~@3 d2@4 a1@7 ~ d2@8", P: "g1@9 ~@3 g1 ~@3 g1@8 d2@8",
  Q: "g1@9 ~@3 g1 ~@3 g1@7 ~ d2@4 b1@4", R: "c2@9 ~@3 c2 ~@3 c2@7 ~ g1@4 a1@4", S: "c2@9 ~@3 c2 ~@3 g1@8 c2@7 ~",
  T: "d2@10 ~@2 d2 ~@3 d2@8 a1@8", U: "d2@9 ~@3 d2 ~@3 d2@8 a1@4 d2@3 ~", V: "c2@10 ~@2 c2 ~@3 c2@8 b1@4 a1@4", W: "g1",
})).s("gm_fretless_bass").gain(0.33)

// chords · synth strings 1 · "SYN STR 1"
const synth_strings_1 = note(`<
  ~ A@2 B C@4 D@2 E@2 F G@2 H@5 I ~ F G@2 H@5 J@3 E@2 G@2 K@2 L@3 E@2 M@2 N O@3 B C@4 D@2 E@2 F G@2 H@5 I ~ F G@2 H@5
  J@3 E@2 G@2 K@2 P@3 E@2 M@2 N O@3 B C@4 D@2 ~
>`.pickRestart({
  A: "[~@2 [g4,b4]@2 [a4,c5] [g4,b4]@3 [f#4,a4]@6 [g4,b4]@2, ~@4 d4@27 ~]/2", B: "[a4,c5]@4 [g4,b4] [f#4,a4]@3, d4@7 ~",
  C: "[[d4,g4,b4]@10 d5@2 e5 d5@3 [f#4,a4,c5]@6 [g4,b4,d5]@2 [f#4,c5,e5]@4 [g4,b4,d5] [a4,c5]@3, ~@10 d4@21 ~, ~@5 g4@3 ~@8]/4", // G F#dim G F#m7b5 G Am
  D: "[d4,g4,b4]/2", E: "[b3,d4,g4]/2", F: "[d4,g4]@2 d4 g4, b3", G: "[a3,d4,f#4]/2",
  H: "[d4@15 ~ d4@8 e4@8 f#4@64 [b3,g4]@64, a3@3 ~@2, f#3 d4@4]/5", I: "[b3,d4,g4] ~@31",
  J: "[e4 d#4@2, c4, g4 ~@95]/3", K: "[a4 ~ f4@2, [b3,d4], ~ g4@3]/2", L: "[e4 d#4@2, [c4,g4]]/3",
  M: "[~ a4, [a3,d4,f#4]]/2", N: "[c4,e4,a4]",
  O: "[[b3,d4,g4]@10 [g4,b4]@2 [a4,c5] [g4,b4]@3 [f#4,a4]@6 [g4,b4]@2, ~@20 d4@27 ~]/3", // G Am G F#m G
  P: "[e4 d#4@2, [c4,g4]@47 ~]/3", // C5
})).s("gm_synth_strings_1").gain(0.15)

// other · trumpet
const trumpet = note(`<
  ~@11 A B C ~@2 D E F ~@2 A B C ~@2 D E F ~@5 G@2 H I ~@5 G@2 J K L ~@4 M@2 N O ~@2 A B C ~@2 D E F ~@2 A B C ~@2 D E F
  ~@5 G@2 H I ~@5 G@2 J K L M@2 N O M@2 N O ~@2
>`.pickRestart({
  A: "~@4 d5@4 ~ d5@3 ~ e5@2 ~@2 e5@3 f#5@2 ~@2 f#5@3 ~ b5@3 ~",
  B: "b5@4 ~ g5@3 ~ g5@3 d5@3 ~ d5@3 ~ b4@3 ~ b4@3 ~ d5@4", C: "d5@11 ~ a4@3 ~ a4@16",
  D: "~@4 d5@3 ~ d5@3 ~ e5@3 ~ e5@3 ~ f#5@3 ~ f#5@3 ~ c6@3 ~",
  E: "~ c6@3 ~ a5@3 ~ a5@2 ~ c5@2 ~@2 c5@3 ~ a4@3 ~ a4@4 d5@4", F: "~ d5@11 b4@3 ~ b4@16",
  G: "[~@4 b5@3 ~ b5@2 ~@2 b5 ~ c6@5 ~ b5@2 ~@2 b5@3 a5 ~@2 a5@8 ~@14 g#5@4 a5@3 ~ b5@4]/2", H: "c6@4 ~ c6 b5 a5",
  I: "a5@15 ~ g5@16", J: "c6@10 ~@11 b5@5 a5@5 ~", K: "a5", L: "g5@27 ~@5",
  M: "[~@8 b5@7 ~ c6@4 b5@8 a5@22 ~@2 g#5@6 a5@2 ~ b5@2 ~]/2", N: "c6@2 b5 a5", O: "g5",
})).s("gm_trumpet").gain(0.58).pan(0.7)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  ~ A B C D E F G H@2 ~@19 I J@6 K@2 L M N@3 O P Q R S@2 B C D E F G T@2 U V@2 W X@2 Y Z AA AB AC AD AE AF AG@2 AH AI AJ
  AK J@6 K@2 L M N@3 O P Q R S@2 B C D E F G AL@2 ~
>`.pickRestart({
  A: "~@2 [g4,b5]@2 [a4,c6] [g4,b5]@3", B: "[f#4,a5]@3 [g4,b5]", C: "[a4,c6]@4 [g4,b5] [f#4,a5]@3", D: "[g4,b5]",
  E: "~@2 [d5,b5]@2 [e5,c6] [d5,b5]@3", F: "[c5,a5]@3 [d5,b5]", G: "[e5,c6]@4 [d5,b5] [c5,a5]@3", H: "[[b4,g5]@7 ~]/2",
  I: "b3 c4 d4 g4@2 a4 b4 g4",
  J: "[~@6 e4@2 d#4@16 ~@9 g4@3 [a4,c5] [g4,b4]@2 [f#4,a4]@8 [g4,b4], c5@7 b4@2 ~@3, ~@8 d4@3 ~@5]/6", // Am G F#m G
  K: "[a4@2 ~ b4, c5@3 ~, ~ g4]/2", L: "b3 c4 d4 g4@2 a4 b4 d5", M: "~@3 g5, e5",
  N: "[c6@6 g5 ~@3 b5 g5, d#5@16 d5@7 ~, ~@7 c6@3 ~@2]/3", O: "b4 b5 [e5,c6] [d5,b5], d5 ~",
  P: "a5@5 g#5 a5 [d5,b5], c5@7 ~", Q: "[e5,c6]@10 [d5,b5]@3 [c5,a5]@3", R: "[c5,a5]",
  S: "[[b4,g5]@10 [g4,b5]@2 [a4,c6] [g4,b5]@3]/2", T: "[[b4,g5]@57 ~@7]/2", U: "~@2 b3 c4", V: "[d4@6 b3 g4]/2",
  W: "f#4@3 e4", X: "[d4@4 c4 b3@2 a3@7 b3@2]/2", Y: "c4@3 f#4", Z: "a3@11 ~ f#4@4", AA: "d4@3 c4",
  AB: "b3@3 c4@3 d4@2", AC: "g4@3 a4", AD: "b4", AE: "g4@3 b4", AF: "a4@3 g4", AG: "[f#4@2 d4@5 e4]/2", AH: "f#4",
  AI: "d4@3 [a4,c5]", AJ: "[g4,b4]@3 [a4,c5]", AK: "b3 c4 d4 g4@2 a4 b4 g4, [b4,d5] ~", AL: "[b4,g5]/2",
})).s("gm_string_ensemble_1").gain(0.26).pan(0.4)

// chords · acoustic guitar steel · "STEEL GTR"
const acoustic_guitar_steel = note(`<
  A@2 B C D E F G H I D E D F G F G F D E D E D F G F G F D J K L M N O P Q R S T@2 U V W X Y Z AA AB AC AD D E F G AE I
  D E D F G F G F D E D E D F G F G F D J AF AG AH AI AJ AK AL AM AN AO@2 U AP AQ AR AS AT AA AU AC AD D E F G AE AV ~
>`.pickRestart({
  A: "[~@16 g4@11 ~@5, ~@29 g2@24 ~@11, ~@15 [d3,b3]@12 ~@5, ~@31 [g3,d4]@23 ~@10]/2", // G G5
  B: "~ [d3,a3,d4,f#4]@7 ~ d4@3 [d3,a3,d4,f#4]@8 [d4,f#4]@4 [d4,f#4]@4 f#4@4, ~@2 [d3,a3] ~@3 [d3,a3]@2", // D D5
  C: "~ [d4,f#4]@7 [d3,a3,d4,f#4]@4 ~@8 [d4,f#4]@4 [d4,f#4]@4 [d4,f#4]@4, [d3,a3]@2 ~ [a3,d4,f#4]@2 ~@3, ~@13 d3@11 [d3,a3]@8", // D D5 D D5
  D: "[d3,g3,b3,g4]@8 ~ [b3,g4]@3 ~ g3@7 [b3,g4]@4 [b3,g4]@4 g4@4, ~@8 [d3,g3]@4 [b3,g4]@7 ~@13, ~@13 d3@11 [d3,g3]@8", // G Em G5 Em G5
  E: "[d3,g3,b3,g4]@8 [d3,g3,b3,g4]@4 ~ [g3,b3]@7 [b3,g4]@4 ~ g4@3 [b3,g4]@4, ~@12 g4@7 ~@13, ~@13 d3@11 [d3,g3]@8", // G Em G5
  F: "[d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] [a3,d4,f#4]@2 [d4,f#4] [a3,d4,f#4] [d4,f#4], ~@3 d3@3 d3@2", // D
  G: "[d3,a3,d4,f#4]@2 [d3,a3,d4,f#4] ~@2 [d4,f#4] [a3,d4,f#4] [d4,f#4], ~@12 [a3,d4,f#4]@7 ~@13, ~@13 d3@11 d3@8", // D
  H: "[d3,g3,b3,g4]@2 [g3,b3,g4] [d3,g3,b3,g4]@2 [b3,g4] [g3,b3,g4] g4, ~@3 d3", // G Em G
  I: "[d3,g3,b3,g4]@2 [g3,b3,g4] [d3,g3,b3,g4]@2 [g3,b3,g4] [d3,g3,b3,g4]@2", // G
  J: "[d3,g3,b3,f4]@8 [d3,g3,b3,f4]@4 ~ [g3,b3,f4]@7 [b3,f4]@4 ~ f4@3 [b3,f4]@4, ~@13 d3@11 [d3,g3]@8", // G7 Bdim G5
  K: "g3 c5@8 [c4,e4,c5]@4 c5@7 c5@4 ~ e4@3 c5@4, [c4,e4]@8 ~ g3@23, ~@13 [c4,e4]@11 c4@8, ~@24 c5@3 ~@5", // C
  L: "[g3,d#4,g4,c5]@8 ~ c5@3 [g4,c5]@8 c5@4 [g3,d#4,g4,c5]@4 [g4,c5]@4, ~@2 [g3,d#4,g4] [g3,d#4]@3 ~@2", // Cm C5 Cm C5 Cm
  M: "g3@8 g3@4 [g4,c5]@8 c5@4 c5@3 ~ c5@4, [d#4,g4,c5]@3 [g3,d#4]@3 [g3,d#4,g4]@2", // C5 Cm
  N: "[g3,d4,g4,b4]@8 ~ b4@3 ~@8 b4@4 b4@3 ~ b4@4, ~@2 [g3,d4,g4] d4@3 ~@2, ~@3 [g4,b4]@2 ~@3, ~@13 g3@11 [g3,d4,g4]@8", // G G5 G G5
  O: "[g3,d4,g4,b4]@8 [g3,d4,g4,b4]@4 [d4,g4,b4]@8 [g4,b4]@4 ~ b4@3 [g4,b4]@4, ~@3 g3, ~@6 [d4,g4] ~", // G G5
  P: "[a3,d4,f#4,a4]@2 [a3,d4,f#4,a4] [d4,f#4,a4]@2 [f#4,a4]!2 a4, ~@3 [a3,d4]", // D F#m D5
  Q: "~ a4@7 [a3,d4,f#4,a4]@4 [f#4,a4]@8 a4@4 [f#4,a4]@3 ~ a4@4, [a3,d4,f#4]@2 ~ [a3,d4]@3 [a3,d4]@2", // D F#m D D5
  R: "[g3,d4,g4,a4]@2 [g3,d4,g4,a4] [g3,d4,g4]@2 ~ [g4,b4] b4, ~@3 a4@3 [g3,d4]@2", // Gsus2 G5 G G5
  S: "[g3,d4,f4,b4]@2 [g3,d4,f4,b4] [d4,f4,b4]@2 [f4,b4] [g3,d4,f4,b4] [f4,b4], ~@3 g3 ~@4", // G7 Bdim Fdim G7 Fdim
  T: "[[g3,c4,e4,c5]@2 [g3,c4,e4,c5] [c4,e4,c5]@2 [e4,c5]!2 c5 g3@2 [g3,d#4] [g4,c5]@2 [g4,c5]!2 c5, ~@3 g3@3 c4@4 ~@4 [g3,d#4]@2, ~@24 g3@8 c5@11 ~@21, ~@7 e4@4 d#4@3 ~@2]/2", // C Cm C5 Cm
  U: "[g3,c5]@2 [g3,c5] [g4,c5]@2 [g4,c5]!3, [d#4,g4]@3 [g3,d#4]@3 [g3,d#4]@2", // C5 D# Cm
  V: "~ [g4,b4]@7 ~ b4@3 [g3,d4]@4 [g3,d4]@4 [g4,b4]@4 ~ [d4,g4,b4]@3 [g4,b4]@4, [g3,d4]@2 [g3,d4,g4] [g4,b4]@2 ~ g3@2", // G G5 G G5 G
  W: "~ b4@7 [d4,g4]@4 [g4,b4]@8 [g4,b4]@4 ~ b4@3 [g4,b4]@4, [g3,d4,g4]@2 g3@4 [g3,d4,g4] ~, ~@3 d4@3 ~@2", // G5 G G5
  X: "~ a4@7 ~ a4@3 [f#4,a4]@4 ~@4 [f#4,a4]@4 ~ a4@3 [f#4,a4]@4, [a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4]@3 a3@2, ~@6 [d4,f#4] ~", // F#m D D5 D
  Y: "~ a4@7 [a3,d4,f#4,a4]@4 [f#4,a4]@8 [f#4,a4]@4 [d4,f#4]@4 [f#4,a4]@4, [a3,d4,f#4]@2 ~ d4@3 a3@2", // D F#m D F#m D
  Z: "[a3,c4,e4,a4]@8 ~ a4@3 [a3,c4,e4,a4]@4 ~@4 a4@4 [e4,a4]@3 ~ [e4,a4]@4, ~@2 [a3,c4,e4] ~@3 [a3,c4]@2", // Am A5 Am
  AA: "[g3,d4,g4,b4]@8 ~ b4@3 [g4,b4]@8 [g4,b4]@4 [g4,b4]@4 [g4,b4]@4, ~@2 [g3,d4,g4] [g3,d4]@3 [g3,d4]@2", // G G5
  AB: "~ b4@7 [d4,g4,b4]@4 [d4,g4]@4 ~@8 [g3,d4]@7 ~, [g3,d4,g4]@7 ~ g3@16 ~@8, ~@3 b4@2 b4@3, ~@2 d4 ~", // G G5
  AC: "~ [d3,a3,d4,f#4]@7 ~ [d4,f#4]@3 [d3,a3,d4,f#4]@8 [a3,d4,f#4]@4 [d4,f#4]@4 [d4,f#4]@4, ~@2 [d3,a3] ~@3 [d3,a3]@2", // D D5
  AD: "~ [d4,f#4]@7 [d3,a3,d4,f#4]@4 ~@8 [a3,d4,f#4]@4 [d4,f#4]@4 [d4,f#4]@4, [d3,a3]@2 ~ [a3,d4,f#4]@2 ~@3, ~@13 d3@11 [d3,a3]@8", // D D5 D D5
  AE: "[d3,g3,b3,g4]@2 [g3,b3,g4] [d3,g3,b3,g4]@2 [g3,b3,g4]!2 [b3,g4], ~@3 d3", // G Em
  AF: "g3 c5@8 [c4,e4,c5]@4 c5@7 c5@4 ~ e4@3 [e4,c5]@4, [c4,e4]@8 ~ g3@23, ~@13 [c4,e4]@11 c4@8, ~@24 c5@3 ~@5", // C
  AG: "[g3,d#4,g4,c5]@8 ~ c5@3 [g4,c5]@8 [g4,c5]@4 [g3,d#4,g4,c5]@4 [d#4,g4,c5]@4, ~@2 [g3,d#4,g4] [g3,d#4]@3 ~@2", // Cm C5 Cm
  AH: "g3@8 g3@4 [g4,c5]@8 [g4,c5]@4 c5@3 ~ c5@4, [d#4,g4,c5]@3 [g3,d#4]@3 [g3,d#4,g4]@2", // C5 Cm
  AI: "[g3,d4,g4,b4]@8 ~ b4@3 ~@8 [g4,b4]@4 b4@3 ~ b4@4, ~@2 [g3,d4,g4] d4@3 ~@2, ~@3 [g4,b4]@2 ~@3, ~@13 g3@11 [g3,d4,g4]@8", // G G5 G G5
  AJ: "[g3,d4,g4,b4]@8 [g3,d4,g4,b4]@4 ~ g3@7 [g4,b4]@4 ~ b4@3 [g4,b4]@4, ~@3 [d4,g4,b4]@2 ~ g3@2, ~@6 [d4,g4] ~", // G G5
  AK: "[a3,d4,f#4,a4]@2 [a3,d4,f#4,a4] [a3,d4,f#4,a4]@2 [f#4,a4]!3, ~@3 [a3,d4]", // D F#m D5
  AL: "~ a4@7 [a3,d4,f#4,a4]@4 [f#4,a4]@8 [f#4,a4]@4 [f#4,a4]@3 ~ [f#4,a4]@4, [a3,d4,f#4]@2 ~ [a3,d4]@3 [a3,d4]@2", // D F#m D D5
  AM: "[g3,d4,g4,a4]@2 [g3,d4,g4,a4] [g3,d4,g4]@2 g4 [g4,b4]!2, ~@3 a4@3 [g3,d4]@2", // Gsus2 G5 G G5
  AN: "[g3,d4,f4,b4]@2 [g3,d4,f4,b4] [d4,f4,b4]@2 [f4,b4] [g3,d4,f4,b4]!2, ~@3 g3 ~@4", // G7 Bdim Fdim G7
  AO: "[[g3,c4,e4,c5]@2 [g3,c4,e4,c5] [c4,e4,c5]@2 [e4,c5]!2 c5 g3@2 [g3,d#4] [g4,c5]@2 [g4,c5]!3, ~@3 g3@3 c4@4 ~ [g3,d#4]@3 [g3,d#4]@2, ~@24 g3@8 c5@11 ~@21, ~@7 e4@4 ~@5]/2", // C Cm C5 Cm
  AP: "~ [g4,b4]@7 ~ b4@3 [g3,d4]@4 [g3,d4]@4 [g4,b4]@4 ~ [d4,g4,b4]@3 [d4,g4,b4]@4, [g3,d4]@2 [g3,d4,g4] [g4,b4]@2 ~ g3@2", // G G5 G G5 G
  AQ: "~ b4@7 [d4,g4,b4]@4 [g4,b4]@8 [g4,b4]@4 ~ b4@3 [d4,g4,b4]@4, [g3,d4,g4]@2 g3@4 [g3,d4,g4] ~, ~@3 d4@3 ~@2", // G G5
  AR: "~ a4@7 ~ a4@3 [f#4,a4]@4 ~ a4@3 [f#4,a4]@4 ~ a4@3 [f#4,a4]@4, [a3,d4,f#4]@2 [a3,d4,f#4] [a3,d4]@3 a3@2, ~@6 [d4,f#4] ~", // F#m D D5 D
  AS: "~ a4@7 [a3,d4,f#4,a4]@4 [f#4,a4]@8 [f#4,a4]@4 [d4,f#4,a4]@4 [d4,f#4,a4]@4, [a3,d4,f#4]@2 ~ d4@3 a3@2", // D F#m D
  AT: "[a3,c4,e4,a4]@8 ~ a4@3 [a3,c4,e4,a4]@4 ~@4 [e4,a4]@4 [e4,a4]@3 ~ [e4,a4]@4, ~@2 [a3,c4,e4] ~ [a3,c4]@2 [a3,c4]@2", // Am A5 Am
  AU: "~ b4@7 [d4,g4,b4]@4 [d4,g4]@4 ~@8 [g3,d4,g4]@7 ~, [g3,d4,g4]@7 ~ g3@16 ~@8, ~@3 b4@2 b4@3, ~@2 d4 ~", // G G5
  AV: "[d3,g3,b3,g4]", // G
})).s("gm_acoustic_guitar_steel").gain(0.17)

// chords · acoustic guitar steel · "STEEL GTR" · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@2 A B C D E@2 F G C D C E@5 C D C D C E@5 C D H I J@2 K L M N O P Q ~ R S T U V ~ W X ~ C D E@2 Y G C D C E@5 C D C
  D C E@5 C D ~ Z ~@2 AA AB ~ AC AD P ~@2 AE Z AF AG AH ~ AI X ~ C D E@2 Y ~@2
>`.pickRestart({
  A: "~@9 f#4@3 ~@8 [d3,a3]@4 ~@4 d4@4", B: "~@5 a3 ~@2", C: "~@5 g3 ~ b3", D: "~@5 g3 b3 ~", E: "~@5 a3 ~ a3",
  F: "~@2 d3 ~@2 [d3,g3] ~ [g3,b3]", G: "~@2 d3 ~@2 d3 ~@2", H: "~@7 e4", I: "~@5 g4 ~ [g3,d#4]", J: "~@5 g4 ~@2",
  K: "~@13 g3@7 [g3,d4]@4 ~@4 d4@4", L: "~@3 a3@2 [a3,d4] ~ f#4", M: "~@5 f#4 ~ f#4", N: "~@5 [g3,d4,g4] ~ g4",
  O: "~@5 d4 ~ [g3,d4], ~@2 g3 ~", P: "~@5 c4 ~@2", Q: "~@3 g3@3 ~ g4", R: "~@21 [g3,d4]@4 ~@3 d4@4",
  S: "~@8 b4@3 ~@17 [g3,d4]@4", T: "~@17 [f#4,a4]@3 ~@8 d4@4", U: "~@12 a3@3 ~ a3@8 a4@3 ~ d4@4",
  V: "~@4 [e4,a4] e4 ~@2, ~@2 [a3,c4] ~", W: "~@16 g4@4 g4@4 g4@7 ~", X: "~@5 d3 ~@2", Y: "~@2 d3 ~@2 d3 ~ g3",
  Z: "~@7 g3", AA: "~@5 [g3,d4] ~ d4", AB: "~@5 [a3,d4] ~@2", AC: "~@5 [g3,d4] ~@2", AD: "~@5 d4 ~@2, ~@2 g3 ~",
  AE: "~@21 [g3,d4]@4 ~@7", AF: "~@17 f#4@3 ~@8 d4@4", AG: "~@12 a3@3 ~ a3@8 ~@8", AH: "~@4 [e4,a4] ~@3",
  AI: "~@4 g4!2 ~@2",
})).s("gm_acoustic_guitar_steel").gain(0.07)

// other · pad new age · "FANTASIA"
const pad_new_age = note(`<
  ~@8 A B ~@20 C ~@2 D ~@5 C ~@2 D ~@4 E@2 ~@6 A B F G@2 H I@2 J K L M N O P Q R@2 S T U V C ~@2 D ~@5 C ~@2 D ~@4 E@2
  ~@6 W X ~
>`.pickRestart({
  A: "~@10 b4 ~ a4 ~ g4 ~, ~@20 b5 ~@3 a5 ~@3 g5 ~@3", B: "~@2 d4 ~ c4 ~ [b3,b4] ~@9, ~@4 d5 ~@3 c5 ~@23",
  C: "~@10 [e4,e5] ~ [g4,g5] ~ [c5,c6]@2", D: "~@20 [b4,b5]@3 ~ [g4,g5]@3 ~ [d4,d5]@4",
  E: "[~@20 b5@3 ~ a5@3 ~@9 d4@6 ~@22, ~@28 g5@9 ~@27, ~@32 g4@9 ~@23]/2", F: "[g4,b4] ~ b3 c4",
  G: "[d4@21 ~@3 b3@4 g4@4]/2", H: "f#4@3 e4", I: "[d4@16 [c4,c5]@4 [b3,b4]@8 [a3,a4]@27 ~ [b3,b4]@8]/2",
  J: "[c4,c5]@3 [f#4,f#5]", K: "[a3,a4]@11 ~ [f#4,f#5]@4", L: "[d4,d5]@3 [c4,c5]", M: "[b3,b4]@3 [c4,c5]@3 [d4,d5]@2",
  N: "[g4,g5]@3 [a4,a5]", O: "[b4,b5]", P: "[g4,g5]@3 [b4,b5]", Q: "[a4,a5]@3 [g4,g5]",
  R: "[[f#4,f#5]@2 [d4,d5]@5 [e4,e5]]/2", S: "[f#4,f#5]", T: "[d4,d5]@3 [a4,c5,a5,c6]",
  U: "[g4,b4,g5,b5]@3 [a4,c5,a5,c6]", V: "[b4,d5,b5,d6]", W: "~@10 d5 ~ b4 ~ a4 ~, ~@20 d6 ~@3 b5 ~@3 a5 ~@3",
  X: "[g4,g5]", // G
})).s("gm_pad_new_age").gain(0.33).pan(0.7)

// chords · epiano2 · "E.PIANO 2"
const epiano2 = note(`<
  A@2 B@2 C@2 D@2 E ~@21 F@3 G@2 H@2 I@2 J@2 K L@2 M N O P@2 B@2 C@2 D@2 E ~@21 F@3 G@2 H@2 I@2 J@2 K L@2 M N O P@2 B@2
  C@2 D@2 E ~@2
>`.pickRestart({
  A: "[~@8 g4@2 [g4,b4]@2 [a4,c5] [g4,b4]@3, ~@15 [g2,d3]@17, ~@15 b3@9 ~@8, ~@31 g3@32 ~, ~@31 d4@9 d4@24]/2", // G Am G G5
  B: "[[f#4,a4]@4 ~@8 a4@7 ~@9 d4@29 ~@7, ~ d4@4 ~ f#4@8 ~@2, ~@2 f#4@3 a4@9 ~@2]/2", // F#m
  C: "[~@6 b4@3 ~@7 d4@12 ~@4, ~ d4@4 ~ g4@8 ~@2, ~@2 g4@3 b4@9 ~@2]/2",
  D: "[~@12 a4@7 ~@9 d4@27 ~@9, ~@4 d4@15 ~@5 f#4@31 ~@9, ~@8 f#4@11 ~ a4@35 ~@9]/2",
  E: "~@3 b4@4 ~, ~ d4@4 ~@3, ~ g4@2 ~",
  F: "[~@32 d#4@17 ~@11 c5@18 ~@6 d#4@4 ~@4 c5@4, ~@20 e4@8 c5@22 ~@6 g4@23 ~@9 g4@8, ~@12 g4@13 ~ d#4@4 ~@18]/3",
  G: "[d4@19 ~@9 d4@20 ~@16, ~@20 b4@19 ~@25, ~@6 g4@3 ~@7]/2",
  H: "[~@24 d4@11 ~@21 d4@8, ~@4 d4@17 ~@15 d4@16 ~@12, ~@8 f#4@9 ~@3 f#4@12 ~@8 f#4@8 ~@4 f#4@11 ~, ~@12 a4@21 ~@11 a4@18 ~@2]/2",
  I: "[~@24 d4@9 ~@11 b4@18 ~@2, ~@4 d4@17 ~@15 d4@14 ~@14, ~@8 a4@11 ~ g4@16 ~@4 g4@22 ~@2, ~@3 b4@6 ~@7]/2",
  J: "[~@7 d#4, ~@20 e4@8 c5@13 ~@3 c5@19 ~, ~@6 g4@4 g4@2 ~ g4@3, ~@8 d#4@5 ~@3]/2",
  K: "~@3 d#4, ~@4 d#4@17 ~@11, ~@8 g4@9 ~@3 g4@12, ~@3 c5@5",
  L: "[~@6 b4@3 ~@5 d4@3 ~@11 d4@4, ~@4 d4@17 ~@3 g4@12 d4@16 ~@12, ~@8 g4@9 ~@3 b4@17 ~@3 g4@9 ~@3 g4@12, ~@11 b4@5]/2",
  M: "~@5 f#4 d4@2, ~ d4@4 ~@3, ~ f#4 ~@2, ~@3 a4@3 ~@2", N: "~@3 d4, ~ d4@4 ~@3, ~@8 f#4@9 ~@3 f#4@11 ~, ~@12 a4@19 ~",
  O: "~@20 e4@4 c4@4 e4@3 ~, ~ c4@4 ~@3, ~@8 e4@9 ~@15, ~@12 a4@19 ~",
  P: "[~@8 g4@4 ~@12 d4@15 ~ [g4,b4]@8 [a4,c5]@4 [g4,b4]@12, b3@25 ~@15 d4@24, ~@4 d4@15 ~ g4@19 ~@25, ~@6 b4@13 ~@13]/2", // G Am G
})).s("gm_epiano2").gain(0.27)

// other · marimba
const marimba = note(`<
  ~ A B C D E F G H I J K ~ L M N O P Q ~ J K ~ L M N O P Q ~ R S T U@2 V W U X Y T@2 Z U V@2 AA U AB B C D E F G H I J
  K ~ L M N O P Q ~ J K ~ L M N O P Q ~ R S T U@2 V W U X Y T@2 Z U V@2 AA U AB B C D E F G H AC ~
>`.pickRestart({
  A: "~@8 b4 g4 b4 g4 b4 g4 b4 g4 c5 a4 c5 a4 c5 a4 b4 g4 [g4,b4] b4 g4 b4 g4 b4 g4 ~", // G
  B: "a4 f#4 a4 [f#4,a4] f#4 a4 f#4 a4 f#4 [f#4,a4] a4 f#4 a4 f#4 a4 [f#4,a4] f#4 a4 f#4 a4 f#4 a4 f#4 a4 f#4 b4 g4 b4 g4 b4 g4 b4", // F#m
  C: "g4 c5 a4 c5 a4 c5 a4 c5 [a4,c5] a4 c5 a4 c5 a4 c5 a4 b4 g4 b4 g4 a4 f#4 a4 f#4 a4 f#4 a4 f#4 a4 f#4 [f#4,a4] ~", // Am F#m
  D: "b4 g4 b4 g4 b4 g4 b4 g4 b4 [g4,b4] g4 b4 g4 b4 g4 b4 [g4,b4] ~ [g4,b4] g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 [g4,b4]", // G
  E: "~ [g4,b4] g4 b4 g4 b4 ~@2 d5 b4 d5 [b4,d5] ~ [b4,d5] ~ [b4,d5] ~ e5 c5 [c5,e5] ~ d5 b4 d5 b4 d5 b4 d5 b4 d5 b4 d5", // G Bm C
  F: "c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 c5 a4 d5 ~ b4 d5 b4 d5 [b4,d5] ~", // Bm
  G: "e5 c5 e5 c5 ~ [c5,e5] e5 ~ [c5,e5] ~ c5 e5 [c5,e5] c5 e5 ~ d5 b4 d5 b4 c5 ~ c5 a4 c5 a4 c5 a4 c5 [a4,c5] ~ [a4,c5]", // C Am
  H: "~ b4 g4 b4 g4 b4 g4 [g4,b4] b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 [g4,b4] ~ [g4,b4] g4 b4 g4 b4 g4 b4", // G
  I: "g4 b4 g4 b4 [g4,b4] g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 g4 b4 [g4,b4] g4 b4 g4 b4 ~@4", // G
  J: "~@16 [g4,b4] ~@3 [d4,g4] ~@9 d5 b4", // G G5
  K: "d5 [b4,d5] b4 d5 [b4,d5] b4 d5 [b4,d5] b4 d5 b4 [b4,d5] d5 b4 d5 b4 [b4,d5] ~ [b4,d5] d5 b4 d5 b4 d5 [b4,d5] b4 d5 b4 ~@4", // Bm
  L: "~@8 [f#4,a4] ~@3 [f#4,a4] ~@3 [f#4,a4] ~@3 [g4,b4] ~@8 c5 a4 c5", // F#m G
  M: "a4 [a4,c5] ~ [a4,c5] c5 a4 c5 a4 c5 [a4,c5] a4 c5 a4 c5 a4 c5 a4 c5 [a4,c5] a4 c5 a4 c5 a4 c5 a4 c5 ~@5", // Am
  N: "~@4 [f#4,a4] ~@3 [f#4,a4] ~@3 [f#4,a4] ~@3 [f#4,a4] ~@3 [g4,b4] ~@7 [a4,c5] ~@3", // F#m G Am
// … 90 more lines

More by Alain Barriere