Strudelify
Weisse Rosen aus Athen cover art

Nana Mouskouri - Weisse Rosen aus Athen

Weisse Rosen aus Athen

Mouskouri Nana

KeyF majorTempo128 bpm
0:00/0:00
// Weisse Rosen aus Athen — Mouskouri Nana
// 128 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 120 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · trumpet · "Ges./Tro"
const trumpet = note(`<
  ~@8 A B@3 C D E F G H@3 I J K@2 L@2 M N@2 O P@4 M Q@2 O R@3 A B@3 C D E F G H@3 I J K@2 S T@3 U V W X Y Z@3 AA AB AC@2
  L@2 M Q@2 O P@4 M Q@2 O R@3 A B@3 C D E F G H@3 I J K@2 AD AE AF@3 AG AH@3 AI AJ@4
>`.pickRestart({
  A: "f4@16 ~@2 f4@5 ~", B: "[f4@5 ~ f4@5 ~ g4@5 ~ a4@2 ~@2 g4@39 ~@11]/3", C: "c5@17 ~ bb4@5 ~", D: "a4@11 ~ g4@11 ~",
  E: "bb4@12 a4@11 ~", F: "g4@11 ~ f4@10 ~@2", G: "f4@17 ~ f4@5 ~", H: "[f4@5 ~ f4@6 g4@6 a4@2 ~@2 g4@41 ~@9]/3",
  I: "[e4,c5]@17 ~ [d4,bb4]@5 ~", J: "[c4,a4]@4 ~@2 [c4,a4]@5 ~ [bb3,g4]@4 [c4,a4]@4 [bb3,g4]@4", K: "[[a3,f4]@3 ~]/2",
  L: "[~@6 [f4,a4]@5 ~ [f4,a4]@5 ~ [f4,a4]@3 ~ [f4,a4]@19 ~ [f4,a4]@5 ~]/2", M: "[f4,a4] [g4,bb4] [f4,a4] [e4,g4]",
  N: "[[f4,a4]@12 [f4,a4]@16 ~@2 [e4,g4]@6 [f4,a4]@5 ~ [g4,bb4]@6]/2", // F Em F Gm
  O: "[e4,c5]@9 ~ [f4,d5]@6 [e4,c5]@4 ~@2 [d4,bb4]@2", // C Dm C Gm
  P: "[[c4,a4]@5 ~ [d4,bb4]@6 [c4,a4]@2 ~@2 [bb3,g4]@5 ~ [a3,f4]@28 ~@4 [f4,a4]@5 ~ [f4,a4]@5 ~ [f4,a4]@3 ~ [f4,a4]@19 ~ [f4,a4]@5 ~]/4", // F Gm F Eb Dm F
  Q: "[[f4,a4]@12 [f4,a4]@17 ~ [e4,g4]@6 [f4,a4]@5 ~ [g4,bb4]@6]/2", // F Em F Gm
  R: "[[c4,a4]@5 ~ [d4,bb4]@6 [c4,a4]@2 ~@2 [bb3,g4]@5 ~ [a3,f4]@28 ~@22]/3", S: "[f5,a5]@17 ~ [f5,a5]@6, g5 ~@23",
  T: "[[f5,a5]@5 ~ [f5,a5]@6 [g5,bb5]@5 ~ [a5,c6]@2 ~@2 [g5,bb5]@44 ~@6]/3", U: "[c5,e5]@18 [bb4,d5]@5 ~",
  V: "[a4,c5]@11 ~ [g4,bb4]@12", W: "[bb4,d5] [a4,c5]", X: "[bb4,d5]@11 ~ [a4,f5]@11 ~", Y: "[f5,a5]@3 [f5,a5]",
  Z: "[[f5,a5]@6 [f5,a5]@6 [g5,bb5]@6 [a5,c6]@3 ~ [g5,bb5]@38 ~@12]/3", AA: "[c5,e5]@17 ~ [bb4,d5]@6",
  AB: "[a4,c5] [g4,e5]", AC: "[[a4,f5]@5 ~@3]/2", AD: "~ [f4,a4]", AE: "[e4,g4]@11 ~ [g4,bb4]@12",
  AF: "[[f4,a4]@9 ~ [f4,a4]@2]/3", AG: "[e4,g4]@10 ~@2 [g4,bb4]@11 ~", AH: "[[f4,a4]@57 ~@3 [a4,c5]@11 ~]/3",
  AI: "[g4,bb4]@11 ~ [g4,e5]@11 ~", AJ: "[[a4,f5]@25 ~@7]/4",
})).s("gm_trumpet").gain(0.56)

// chords · electric guitar jazz · "Gitarre"
const electric_guitar_jazz = note(`<
  A B C D A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ E F G H I J K L M N O P Q
  R S T E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ E F G H I J K L M N O P Q R S T AK
  AL AM AN AO AP AQ AR AS AT AU AV AW AX
>`.pickRestart({
  A: "f3 a3 c4 ~ c4 a3 ~@2 c4 f4 c4 a3, ~@6 f4@4 ~@2 f3@5 ~@7, ~@7 a3@2 ~@3",
  B: "~@2 g3 bb3 ~ e3 ~@2 g3 bb3 g3 e3, c3@4 ~@8 c3@9 ~@3, ~@2 e3@5 ~ g3@5 ~ e3@5 ~@5",
  C: "f3 ~ c4 ~@2 a3 ~@2 c4 f4 ~ a3, ~@2 a3@4 f4@4 ~@2 f3@7 ~@5, ~@8 c4@5 ~@7 c4@4",
  D: "f3 a3 c4 f4 ~ a3 ~ a3 c4 f4 c4 a3, ~@8 c4@4 f3@5 ~@7", E: "f3 a3 c4 f4 c4 a3 ~ a3 ~ a3 c4 a3, ~@12 c4@4 f3@5 ~@3",
  F: "c4 f4 ~ a3 ~@2 c4 ~@2 a3 f3 a3, ~@4 c4@5 ~ a3@4 f4@4 ~@6, ~@4 c4 ~",
  G: "~@2 e4 g4 e4 c4 ~ c4 e4 g4 ~ c4, g3@4 ~@2 g3@3 ~@3, ~ c4@2 ~@7 e4@2",
  H: "~ c4 e4 c4 g3 e3 ~@2 g3 ~@2 e3, g3@5 ~@7 c3@10 ~@2, ~@14 e3@4 c4@5 ~, ~@5 g3",
  I: "~@2 g3 ~@2 e3 ~@2 g3 c4 ~ e3, c3@6 c4@4 ~@2 c3@7 ~@5, ~@2 e3@5 ~ g3@5 ~@7 g3@4",
  J: "~ e3 g3 c4 ~ e3 ~@2 g3 c4 ~ e3, c3@6 ~@2 g3@4 c3@9 ~@3, ~@7 e3@2 ~ g3@2",
  K: "~ bb3 ~ bb3 ~ bb3 e4 c4 g3 c4 ~ c4, f3@2 d4@3 ~@7, ~@2 f3 ~@2 g3",
  L: "d4 bb3 ~ bb3 d4 bb3 ~ a3 ~ a3 c4 a3, ~@4 g3@5 ~@3 c4@4 f3@8",
  M: "~ a3 ~ a3 c4 f4 ~ a3 f3 a3 ~ a3, c4@4 f3@4 ~@4 c4@5 ~@3 f3@4",
  N: "c4 f4 ~ a3 ~ a3 c4 ~@2 a3 ~ a3, ~ c4 f3@2 c4 f3, ~@7 f4@2 ~@3",
  O: "e4 c4 ~ c4 e4 g4 ~ c4 g3 e3 c3 e3, ~@4 g3@7 ~ e4@4 ~@8",
  P: "g3 c4 ~ e3 ~@2 g3 c4 ~ e3 c3 e3, ~@4 g3@4 c3@9 ~@7, ~@5 e3@2 ~ g3@2 ~@2",
  Q: "~ e3 g3 c4 ~ e3 ~@2 g3 c4 ~ e3, c3@5 ~@3 g3@4 c3@10 ~@2, ~@14 e3@5 ~ g3@4",
  R: "~ e3 g3 c4 ~ e3 ~@2 g3 c4 g3 e3, c3@4 g3@2 c3@5 ~, ~@7 e3@2 ~@3",
  S: "~ a3 c4 ~@2 a3 ~@2 c4 ~@2 a3, f3@5 ~ f4@4 ~@2 f3@10 ~@2, ~@8 c4@5 ~ a3@4 f4@5 ~, ~@5 c4",
  T: "~@2 c4 ~ c4 a3 c4 a3 f3 c3 f3 a3, f3@7 ~@5, ~ a3@2 f4@2 ~@7",
  U: "f3@2 a3@2 c4@2 f4@2 c4@2 a3@2 ~@2 a3@3 ~ a3@2 c4@2 a3@2, ~@3 c4 ~@2",
  V: "~ a3 ~ a3 c4 f4 c4 a3 c4 a3 ~ a3, c4 ~@5", W: "c4 f4 c4 a3 c4@2 ~ a3 c4 f4 c4 a3, ~@12 f3@7 ~@5",
  X: "~ a3 ~ a3 c4 f4 c4 a3 ~ a3 ~ a3, c4 f3 ~@2 c4 ~",
  Y: "c4 f4 ~ a3 ~@2 c4 f4 ~ a3 f3 a3, ~ c4 f3@2 ~@2, ~@10 a3@4 ~@2 c4@7 ~",
  Z: "~ c4 e4 g4 e4 c4 e4 c4 ~ c4 e4 g4, g3 ~@3 g3@2", AA: "e4 c4 ~ c4 e4 g4 e4 c4 e4 c4 g3 c4, ~@2 g3@3 ~@7",
  AB: "~ a3 c4 f4 c4 a3 c4 a3 ~ a3 f3 a3, f3@9 ~@7 c4@4 ~@4",
  AC: "[~@4 c4@2 f4@2 c4@2 a3@2 ~@2 a3@2 ~@4 c4@2 f4@2 ~@2 a3@2 ~@2 a3@2 c4@2 f4@2 c4@2 a3@2 ~@2 a3@3 ~ a3@2, f3@6 ~@10 f3@10 ~@2 f3@5 ~@15, ~@2 a3@4 ~@6 c4@5 ~ a3@5 ~ c4@5 ~@11 c4@5 ~@3]/2",
  AD: "c4 f4 ~ a3 ~ a3 c4 ~ c4 a3 c4 a3, ~@4 c4@4 f3@5 ~ f4@4 ~@6", AE: "~ a3 f3 a3 c4 f4 c4 a3 ~ a3 ~ a3, c4 ~@3 c4 ~",
  AF: "c4 f4 ~ a3 ~@2 c4 f4@2 a3 f3 a3, ~@4 c4@4 f3@7 ~@9, ~@5 a3@2 ~@5",
  AG: "~ c4 e4 ~ e4 c4 ~ c4 e4 ~ e4 c4, g3@4 ~@2 g4@5 ~ g3@6 g4@5 ~",
  AH: "~ c4 e4 g4 e4 c4 e4 c4 ~ c4 e4 c4, g3@7 ~@9 g3@6 ~@2",
  AI: "~@4 c4@2 f4@2 c4@2 a3@2 ~@2 a3@2 ~@2 a3@2 c4@2 f4 ~, f3 ~ f3, ~@2 a3@5 ~@5 c4@5 ~@7",
  AJ: "c4@3 ~@3 c4@6 d4@6 e4@5 ~", AK: "~@2 a3@4 f4@3 ~ a3@2 ~@2 a3@4 f4@4 a3@2, f3 ~@2 f3 ~@2",
  AL: "~@4 e4@2 g4@2 e4@3 ~ g3@4 e4@2 ~@2 e4@4, ~@18 g4@5 ~",
  AM: "f3@2 a3@3 ~ f4@4 a3@2 ~@2 a3@2 ~@2 a3@4 f4@2, ~@4 f3 ~", AN: "~@2 a3@3 ~ a3@2 ~@2 a3@2 c4@2 f4@4 a3@2 ~@2 a3@2",
  AO: "~@2 a3@2 f3@2 a3@3 ~ f4@2 ~@2 a3@2 ~@2 a3@4 f4@2, ~@3 c4 f3 ~",
  AP: "g3@3 ~ e4@2 ~@2 e4@2 ~@2 g3@4 e4@3 ~ g3@2 e4@2, ~@3 g4@2 ~@7",
  AQ: "~@2 a3@3 ~ f4@3 ~ a3@2 ~@2 a3@2 ~@2 a3@4 f4@2, f3@7 ~@17", AR: "a3@4 f4@3 ~ a3@2 ~@2 a3@2 f3@2 a3@2 c4@2 f4@3 ~",
  AS: "a3@2 ~@2 a3@2 f3@2 a3@3 ~ f4@3 ~ a3@2 f3@2 a3@4",
  AT: "g4@4 g3@2 ~@2 g3@4 ~@4 g3@2 ~@2 g3@3 ~, ~@6 e3@9 ~@3 e3@4 ~@2, ~@3 g4@2 ~",
  AU: "~@2 a3@4 f4@3 ~ a3@3 ~ a3@2 ~@2 a3@4 f4@2, f3@7 ~@9 f3@6 ~@2",
  AV: "~@2 a3@2 f3@2 a3@3 ~ f4@2 c4@2 a3@2 f3@2 a3@2 ~@2 f4@2",
  AW: "c4@2 a3@2 f3@2 a3@3 ~ f4@3 ~ a3@2 f3@2 a3@2 f3@3 ~", AX: "f3 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.21)

// chords · electric guitar jazz · "Gitarre" · soft notes
const electric_guitar_jazz_2 = note(`<
  ~@2 A ~@3 A ~@2 B ~@2 C ~@11 D E F G ~@5 G ~ G H ~@5 B ~@2 C ~@12 B ~@2 C ~@11 D E F G ~@5 G ~ G H ~@5 B ~@2 C ~@11 I
  J K L M N O P Q R S T U ~
>`.pickRestart({
  A: "~@14 a3@5 ~@5", B: "~@8 f3@9 ~@7", C: "~@7 e3@2 ~@3", D: "~@16 f3@5 ~@3", E: "~@4 f3@3 ~@13 f3@4",
  F: "~@5 a3 ~@6", G: "~@5 f3", H: "~@2 c4", I: "~@4 c4@2 ~@2 c4@5 ~@3 c4@3 ~ c4@4",
  J: "g3@2 c4@3 ~@5 c4@2 ~@2 c4@2 ~@6 c4@2", K: "~@4 c4@3 ~ c4@2 ~@2 c4@4 ~@4 c4@3 ~",
  L: "c4@2 ~@2 c4@3 ~ f3@3 ~@5 c4@4 f3@4", M: "c4@4 ~@4 c4@3 ~@9 c4@3 ~", N: "~ c4 ~@3 c4 ~ c4 ~ c4 ~@2",
  O: "~@4 c4@3 ~ c4@2 ~@2 c4@4 f3@3 ~ c4@3 ~", P: "~@2 c4@3 ~ c4@3 ~ c4@4 ~@8 c4@2", Q: "~ c4@2 ~@2 c4 ~ c4@2 ~@2 c4",
  R: "~@2 c4@5 ~@3 c4@3 ~ c4@4 ~@4 c4@2", S: "~@2 c4 ~ c4 ~ c4@2 ~@2 c4 ~", T: "c4@4 ~@4 c4@3 ~@9 c4@2 ~@2",
  U: "~@8 c4@3 ~ c4@3 ~@7 c4@2",
})).s("gm_electric_guitar_jazz").gain(0.14)

// bass · acoustic bass · "Bass"
const bass = note(`<
  A B C D C E F G H I J K L J M N O P Q K R J P S D@2 T U V R K D W D I D V R K I X H I J K L J M N O P Q K R J P S H I
  J K L J M N O P Q K R J P S D@2 T U V R K D W D I D V R K I X H I J K L J M N O P Q K R J P S Y K Z AA C AB Z AC AD AE
  P@2 AF AG
>`.pickRestart({
  A: "f2@3 ~@9 c2@5 ~@7", B: "c2@5 ~@7 c2@5 ~@7", C: "f2@2 ~@4 c2@3 ~@3", D: "f2@5 ~@7 c2@5 ~@7",
  E: "c2@6 ~@6 g2@5 ~@7", F: "f2 ~ c2 ~", G: "f2@3 ~@3 c2@6 d2@6 e2@5 ~", H: "f2@4 ~@8 c2@5 ~@7",
  I: "f2@6 ~@6 c2@5 ~@7", J: "c2@5 ~@7 g1@5 ~@7", K: "c2@6 ~@6 g1@5 ~@7", L: "c2@5 ~@7 g1@4 ~@8", M: "bb1 a1",
  N: "g1@6 f1@5 ~", O: "f1@4 ~@2 c2@3 ~@3", P: "f2@7 ~@5 c2@6 ~@6", Q: "c2@7 ~@5 g1@6 ~@6", R: "c2 ~ g1 ~",
  S: "f2 ~@2 c2@3 d2@3 e2@3", T: "f2@7 ~@5 c2@5 ~@7", U: "f2@5 ~@7 c2@7 ~@5", V: "f2@2 ~ f2@3 e2@3 d2@3",
  W: "f2@2 ~ c2@3 d2@3 e2@3", X: "c2@2 ~ c2@3 d2@3 e2@3", Y: "f2@5 ~@7 c2@6 ~@6", Z: "f2@5 ~@7 c2@4 ~@8",
  AA: "f2 ~@2 c2 ~@2", AB: "c2@4 ~@8 g1@5 ~@7", AC: "f2 c2 d2 e2", AD: "f2@3 ~@3 c2@4 ~@2", AE: "c2@7 ~@5 e2@7 ~@5",
  AF: "f2@5 ~@7 c2@4 ~@2 c2@6", AG: "f2 ~@5",
})).s("gm_acoustic_bass").gain(0.42).pan(0.4)

// chords · acoustic guitar nylon · "Nachschl"
const acoustic_guitar_nylon = note(`<
  A B C D A E C F A@2 G H I@2 J K C F L I G@2 A@7 G L C F@3 C A G L A G A@2 G H I@2 J K C F L I G@2 A@4 G H I@2 J K C F
  L I G@2 A@7 G L C F@3 C A G L A G A@2 G H I@2 J K C F L I G@2 A@2 C I A D@2 H C A F H A C M N
>`.pickRestart({
  A: "~@2 [c4,f4,a4] ~@3 [c4,f4,a4] ~", B: "~@2 [c4,e4,g4] ~@3 [e4,g4,bb4] ~",
  C: "~@6 [c4,f4,a4]@3 ~@9 [c4,f4,a4]@2 ~@4", D: "~@6 [c4,f4,a4]@2 ~@10 [c4,f4,a4]@3 ~@3",
  E: "~@6 [c4,e4,g4]@2 ~@10 [e4,g4,bb4]@3 ~@3", F: "~@3 [c4,f4,a4] ~@5 [c4,f4,a4] ~@2",
  G: "~@2 [c4,e4,g4] ~@3 [c4,e4,g4] ~", H: "~@6 [c4,e4,g4]@2 ~@10 [c4,e4,g4]@3 ~@3",
  I: "~@3 [c4,e4,g4] ~@5 [c4,e4,g4] ~@2", J: "~@2 [d4,f4,bb4] ~@3 [c4,e4,a4] ~",
  K: "~@6 [bb3,d4,g4]@4 ~@8 [a3,c4,f4]@3 ~@3", L: "~@6 [c4,e4,g4]@3 ~@9 [c4,e4,g4]@2 ~@4",
  M: "~@6 [c4,f4,a4]@3 ~@9 c4@4 ~@2", N: "[c4,f4,a4] ~@7",
})).s("gm_acoustic_guitar_nylon").gain(0.36).pan(0.6)

// chords · synth strings 2 · "Fl„che"
const synth_strings_2 = note(`<
  A B C@3 D E@4 F@4 G H E@2 F@4 E@2 I@5 J@2 K@6 J@2 L@2 E@2 F@4 G H E@2 F@4 E@4 F@4 G H E@2 F@4 E@2 I@5 J@2 K@6 J@2 L@2
  E@2 F@4 G H E@2 F@4 E@2 A M C@3 M C@3 M N@4
>`.pickRestart({
  A: "[f3,a3,c4]", B: "[g3,c4,e4] [g3,bb3,c4,e4]", C: "[f3,a3,c4]/3", D: "[g3,c4,e4] [bb3,c4,e4]", E: "[a3,c4,f4]/2",
  F: "[g3,c4,e4]/2", G: "[f3,bb3,d4] [e3,a3,c4]", H: "[g3,bb3,d4] [f3,a3,c4]", I: "[f3,a3,c4]/5", J: "[e3,g3,c4]/2",
  K: "[f3,a3,c4]/6", L: "[[f3,a3] [e3,g3], c4]/2", M: "[e3,g3,c4]", N: "[[f3,a3,c4]@19 ~@5]/4",
})).s("gm_synth_strings_2").gain(0.25)

// chords · acoustic guitar steel · "SoloGuit"
const acoustic_guitar_steel = note(`<
  ~@11 A B ~@2 C D ~@2 A B ~@2 E F@2 G H@2 I J@2 F@2 G H@2 I J@2 K ~@3 A B ~@2 C D ~@2 A B ~@2 E ~@3 A B ~@2 C D ~@2 A B
  ~@2 E F@2 G H@2 I J@2 F@2 G H@2 I J@2 K ~@3 A B ~@2 C D ~@2 A B ~@2 L ~@3 M N ~@2 M O P@5
>`.pickRestart({
  A: "~@6 [e4,g4]@2 ~ [f4,a4]@2 ~ [g4,bb4]@2 ~ [a4,c5]@2 ~ [bb4,d5]@2 ~ [b4,eb5]@2 ~", B: "[c5,e5]@2 ~",
  C: "~@9 [f4,a4] [g4,bb4] [f4,a4]", D: "[f4,a4] ~@11",
  E: "~@3 f4@3 [a4,c5]@3 f4@2 ~ [ab4,b4]@3 f4@2 ~ [g4,bb4]@3 f4@2 ~", // Am Abm Gm
  F: "[~@6 [f4,a4]@5 ~ [f4,a4]@5 ~ [f4,a4]@3 [f4,a4]@19 ~@2 [f4,a4]@5 ~]/2", G: "[f4,a4] [g4,bb4] [f4,a4] [e4,g4]",
  H: "[[f4,a4]@12 [f4,a4]@17 ~ [e4,g4]@6 [f4,a4]@5 ~ [g4,bb4]@6]/2", // F Em F Gm
  I: "[e4,c5]@9 [f4,d5]@6 [e4,c5]@4 ~@2 [d4,bb4]@2 ~", // C Dm C Gm
  J: "[[c4,a4]@5 ~ [d4,bb4]@6 [c4,a4]@2 ~ [bb3,g4]@5 ~ [a3,f4]@26 ~]/2", // F Gm F Eb Dm
  K: "c5 e4@2 c5 e4@2 ~ e4@2 ~ e4@2 ~ f4@2 ~ f4@2 e5 g4@2 ~ g4@2, ~@6 c5@2 ~ c5@2 ~ d5@2 ~ d5@2 ~@4 e5@2 ~",
  L: "~@6 [f4,a4]@4 ~@2 [f4,a4]@5 ~ [f4,a4]@2 [g4,bb4]@2 [f4,a4]@2", M: "~@9 [a4,c5] [ab4,b4] [g4,bb4]", N: "[f4,a4] ~",
  O: "[f4,a4]@11 ~@13", // F
  P: "[~@24 a4@5 ~@7 a4@5 ~@7 a4@5 ~@7 a4@5 ~@7 a4@5 ~@7 a4@5 ~@7 a4@3 ~@21, ~@23 f4@6 e4@2 f4@2 g4@2 f4@6 e4@2 f4@2 g4@2 f4@6 e4@2 f4@2 g4@2 f4@6 e4@2 f4@2 g4@2 f4@6 e4@2 f4@2 g4@2 f4@5 ~ e4@2 f4@2 g4@2 f4@3 ~@22, ~@30 g4@2 a4@2 bb4@2 ~@6 g4@2 a4@2 bb4@2 ~@6 g4@2 a4@2 bb4@2 ~@6 g4@2 a4@2 bb4@2 ~@6 g4@2 a4@2 bb4@2 ~@6 g4@2 a4@2 bb4@3 ~@23]/5",
})).s("gm_acoustic_guitar_steel").gain(0.43)

// drums · kick
const kick = s("bd").struct("<[x!2]!40 [x ~ x!2] [x!2]!48 [x ~ x!2] [x!2]!28 [x ~@5 x ~@4 x] x>").gain(0.36)

// drums · snare
const snare = s("sd").struct("<A@32 B A@7 C A@40 B A@7 C A@15 D A@7 D A@4 B ~>".pickRestart({
  A: "~ x ~ x", B: "~@3 x ~@5 x ~ x", C: "~@3 x ~ x!2 ~ x!2 ~ x", D: "~@3 x ~@4 x!2 ~ x",
})).gain(0.36)

// drums · hihat
const hihat = s("hh").struct(`<
  [x!12]!24
  [x ~@2 x ~ x!2 ~@2 x ~ x]!16
  [x ~@2 x ~ x!2 ~ x!2 ~ x]
  [x!12]!32
  [x ~@2 x ~ x!2 ~@2 x ~ x]!16
  [x ~@2 x ~ x!2 ~ x!2 ~ x]
  [x!12]!29
  x
>`).gain(0.24)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<~@8 A@16 ~@17 A@32 ~@17 A@24 B A@4 C>".pickRestart({
  A: "x ~@2 x ~ x!2 ~@2 x ~ x", B: "~@3 x ~ x!2 ~@2 x ~ x", C: "x",
})).gain(1.22)

// drums · shaker
const shaker = s("sh").struct("<[~ x ~ x]!119 ~>").gain(0.3)

stack(
  trumpet, electric_guitar_jazz, electric_guitar_jazz_2, bass, acoustic_guitar_nylon, synth_strings_2,
  acoustic_guitar_steel, kick, snare, hihat, cabasa, shaker
)

More by Mouskouri Nana