Strudelify

Manureva

Alain Chamfort

KeyE minorTempo132 bpm
0:00/0:00
// Manureva — Alain Chamfort
// 132 bpm, 4/4, key E minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 156 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(132/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 · epiano1 · "Piano Fender"
const epiano1 = note(`<
  A@2 B@2 A@2 B@2 C@2 D@2 E@2 F G H I J@2 K@2 F G L M N O P Q D@2 E@2 F G R S T@2 U@2 F G V W@2 X@2 Y@2 Z@2 AA@2 X@2
  AB@2 AC@2 AD@2 AE AF AG AH@2 AI@2 AJ AK D@2 E@2 F G H I J@2 K@2 F G L M N O P Q J@2 K@2 F G V W@2 X@2 Y@2 Z@2 AA@2 X@2
  AB@2 AC@2 AD@2 AE AF AG AH@2 AI@2 AJ AK D@2 E@2 F G H I J@2 K@2 F G L M N O L M N O L M N O P Q AL@2
>`.pickRestart({
  A: "[b2,b3,c4,e4,a4]/2", B: "[b2,a3,d#4,f#4,a4]/2", C: "[[e3,f#3,b3]@15 ~]/2", D: "[b3@2 c4 b3, [e3,g3]]/2",
  E: "[[c4,e4,a4]@11 ~ [a3,c4,e4,a4]@4]/2", F: "[e4,f#4,b4]", G: "[f#3,b3,d#4]@15 ~",
  H: "~@8 b4 ~@3 b4@2 b4@2, [f#3,b3,e4]@15 ~", I: "~ b4 a4 g4 a4 [d#4,f#4,b4]@2 e4, [f#3,b3,d#4]@5 ~@3",
  J: "[b4@2 c4 b3, [e4,g4]]/2", K: "[[c4,e4]@11 ~ [a3,c4,e4]@4, a4]/2", L: "[g3,b3,e4] [e4,g4,b4]",
  M: "[e4,g4,c5] [e4,g4,b4]", N: "[c#4,e4,g4,a#4]", O: "[c4,e4,a4]", P: "[b3,e4,f#4]", Q: "[b3,d#4,f#4] [f#3,b3,d#4]",
  R: "[f#3,b3,e4]@15 ~", S: "~@4 a4 [d#4,f#4]@2 e4, [f#3,b3,d#4]@5 b4@3", T: "[[g3,b3,e4] e4 c4 b3, ~ [g4,b4]@3]/2",
  U: "[[c4,e4,a4]@23 ~ [a3,c4,e4]@8]/2", V: "[e4,g4,b4]@3 [g4,b4,e5]@5",
  W: "[[b4,e5,g5]@5 ~ [e5,g5,b5]@8 ~@2 e6@16, ~@15 [g5,b5]@16 ~]/2", // Em G
  X: "[[g5,b5,d6]@15 ~ [a5,c#6]@14 ~@2, ~@15 e5@15 ~@2]/2", Y: "[[e5,a5,c6]@15 ~ e6@16, ~@15 [g5,b5]@16 ~]/2",
  Z: "[[g5,b5,d6]@15 ~ [a5,c#6]@16, ~@15 e5@17]/2", AA: "[[e5,a5,c#6]@15 ~ e6@16, ~@15 [g5,b5]@16 ~]/2",
  AB: "[[e5,a5,c6]@15 ~ d6@16, ~@15 [f#5,a5]@16 ~]/2", AC: "[[f#5,b5,d6]@15 ~ [g5,c6]@16, ~@15 e5@16 ~]/2",
  AD: "[[c5,e5,a5]@15 ~ a5@16, ~@15 [d5,f#5]@16 ~]/2", AE: "[d5,f#5,b5]@15 ~", AF: "[e5,g5,b5]", AG: "[c5,e5,a5]",
  AH: "[[b3,e4] c4, [f#4,b4]@15 ~]/2", AI: "[[b3,e4]@16 c4@15 ~, [f#4,b4]@31 ~]/2", AJ: "[e4,f#4,b4]@7 ~, b3",
  AK: "[d#4,f#4,b4]@2 b3@2 d#4@2 [b3,d#4,g4]@3 ~ [b3,f#4]@2 d#4@2 b3@2, ~@5 [d#3,f#3]@3", AL: "[e3,g3,b3]/2",
})).s("gm_epiano1").gain(0.23).pan(0.2)

// bass · electric bass finger · "Basse"
const bass = note(`<
  A@10 B@2 C@2 A@4 B@2 C@2 A@2 B@2 D E F G B@2 C@2 A@4 B@2 C@2 A@2 B H I J K L I J K@2 I J K M N O P@2 N O P@2 A@5 Q B@2
  C@2 A@3 Q B@2 C@2 A@2 B@2 R E F S B@2 C@2 A@2 B T I J K L I J K@2 I J K M U V W@2 U V W@2 A@5 X B@2 C@2 A@3 Q B@2 C@2
  A@2 B@2 R E B@2 R E B@2 R E F S Y@2
>`.pickRestart({
  A: "b1 ~ b1 ~ b1 ~ b1 ~", B: "e1 ~ e1 ~ e1 ~ e1 ~", C: "a1 ~ a1 ~ a1 ~ a1 ~", D: "g1 ~ g1 ~ g1 ~ g1 ~",
  E: "b1@2 ~@2 b1@3 ~ b1@2 ~@2 b1@2 ~@2", F: "b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 b1@3 ~", G: "b1@3 ~ b1@3 ~ b1@3 ~ b1@3 ~",
  H: "e1@2 d3 ~ e1@2 ~@2 e1@2 a2 ~ e1@2 ~@2", I: "e1@2 e2@2 b1@2 d2@2 e1@2 e2@2 e1@2 f#1 ~",
  J: "g1@2 g2@2 d2 ~ e2 ~ g1 ~ g2 ~ g1@2 g#1 ~", K: "a1 ~ a1@2 e2@2 g2@2 a1 ~ a1@2 e2@2 g2@2",
  L: "a1@2 a2 ~ b1@2 b2 ~ c2@2 c3 ~ d2@2 d3 ~", M: "a1@2 a2 ~ b1@2 b2 ~ c2@2 c2@2 a1@2 a1@2",
  N: "d2@2 d3!2 d2@2 d3 ~ d2@2 d3@2 d2@2 d3 ~", O: "d2@2 d3!2 d2@2 d3@2 d2@2 d3 ~ d2@2 d3 ~",
  P: "c2@2 c3!2 c2@2 c3 ~ c2@2 c3 ~ c2@2 c3 ~", Q: "b1@2 ~@2 a1@3 ~ g1@3 ~ f#1@3 ~", R: "g1 ~ g1 ~ g1 ~ g1@2",
  S: "b1@2 ~@2 b1@2 ~@2 b1@2 ~@2 g1@3 ~", T: "e1@2 d3 ~ e1@2 a2 ~ e1@2 e2 ~ e1@2 b1 ~, e3 ~@3 b2 ~@3 g2 ~@3 d2 ~@3",
  U: "d2@2 [d3,f#3] d3 d2@2 [d3,f#3] ~ d2@2 d3@2 d2@2 f#3@2, ~@4 e3 ~@5 f#3 ~ e3 ~ d3 ~", // D
  V: "d2@2 [d3,f#3] d3 d2@2 d3@2 d2@2 [d3,f#3] ~ d2@2 [d3,f#3] ~, ~@4 e3 ~ f#3 ~@5 e3 ~@3", // D
  W: "c2@2 [c3,e3] c3 c2@2 [c3,e3] ~ c2@2 [c3,e3] ~ c2@2 [c3,e3] ~, ~@4 d3 ~@7 d3 ~@3", // C
  X: "b1@2 ~@2 a1@2 ~@2 g1@3 ~ f#1@3 ~", Y: "e1/2",
})).s("gm_electric_bass_finger").gain(0.49)

// chords · electric guitar muted · "Gtr Mute"
const electric_guitar_muted = note(`<
  ~@24 A B C D E F ~@42 G H I J K L M N O P Q R S T A B C D E F O P Q R S T ~@28 G H I J K L M N O P Q R S T A B C D U B
  C D U B C D E F ~@2
>`.pickRestart({
  A: "[e3,b3] ~ [e3,b3] ~@7 [e3,b3] ~@5", B: "[e3,b3] ~ [e3,b3] ~@7 [e3,b3] ~@3 [e3,b3] ~",
  C: "~@2 [g3,b3] ~ [g3,b3] ~@5 [g3,b3] ~@3 [g3,b3] ~", D: "~@2 [f#3,b3] ~ [f#3,b3] ~@5 [f#3,b3] ~@3 b2 ~",
  E: "b2 ~ b2 ~@5 [f#3,b3] ~@7", F: "b2 ~ b2 ~@7 b2 ~@3 b2 ~", G: "[b3,e4] ~ [b3,e4] ~@11 b3 ~",
  H: "[b3,e4] ~ [b3,e4] ~@7 [b3,e4] ~@3 [b3,e4] ~", I: "~@2 [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~@7",
  J: "~@2 [e3,a3] ~ [e3,a3] ~ [e3,a3] ~ [e3,a3] ~@3 [e3,a3] ~ [e3,a3] ~", K: "[f#3,b3] ~ [f#3,b3] ~@11 b2 ~",
  L: "[f#3,b3] ~ [f#3,b3] ~@11 f#4 ~", M: "[f#3,b3] ~ [f#3,b3] ~@11 d#4 ~",
  N: "[f#3,b3] ~ [f#3,b3] ~@7 [f#3,b3] ~@3 [f#3,b3] ~", O: "[g3,b3] ~ [g3,b3] ~@7 [e4,b4] ~@3 [e4,b4] ~",
  P: "[e4,b4] ~ [e4,b4] ~@7 [e4,g4] ~@3 [e4,g4] ~", Q: "[e3,a3] ~ [e3,a3] ~@11 e3 ~", R: "[e3,a3] ~ [e3,a3] ~@11 e4 ~",
  S: "[f#3,b3] ~ [f#3,b3] ~@7 b2 ~ b2 ~@3", T: "[f#3,b3] ~ [f#3,b3] ~@3 b2 ~@3 [f#3,b3] ~ b2 ~ [f#3,b3] ~",
  U: "[b2,e3,b3] ~ [e3,b3] ~@7 [e3,b3] ~@5", // E5
})).s("gm_electric_guitar_muted").gain(0.26).pan(0)

// chords · pad sweep · "Sweep Pad"
const pad_sweep = note(`<
  A@8 B@2 C@4 D@4 C@4 E@2 F@3 G H@2 C@4 D@4 C@4 E@2 I@2 J@2 K@2 J@2 L@2 J@2 K@2 M@2 N@2 M@2 N@2 O@6 C@4 D@4 C@4 E@2 F@3
  G H@2 C@4 E@2 I@2 J@2 K@2 J@2 L@2 J@2 K@2 M@2 N@2 M@2 N@2 O@6 C@4 D@4 C@4 E@2 F@3 G F@3 G P@3 G H@2 Q@2
>`.pickRestart({
  A: "[e5 d#5 e5 d#5, [a4,b4]]/8", B: "[a4,b4,e5]/2", C: "[b4@16 c5@7 b4@8 c5@32 ~, e5]/4",
  D: "[e5@8 d#5@8 e5@8 d#5@7 ~, b4@63 ~]/4", E: "[e5@8 d#5@7 ~, b4@31 ~]/2",
  F: "[[e4,g4,b4]@8 b4@7 c5@8 b4@8 ~ [c#4,a#4]@16, ~ g4@5, ~ e4@3 ~@2]/3", G: "[c4,e4,a4]",
  H: "[e4@16 d#4@15 ~, [f#4,b4]@15 ~]/2", I: "[e4,g4,b4]/2", J: "[e6@16 d6@15 ~, [g5,b5]@15 ~]/2",
  K: "[c#6@15 c6@16 ~, [e5,a5]]/2", L: "[e5,a5,c#6]/2", M: "[a5 b5, [f#5,d6]]/2", N: "[g5@15 a6@16 ~, [c6,e6]]/2",
  O: "[a4,b4,e5]/6", P: "[[e4,g4,b4] b4 c5 b4 [c#4,a#4]@2, ~ g4@5, ~ e4@3 ~@2]/3", Q: "[b4,e5]/2",
})).s("gm_pad_sweep").gain(0.09).pan(0.2)

// other · clavinet
const clavinet = note(`<
  ~@8 A@2 B C@3 D E F G H I J@2 D K ~@4 A@2 B C@3 D E F G H I J@2 D K ~@2 L@2 M N L@2 M@2 L@2 M N O@2 P@2 O@2 P@2 A@6 B
  C@3 D E F G H I J@2 D K ~@4 A@2 H I J@2 D K ~@2 L@2 M N L@2 M@2 L@2 M N O@2 P@2 O@2 P@2 A@6 B C@3 D E F G H I J@2 D K
  ~@12 A@2 ~@2
>`.pickRestart({
  A: "~@2 e3 ~@7 e3 ~@5", B: "~@2 e3 ~@11 e3 ~", C: "~@6 e3 ~@7 e3 ~", D: "e3 ~ e3 ~@5 e3 ~ e3 ~@3 e3 ~",
  E: "d#3 ~ d#3 ~@3 d#3 ~ d#3 ~@3 d#3 ~ d#3 ~", F: "e3 ~ e3 ~@5 e3 ~ e3 ~@5", G: "d#3 ~ d#3 ~@7 d#3 ~ d#3 ~ d#3 ~",
  H: "~@4 e3 ~@9 e3 ~", I: "~@6 e3 ~@9", J: "~@2 e3 ~@3 e3 ~@7 e3 ~", K: "d#3 ~ d#3 ~@5 d#3 ~ d#3 ~@5", L: "b3!16",
  M: "c#4!16", N: "c4!16", O: "d4!16", P: "e4!16",
})).s("gm_clavinet").gain(0.36)

// chords · synth strings 1 · "Nappes"
const synth_strings_1 = note(`<
  A@2 B@2 A@2 B@2 C@2 D@2 E@2 F@4 D@2 E@2 G@2 H@3 I J@2 D@2 E@2 F@4 D@2 E@2 G@2 K@2 L@2 M@2 L@2 N@2 L@2 M@2 O@2 P I Q@2
  P I R S R S R T D@2 E@2 F@4 D@2 E@2 G@2 H@3 I J@2 D@2 E@2 G@2 K@2 L@2 M@2 L@2 N@2 L@2 M@2 O@2 P I Q@2 P I R S R S R T
  D@2 E@2 F@4 D@2 E@2 G@2 H@3 I H@3 I H@3 I J@2 K@2
>`.pickRestart({
  A: "[a3,b3,e4]/2", B: "[a3,b3,d#4]/2", C: "[e3,f#3,b3]/2", D: "[b3@2 c4 b3, [e3,g3]]/2", E: "[e3,a3,c4]/2",
  F: "[e3@16 d#3@16 e3@15 d#3@16 ~, [f#3,b3]]/4", G: "[e3 d#3, [f#3,b3]]/2", H: "[b3@2 c4 b3 a#3@2, [e3,g3]]/3",
  I: "[e3,a3,c4]", J: "[f#3,b3]/2", K: "[g3,b3,e4]/2", L: "[e4 d4, [g3,b3]]/2", M: "[c#4 c4, [e3,a3]]/2",
  N: "[e3,a3,c#4]/2", O: "[a3 b3, [d3,f#3]]/2", P: "[g3,c4,e4]", Q: "[a3 b3, [f#3,d4]]/2", R: "[e3,f#3,b3]",
  S: "[e3,f#3,c4]", T: "[d#3,f#3,b3]@7 ~",
})).s("gm_synth_strings_1").gain(0.28).pan(0.8)

// other · synth strings 1 · "Syn.Strings"
const synth_strings_1_2 = note(`<
  ~@8 A B C D E F G H B I J K L M N O P@4 A Q C D E F G H B I J K L M N O R@2 ~@20 S T S T S U V W E F X Y Z I AA AB L M
  AC AD R@2 ~@2 A Q AA AB L M AC AD R@2 ~@20 S T S T S U V W E F X Y Z I AA AB L M AC AD R@2 ~@14
>`.pickRestart({
  A: "b3 ~ e4@2 f#4@2 g4 ~ a4@2 g4@2 f#4@2 e4@2", B: "b3@2 e4@2 f#4@2 g4@2 a4@2 g4 ~ f#4@2 e4@2",
  C: "b3@2 e4 ~ f#4@2 g4 ~ a4@2 g4@2 f#4@2 e4@2", D: "c4@2 e4 ~ f#4@2 g4@2 b3@2 e4@2 f#4@2 g4@2",
  E: "c4@2 e4@2 f#4@2 g4 ~ a4@2 g4@2 f#4@2 e4 ~", F: "c4@2 e4@2 f#4@2 g4 ~ a4@2 g4 ~ f#4@2 e4 ~",
  G: "b3 ~ e4@2 f#4@2 g4 ~ a4@2 g4 ~ f#4@2 e4@2", H: "b3 ~ d#4@2 f#4@2 g4 ~ a4@2 g4@2 f#4@2 d#4@2",
  I: "b3@2 d#4@2 f#4@2 g4 ~ a4@2 g4@2 f#4@2 d#4@2", J: "b3 ~ e4 ~ f#4@2 g4 ~ a4@2 g4@2 f#4@2 e4@2",
  K: "c4@2 e4@2 f#4@2 g4 ~ b3@2 e4@2 f#4@2 g4@2", L: "c4 ~ e4@2 f#4@2 g4 ~ a4@2 g4@2 f#4@2 e4@2",
  M: "c4 ~ e4@2 f#4@2 g4@2 a4@2 g4 ~ f#4@2 e4@2", N: "b3@2 e4 ~ f#4@2 g4 ~ a4@2 g4 ~ f#4@2 e4@2",
  O: "b3 ~ d#4@2 f#4@2 g4@2 a4@2 g4@2 f#4@2 d#4@2", P: "[e4@31 ~]/4", Q: "b3@2 d#4@2 f#4@2 g4@2 a4@2 g4 ~ f#4@2 d#4 ~",
  R: "[e4@31 ~]/2", S: "b3 e4 f#4 g4 a4 g4 f#4 e4", T: "c4 e4 f#4 g4 a4 g4 f#4 e4",
  U: "b3@2 d#4@2 f#4@2 g4@2 a4@2 g4@2 f#4@2 d#4 ~",
  V: "[b3,e4] g4 [f#4,a4] b4 [a4,c5] [g4,b4] [f#4,a4] [e4,g4], ~@2 e4 ~@3 g4 ~@9", // E5 F#m Am G F#m Em
  W: "[c4,e4] g4 [f#4,a4] [g4,b4] [b3,e4] [e4,g4] [f#4,a4] [g4,b4], ~@2 e4 ~@13", // C F#m G E5 Em F#m G
  X: "e4 [e4,f#4] [f#4,a4] b4 [a4,c5] b4 [f#4,a4] [e4,g4], b3 ~@5 g4 ~@3 g4 ~@5", // Esus2 F#m Am F#m Em
  Y: "d#4 [d#4,f#4] [f#4,a4] b4 [a4,c5] [g4,b4] [f#4,a4] [d#4,f#4], b3 ~@5 g4 ~@9", // D#m F#m Am G F#m D#m
  Z: "[b3,e4] [e4,g4] [f#4,a4] [g4,b4] [a4,c5] b4 [f#4,a4] [e4,g4], ~@10 g4 ~@5", // E5 Em F#m G Am F#m Em
  AA: "e4 g4 [f#4,a4] b4 [a4,c5] [g4,b4] [f#4,a4] [e4,g4], b3 ~ e4 ~@3 g4 ~@9", // F#m Am G F#m Em
  AB: "[c4,e4] [e4,g4] [f#4,a4] b4 [b3,e4] [e4,g4] [f#4,a4] [g4,b4], ~@6 g4 ~@9", // C Em F#m E5 Em F#m G
  AC: "[b3,e4] g4 [f#4,a4] b4 [a4,c5] b4 [f#4,a4] [e4,g4], ~@2 e4 ~@3 g4 ~@3 g4 ~@5", // E5 F#m Am F#m Em
  AD: "d#4 [d#4,f#4] [f#4,a4] [g4,b4] [a4,c5] [g4,b4] [f#4,a4] [d#4,f#4], b3 ~@15", // D#m F#m G Am G F#m D#m
})).s("gm_synth_strings_1").gain(0.32).pan(0.8)

// chords · marimba
const marimba = note(`<
  A@10 B@2 C@2 A@4 B@2 C@2 A@2 B@2 D E A@2 B@2 C@2 A@4 B@2 C@2 A@2 B@2 F G H I F G H@2 F G H I J G I K J G I K A@6 B@2
  C@2 A@4 B@2 C@2 A@2 B@2 D E A@2 B@2 C@2 A@2 B@2 F G H I F G H@2 F G H I J G I K J G I K A@6 B@2 C@2 A@4 B@2 C@2 A@2
  B@2 D E B@2 D E B@2 D E A@2 ~@2
>`.pickRestart({
  A: "[f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~ [f#4,a4,b4] ~", // B7
  B: "[e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~ [e4,g4,b4] ~", // Em
  C: "[e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~ [e4,a4,b4] ~", // Esus4
  D: "[e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~ [e4,g4,a#4] ~", // Edim
  E: "[c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~ [c4,e4,a4] ~", // Am
  F: "[b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~ [b3,e4] ~", // E5
  G: "[b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~ [b3,d4] ~", // Bm
  H: "[a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~ [a3,c#4] ~", // A
  I: "[a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~ [a3,c4] ~", // Am
  J: "[a3,d4] ~ [a3,d4] ~ [a3,d4] ~ [a3,d4] ~ [a3,d4] ~ [a3,d4] ~ [a3,d4] ~ [a3,d4] ~", // D5
  K: "[c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~ [c4,e4] ~", // C
})).s("gm_marimba").gain(0.17).pan(1)

// other · synth drum · "El. Toms"
const synth_drum = note("<A@3 B A@3 B ~@38 C@12 D@8 ~@34 C@12 D@8 ~@36>".pickRestart({
  A: "~@8 b5@3 ~@5", B: "~@8 b5@3 ~ b6@3 ~", C: "~@12 b5@3 ~", D: "~@12 b6@3 ~",
})).s("gm_synth_drum").gain(0.45).pan(0.2)

// other · french horn · "Horns"
const french_horn = note(`<
  ~@49 A B ~ C@2 D ~@2 A E@2 F G H@2 F G I@4 ~@33 A B ~ C@2 D ~@2 A E@2 F G H@2 F G I@4 ~@32
>`.pickRestart({
  A: "a4 b4 a4 g4 e4@2 d4@2", B: "e4@15 ~", C: "[e4,a4] ~@15", D: "[b3,e4] ~@15", E: "d4/2", F: "e4 f#4", G: "g4 a4",
  H: "f#4/2", I: "f#4/4",
})).s("gm_french_horn").gain(0.49)

// other · pad poly · "Polysynthé"
const pad_poly = note("<A B C ~ D B E F ~@148>".pickRestart({
  A: "a3@2 b3@2 ~@2 [e3,e4] ~, a2 ~ b2 ~@5", B: "[d#3,d#4]@2 ~@6 [b3,b4]@2 ~@2 [a2,a4]@3 ~",
  C: "[c3,c5] [b2,b4] a4 [b2,b4] ~@4, ~@4 a2 ~@11", D: "[a2,a3]@3 ~ [b2,b3]@3 ~@5 [e3,e4]@2 ~@2",
  E: "c5 b4 a4 b4 ~@4, c3 ~ b2 ~ a2 ~ b2 ~@9", F: "~@4 c5 b4 a4 b4, ~@8 c3 ~ b2 ~ a2 ~ b2 ~",
})).s("gm_pad_poly").gain(0.45)

// drums · kick
const kick = s("bd").struct(`<
  A@9 B A@13 B A@5 B A@7 B A@5 B A B C@11 D C@8 A@5 B A@13 E A@5 B A@5 E A B C@11 D C@8 A@5 B A@7 B A@5 E A@7 B A@5 B F
  ~
>`.pickRestart({
  A: "x!2", B: "x ~@3 x ~@2 x", C: "x!4", D: "x ~ x ~ x!4", E: "x ~@3 x ~ x!2", F: "x",
})).gain(0.72)

// drums · snare
const snare = s("sd").struct(`<
  A@17 B A@5 C A@5 D A@13 C A D A@12 C@8 A@5 D A@7 B A@5 E A@5 F A@5 E A D A@11 G A@13 E A@7 B A@5 G A@7 F A@5 H ~@2
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@2 x!2 ~", C: "~ x ~@2", D: "~@2 x ~@2 x!3", E: "~@4 x ~@2 x!2 ~ x ~@5",
  F: "~@4 x ~@3 x!2 ~@6", G: "~@2 x ~ x!4", H: "~@4 x ~@2 x!3 ~ x ~@3 x",
})).gain(0.64)

// drums · clap
const clap = s("cp").struct("<~@44 A@2 B@12 ~@40 A@2 B@12 ~@28 A@3 C A@3 C A@3 C A C ~@2>".pickRestart({
  A: "~ x ~ x", B: "~ x ~@2", C: "~@2 x ~@2 x!2 ~",
})).gain(0.64)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@9 A ~@7 A ~@5 B ~@13 C ~@5 B ~@41 D ~@5 D ~@5 D ~@27 A ~@21 D ~@5 D ~@2
>`.pickRestart({
  A: "~@7 x", B: "~@12 x!3 ~", C: "~@5 x!3", D: "~@6 x!2",
})).gain(0.48)

// … 81 more lines

More by Alain Chamfort