Strudelify

Rien Que D'y Penser

Axelle Red

KeyG majorTempo112 bpm
0:00/0:00
// Rien Que D'y Penser — Axelle Red
// 112 bpm, 2/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 174 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(112/2)

// 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 · acoustic guitar steel · "Steel Gtr"
const acoustic_guitar_steel = note(`<
  A@7 B@8 C@2 D@2 E@2 F@2 G@2 H I J K@2 L M N@4 O P@2 Q R@2 S T U@2 V W X Y Z AA AB@2 AC@2 AD@4 AE@3 I J K@2 L M AF@4
  AG@3 Q AH AI S T AJ@2 AK@2 AL AM AN@2 AL AO AP@2 AQ AR AS@2 AT@3 I J K@2 L M AF@4 AG@3 Q AH AI S T AU@6 AV@5 AW J K@2
  L M AF@4 AG@3 Q AX@3 J K@2 L M AY@4 AG@3 Q AH AI S AZ BA@2 BB AZ BC@6 ~
>`.pickRestart({
  A: "[~@8 d4@3 ~ a3@7 ~ g3@4 d4@4 a3@8 g3@3 ~ d4@3 ~ a3@7 ~ g3@3 ~ f#3@4 g3@7 ~ g3@4 d4@4 a3@7 ~ g3@4 d4@4 a3@7 ~ g3@3 ~ d4@4 a3@4]/7",
  B: "[~@4 g3@4 f#3@4 g3@11 ~ d4@4 a3@8 g3@4 d4@4 a3@8 g3@3 ~ d4@3 ~ a3@7 ~ g3@3 ~ f#3@4 g3@7 ~ g3@4 d4@4 a3@7 ~ g3@4 d4@4 a3@7 ~ g3@3 ~ d4@4 a3@4]/8",
  C: "[~@4 g3@4 f#3@4 g3@7 ~ g3@7 ~@5]/2", D: "[~@2 g3 ~ g3 d4 g3 d4, g4@7 ~@25, ~@4 d4@7 ~ e4@11 ~@9]/2",
  E: "[c4 ~@6 d4, ~@2 e3@7 ~ d3@6, ~@8 g3@13 ~@3 a3@8, ~@12 c4@11 ~@9]/2",
  F: "[~@4 d3@4 ~@12 g3 ~@7 d4@3 ~, b3@19 ~@13, g2@12 c3@16 d3 ~@3, ~@8 g3@11 ~@5 g3@7 ~]/2",
  G: "[~@7 g4, d3@12 g2@19 ~, ~ a3@3 d3@4, ~@8 b3@13 ~@3 [g3,d4]@8]/2", H: "~ d3 g2 f#2, [g2,d4]@7 ~ d4@8",
  I: "~ [e3,g3,b3,e4], e2@7 ~", J: "~ e3 ~ e3, e2 b2, ~ [g3,b3,e4]@3",
  K: "[d3@5 ~@23 e4@4, [a3,d4]@19 ~ d4@12, ~@4 d3@7 ~ d3@4, ~@3 f#4@5]/2", // D5
  L: "[g3,b3]@4 e3@2 ~@2 [e3,g3,b3]@7 ~, e4@15 ~, e3 ~@7", M: "e4@3 ~ e4@11 ~, [e3,g3,b3]@15 ~",
  N: "[[d3,a3]@4 a3@2 ~@4 e4@2 ~@4 e3 ~ e3@2 [e3,g3,b3]@4 [e3,g3,b3]@2 e3 ~@3 g3@2, [d4,f#4]@12 [a3,d4,f#4]@20 [g3,b3]@7 ~@13 [g3,b3,e4]@7 ~@5, ~@8 d3@16 d3@8 ~@24 e3@7 ~, ~@28 e4@11 ~ e4@12 ~@12]/4", // D5 Em D G Em
  O: "~@8 d4@7 ~, e3@15 ~, ~@3 f3@2 ~@11, ~ f#3@3",
  P: "[~@2 e4@3 ~@3 e3@2 [e3,g3,b3]@2 [e3,g3,b3,e4]@4, f#3 ~, ~@3 e4@3 ~@2]/2", // Em
  Q: "[g3,b3]@4 e3@3 ~ e3@3 ~ e3@3 ~, e3@2 ~@2 e4@9 ~@3, ~ [g3,b3]", // G
  R: "[d3@2 ~@4 b2 a2, [f#3,a3]@9 ~ [f#3,a3]@6, d4@11 ~ d4@9 ~@11, ~@8 d3@7 ~ d3@8 ~@8]/2", S: "[g2,d3,g3,b3,d4,g4]!2",
  T: "[g2,d3,g3,b3,d4]@2 ~@2 g2@3 ~@5 d3@4, ~@4 [d3,g3,b3,d4,g4]@7 ~@5, ~ g2", // G
  U: "[[g2,d3,g3,b3,d4,g4]@4 [b3,d4,g4]@5 ~@5 [g2,d3,d4]@2, ~@2 [g2,d3]@5 ~, ~@5 [b3,g4]@3, ~@5 d4@2 ~, ~@3 g3]/2", // G G5 Em
  V: "b3@4 d4@3 ~@5 g2@4, g2@5 ~@3, g3@3 ~@5 [b3,d4,g4]@7 ~", W: "~@12 c3@3 ~, c3@8 d4@7 ~, ~@4 g3@11 ~",
  X: "~ a3 ~ d3, [d3,f#3]@8 [f#3,a3,d4]@7 ~", Y: "~ d3 ~ d3, g2, ~ [g3,d4]", Z: "~ g3 ~ g3, b2, ~ [b3,d4]",
  AA: "~@4 g3@4 ~@4 a3@3 ~, c3@15 ~, ~@8 d4@7 ~",
  AB: "[~@4 d4 g3 ~ [g3,b3], g3@15 ~@17, d3 d4 ~ d4, ~@4 f#3@11 ~ d3@16, ~@12 g2@19 ~]/2", // G
  AC: "[d4@8 d4@4 [e3,g3]@8 ~@8 e3@3 ~, [g3,b3]@12 b3@19 ~, ~@5 e4@3, ~@3 g3]/2", // Em G
  AD: "[~@12 f#3@5 ~@7 a3@4 ~@8 d3@4 ~@12 g3 ~@7 d4@3 ~, a2@15 ~@17 g2@12 ~@20, ~@4 e3@11 ~@5 f#3@12 ~@8 [g3,g4]@11 ~@5 g3@7 ~, ~@8 c4@11 ~@9 b3@16 ~@20, ~@12 d3@16 ~@16 [c3,c4]@16 d3 ~@3]/4", // G C
  AE: "[~@16 [g3,b3,d4]@3 ~@17 [b3,d4,g4]@4 g2@4 f#2@4, d3@12 g2@20 g2@7 ~@9, ~@4 a3@11 ~@9 g3@17 ~@7, ~@8 g4@7 ~ g4@6 ~@2 [b3,d4,g4]@11 ~@13]/3", // G
  AF: "[~@8 d4@4 ~@8 e4@4 ~@8 [g3,b3]@7 ~ [e3,g3,b3]@8 [e3,g3,b3]@4 e3@2 ~@6 g3@4, [e3,a3,f#4]@12 ~@16 e4@11 ~ e4@12 ~@12, d4@8 d3@16 d3@8 e3@2 ~@22 e3@7 ~, ~@4 f#3@8 [a3,d4,f#4]@20 ~@20 [g3,b3,e4]@7 ~@5]/4", // G Em F#m7 D Em
  AG: "[[d3,f#3,a3,d4]@7 ~ [d3,f#3,a3]@3 ~ d4@6 ~@2 d4@7 ~@5 e3@4 [e3,g3,b3]@4 [e3,g3,b3,e4]@8, ~@12 [d3,f#3,a3]@15 ~ e4@12 ~@8]/3", // D Em D
  AH: "~@8 d4@7 ~, e3@15 ~, ~@3 f3@8 ~@5, ~ f#3@3", AI: "~@2 b2 a2, d3 ~, ~ [f#3,a3]@3, ~@4 d4@9 ~@3",
  AJ: "[[g2,d3,b3,d4,g4]@19 ~@13, g3@11 ~@21]/2", // G
  AK: "[[g3,b3,d4,g4]@3 ~ [b3,d4,g4]@2 g3 ~ [g3,c4,e4,g4]@3 ~ [e4,g4]@2 [g3,c4] ~, ~@8 g3@2 ~@2 c3@17 ~@3, ~@24 [g3,c4]@3 ~@5]/2", // G C Em C5
  AL: "[a3,d4,f#4]@3 ~ [d4,f#4]@2 a3 ~, d3@3 ~, ~@4 a3 ~@3", // D
  AM: "[g3,b3,d4,g4]@6 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@2 ~@2, g2@7 ~, ~@8 g4@7 ~", // G
  AN: "[[g3,b3,d4,g4]@6 ~@2 [g3,b3,d4]@3 ~ [g3,b3,d4]@3 ~ [g3,c4,e4,g4]@6 ~@2 [g3,c4,e4]@2 ~@2 [g3,c4,e4] ~@3, g2@12 c3@17 ~@3, ~@2 g4 ~@3 g4 ~]/2", // G C
  AO: "[g3,b3,d4,g4]@7 ~ [g3,b3,d4]@3 ~ [g3,b3,d4]@2 ~@2, g2@7 ~, ~@2 g4 ~", // G
  AP: "[[b3,d4,g4]@4 g3@2 ~@2 [g3,b3,d4]@3 ~ [g3,b3,e4]@11 ~ g3@2 ~@2 g3@2 ~@2, g2@11 ~ e3@19 ~, g3@2 ~@6 g4@15 ~ [b3,e4,g4]@7 ~]/2", // G Em
  AQ: "[a3,c4,e4,a4]@3 ~ a3 ~ a3 ~, a2@11 ~@5, ~@8 [c4,e4,a4]@7 ~", // Am
  AR: "[a3,d4,f#4,a4]@7 ~ [f#4,a4]@4 [a3,d4]@2 ~@2, d3, ~@8 [a3,d4]@3 ~@5", // D F#m D5
  AS: "[[b3,g4]@4 g3@2 ~@2 [g3,b3,d4,g4]@2 ~@2 [g3,c4,e4,g4]@9 ~@3 [g3,c4,e4]@2 ~@2 [g3,c4,e4]@2 ~@2, g2@11 ~ c3@18 ~@2, [g3,d4]@3 ~@21 g4@4 ~@4]/2", // Em G C G5
  AT: "[[a3,d4,f#4]@3 ~ a3@2 ~@2 [a3,d4,f#4]@2 ~@2 [b3,d4,g4]@10 ~@2 [g3,b3,d4]@3 ~ g3@2 ~@2 [g3,b3,d4,g4]@7 ~ g2@4 [f#2,g3]@4, d3@11 ~ g2@26 ~@2 g3@2 ~@6, ~@24 g4@4 ~@12 [b3,d4,g4]@7 ~]/3", // D G Gmaj7 G
  AU: "[[g2,d3,b3,d4,g4]@19 ~@5 [b2,d4]@4 a3@8 g3@4 d4@4 a3@8 g3@3 ~ d4@3 ~ a3@7 ~ g3@3 ~ f#3@4 g3@7 ~ g3@4 d4@4 a3@4, g3@11 ~@17 b2@14 ~@2 c3@15 ~ d3@15 ~@21]/6", // G Bm
  AV: "[~@4 g3@4 d4@4 a3@7 ~ g3@3 ~ d4@4 a3@7 ~ g3@4 f#3@4 g3@7 ~ g3@24 ~@4, b2@11 ~ c3@15 ~ d3@15 ~@37]/5",
  AW: "[b2,b3] [e3,g3,b3,e4], e2@7 ~", // B Em
  AX: "[[d3,f#3,a3,d4]@7 ~ [d3,f#3,a3]@3 ~ d4@6 ~@2 d4@7 ~@5 [b2,b3]@8 [e3,g3,b3,e4]@8, ~@12 [d3,f#3,a3]@15 ~ e4@9 ~@11, ~@16 e2@7 ~, ~@32 e3@3 ~@13]/3", // D B Em D
  AY: "[~@8 d4@4 d4@8 ~@12 [e3,g3,b3]@7 ~ [e3,g3,b3]@8 [e3,g3,b3]@4 e3@2 ~@6 g3@4, [e3,a3,f#4]@3 ~@2 d4@5 ~@6, d4@8 d3@16 d3@16 ~@16 e3@7 ~, ~@4 f#3@8 [a3,f#4]@27 ~@13 [g3,b3,e4]@7 ~@5, ~@7 e4@3 e4@3 ~@3]/4", // Em F#m7 D Em
  AZ: "[g2,d3,g3,b3,d4]@2 ~@2 g2@3 ~@5 [d3,d4,g4]@4, ~@4 [d3,g3,b3,d4,g4]@7 ~@5, ~ g2", // G G5 G
  BA: "[~@4 g4@4 ~@19 [d4,g4]@5, [g2,b3,d4]@8 [d3,b3,d4]@11 ~@4 g4@4 ~@5, ~@12 g4@7 ~ d4@7 ~@5, ~@4 c4@3 ~, ~@8 c3@4 c3@3 ~]/2", // G5 G
  BB: "[g2,d3,g3,b3,d4,g4]@4 ~@4 [g2,d3,g3,b3,d4,g4]@5 ~@3", // G
  BC: "[d4@4 g4@3 ~@26 d3@5 ~@12 g4@33 ~@13, [g2,b3]@7 ~ [d3,b3,d4]@8 c3@14 ~@10 g2@8 d4@36 ~@12, ~@12 g4@9 g3@18 ~@3 d3@41 ~@13, ~@27 d4@11 ~@6 g3@39 ~@13, ~@46 b3@37 ~@13]/6", // G
})).s("gm_acoustic_guitar_steel").gain(0.23).pan(0.4)

// bass · acoustic bass · "Ac.Bass"
const bass = note(`<
  ~@9 A B C D E F G H I@2 J C K@2 L@3 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 D B C D E F G H I@2 J C W@2 X@3 M@2 N@2
  O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 Y@2 C D Z@2 G AA I@2 J C K@2 AB@3 M@2 N@2 O@2 P@2 Q@2 R@2 S@2 T@2 U@2 V@2 ~@8 AC M@2
  N@2 O@2 P@2 Q@2 R@2 S@2 R@2 M@2 N@2 O@2 AD@2 Q@2 R@2 S@2 T@2 AE@3 B AE@3 AF@6
>`.pickRestart({
  A: "g1@15 ~", B: "c2@15 ~", C: "d2@7 ~", D: "g2@15 ~", E: "b1@15 ~", F: "c2@7 ~", G: "d2@15 ~", H: "g1@7 ~",
  I: "[g2@6 e2@9 ~]/2", J: "a2", K: "[g2@11 ~ c2@18 ~@2]/2", L: "[d2@12 g2@26 ~@2 g2@4 f#2@3 ~]/3",
  M: "[e2@11 ~ e2@11 ~ b1@6 ~@2]/2", N: "[d2@11 ~ d2@11 ~@2 b1@7]/2", O: "[e2@11 ~@2 e2@11 b1@7 ~]/2",
  P: "[d2@10 ~@2 d2@11 ~ b1@6 ~@2]/2", Q: "[e2@11 ~ e2@19 ~]/2", R: "[d2@10 ~@2 d2@11 ~ b1@7 ~]/2",
  S: "[e2@10 ~@3 e2@17 ~@2]/2", T: "[d2@11 ~ d2@11 ~ b1@3 ~ a1@3 ~]/2", U: "[g1@26 ~@2 g1@3 ~]/2", V: "[g1@31 ~]/2",
  W: "[g1@11 ~ c2@18 ~@2]/2", X: "[d2@12 g2@31 ~ f#2@3 ~]/3", Y: "[g1@12 c2@17 ~@3]/2", Z: "[b1@12 c2@17 ~@3]/2",
  AA: "g2@7 ~", AB: "[d2@12 g2@26 ~@2 g2@3 ~ f#2@3 ~]/3", AC: "~@2 g2 f#2", AD: "[d2@10 ~@2 d2@11 ~@2 b1@7]/2",
  AE: "[g1@47 ~]/3", AF: "[~ c2@21 g1@65 ~@9]/6",
})).s("gm_acoustic_bass").gain(0.3)

// chords · string ensemble 1 · "Strings1"
const string_ensemble_1 = note(`<
  ~@26 A@2 B@2 C@2 D@2 C@2 D@2 A@2 E@2 F@4 ~@12 G@2 H@3 ~@8 C@2 D@2 A@2 E@2 I@3 ~ J@2 K L M@2 N O P@2 Q R S@2 T@3 U@2
  V@2 W@2 V@2 X@2 V@2 Y@2 Z@2 AA@3 ~@17 AB AC@4 AD@2 AE@2 AF@4 AG@4 AH@4 AI@4 AJ@4 AK@3 AL@5 ~
>`.pickRestart({
  A: "[e3,b3]/2", B: "[d3@3 b2, d4]/2", C: "[[e3,b3]@31 ~]/2", D: "[d3@23 ~ b2@8, d4]/2", E: "[[d3,d4]@31 ~]/2",
  F: "[[g2,d4]@31 ~]/4", G: "[g2@11 ~ c3@20]/2", H: "[d3@3 g2@8 ~]/3", I: "[[g2,d4]@3 ~]/3", J: "[g2@12 c3@19 ~]/2",
  K: "d3@15 ~", L: "g2@15 ~", M: "[b2@3 c3@5]/2", N: "d3", O: "g3@15 ~", P: "[g3@11 e3@20 ~]/2", Q: "a2", R: "d3@7 ~",
  S: "[g2@11 c3@20 ~]/2", T: "[~@13 g2@27 ~@8, d3@5 ~]/3", U: "[[b4,e5,g5]@31 ~]/2", V: "[a4,d5,f#5]/2",
  W: "[~ g5@30 ~, [b4,e5]]/2", X: "[~ g5@30 ~, [b4,e5]@31 ~]/2", Y: "[~ [e5,g5]@31, b4@31 ~]/2",
  Z: "[[d5,f#5,a5]@31 ~]/2", AA: "[[d5,g5,b5]@5 ~]/3", AB: "~ b2", AC: "[~ e3@31 d3@24 b2@8]/4", AD: "e3/2",
  AE: "[d3@3 b2]/2", AF: "[~ b4@31 ~@24 b2@8, e3@31 ~ a4@32, ~ e5@47 ~ d5@15, ~@4 d3@3 ~]/4",
  AG: "[[e3,b4]@4 ~@3 b2, e5@47 ~ d5@15 ~, ~@32 a4@31 ~, ~@4 d3@3 ~]/4", // E5
  AH: "[[e3,b4]@4 ~@3 b2, e5@48 d5@15 ~, ~ a4, ~@32 d3@23 ~@9]/4", // E5
  AI: "[~ b4@31 ~@23 f#3@8 ~, e5@47 ~ d5@15 ~, e3@31 ~ a4@31 ~, ~@32 d3@23 ~@9]/4",
  AJ: "[b4@48 ~ c5@15, g4, g3@21 ~@11]/4", AK: "[g4,d5]/3", AL: "[~ c5@22 b4@45 ~@12, ~ g4@68 ~@11]/5",
})).s("gm_string_ensemble_1").gain(0.2)

// chords · acoustic guitar nylon · "NylnGtr"
const acoustic_guitar_nylon = note(`<
  ~@81 A B C D@3 E@2 F@2 G@2 H@2 I J K@2 L M N@3 O P@4 Q R S T@2 U@6 ~@54
>`.pickRestart({
  A: "~@3 g3", B: "g3@3 ~@5 b3@3 ~ d4@3 d4, ~ g3@2 ~, ~@7 a3@4 ~@5", C: "e4@7 ~ e4@7 ~, g4@15 ~",
  D: "[[d4,g4] ~@3 [d4,g4]@4 ~ a3@2 g3@4 ~ b3@4 a3@3 ~ g3@3 ~ g3@11 ~ g3@3 ~ g3@4, ~@8 a#3@2 ~@5 a3@2 ~@31]/3", // G5
  E: "[~@3 a#3@2 ~@3 d4@7 ~@9 b3@7 a#3, a3@31 ~, ~@5 b3@10 ~ e4@15 ~]/2", F: "[a3@4 g3@3 e3@4 b3 a3@8 g3@4 g3@8]/2",
  G: "[[d4,g4]@2 e4@2 [e4,g4]@3 ~ [e4,g4]@3 ~ g4@3 d4@2 e4@2 ~@5 [e4,g4]@3 ~ [e4,g4]@3 ~, ~@11 e4@3 ~@18]/2", // G5 Em
  H: "[[d4,g4]@2 e4@2 [d4,g4]@3 ~ [d4,g4]@4 [d4,g4]@11 ~ a3@4 b3@4]/2", I: "~@8 e4@7 a#3, d4@15 ~",
  J: "a3@4 g3@4 e3@4 e3@3 g3", K: "[a3@4 g3@3 ~ e3@4 g3@12 ~@8]/2", L: "g3@2 ~@2 g3@3 ~ b3@3 ~ d4@4, ~@7 a3@2 ~@7",
  M: "g4@8 e4@7 ~", N: "[e4@3 ~ f#4@3 ~ g4@3 e4 ~@8 e4@6 ~@2 d4@8 e4@8 a3@4, ~@13 f#4@11 ~@24]/3", O: "b3@7 ~ b3@8",
  P: "[~@4 g4@3 ~ [g4,b4]@3 ~ [g4,b4]@7 a4@7 ~@2 f#4@8 e4@8 b3@12 g3@3 ~ g3@4, ~@28 a4@17 ~@19]/4", // G
  Q: "[a3,d4]@2 b3@2 [b3,d4]@3 ~ [b3,d4]@3 ~ [b3,d4]@4", R: "[a3,d4] ~@3 [a3,d4]@3 ~ [a3,d4]@7 ~",
  S: "a3 ~ a3 e3, ~@4 d4@11 ~", T: "[~@12 d4@8 ~ e4@3 ~@4 f3@4, f3 ~@15, ~ f#3@15 ~@8 d4@8]/2",
  U: "[f#3@4 d4@5 ~@3 [g3,e4]@7 ~ [f#3,d4]@7 ~@4 d3@8 ~ [g3,d4]@11 ~@6 g3@3 ~@4 [g3,d4]@31 ~, ~@28 [g3,d4]@12 ~@12 [d4,g4]@8 d3@35 ~]/6", // C D G5
})).s("gm_acoustic_guitar_nylon").gain(0.35).pan(0.8)

// chords · acoustic guitar nylon · "NylnGtr" · soft notes
const acoustic_guitar_nylon_2 = note("<~@91 A@2 ~ B ~@6 C ~@3 D E ~@7 F G ~@2 H@2 ~@54>".pickRestart({
  A: "[~@15 g4@3 ~@14]/2", B: "~@11 a#3 ~@4", C: "~@12 f4 ~@3", D: "~@4 b4@3 ~@9", E: "~@3 f#4@7 ~@6",
  F: "~@8 f#3@3 ~@5", G: "~@7 f#3", H: "[g4@31 ~]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.2).pan(0.8)

// other · flute
const flute = note(`<
  ~@46 A@2 B C@2 D E F ~@8 G H@2 I@2 J@4 K@4 H@2 L@5 ~@23 M@4 ~@4 N@6 ~@25 O P@4 Q@2 R@2 H@2 S@2 T@6 ~@5 U V@2 ~@3
>`.pickRestart({
  A: "[b4@15 c5@17]/2", B: "a4@15 ~", C: "b4@15 ~", D: "c5", E: "d5", F: "b4@7 ~", G: "~@8 b4@4 a4@3 ~", H: "g4/2",
  I: "[f#4@31 ~]/2", J: "[~ g4@32 f#4@23 e4@8]/4", K: "[~ g4@31 f#4@25 e4@7]/4", L: "[a4@12 f#4@7 ~ a4@8 b4@40 ~@12]/5",
  M: "[~ e5@3 f#5@4 g5@4 f#5@12 e5@4 d5@8 a4@8 b4@17 ~@3]/4",
  N: "[~ e5@3 f#5@4 g5@4 f#5@11 e5@4 ~ d5@7 ~ f#5@7 ~ g5@37 ~@15]/6", O: "~@8 b4@3 ~ a4@4", P: "[g4@31 f#4@31 ~@2]/4",
  Q: "[g4@31 ~]/2", R: "[f#4@23 e4@9]/2", S: "[f#4@15 ~]/2", T: "[g4@19 ~ g4@8 a4@12 g4@4 f#4@7 ~ a4@8 b4@35 ~]/6",
  U: "b4@5 c5@5 ~ d5@5", V: "[~ a4@6 b4@22 ~@3]/2",
})).s("gm_flute").gain(0.25).pan(0.7)

// drums · bongos
const bongos = s("bongo:4").struct(`<
  ~@63 A B A B A B A B A B A B A B A B ~@4 A B A B A B A B A B A B A B A B ~ A B A B A B A B A B A B A B A B ~@13 A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B ~@13
>`.pickRestart({
  A: "~ x", B: "~ x ~@2",
})).gain(0.84)

// drums · bongos
const bongos_2 = s("bongo:18").struct(`<
  ~@64 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@5 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@14 A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@13
>`.pickRestart({
  A: "~ x",
})).gain(0.84)

// drums · congas
const congas = s("conga:13").struct(`<
  ~@63 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@5 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@2 A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@14 A ~ A ~ A
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~@14
>`.pickRestart({
  A: "~ x ~@2",
})).gain(1.02)

// drums · shaker
const shaker = s("sh").struct("<~@128 [~@8 x!8] x ~@44>").gain(0.32)

stack(
  acoustic_guitar_steel, bass, string_ensemble_1, acoustic_guitar_nylon, acoustic_guitar_nylon_2, flute, bongos,
  bongos_2, congas, shaker
)

More by Axelle Red