Strudelify
Ala bianca cover art

Nomadi 50+1

Ala bianca

Nomadi

KeyB minorTempo160 bpm
0:00/0:00
// Ala bianca — Nomadi
// 160 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 157 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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 · string ensemble 2 · "Strings 1"
const string_ensemble_2 = note(`<
  A@5 B@4 C@8 D@5 E F G@4 H@3 I@5 J K@2 L@8 M@2 N O P@5 C@8 D@5 E F G@4 H@3 I@5 J K@2 L@8 M@2 N O P@5 C@8 D@5 E F G@4
  H@3 I@5 Q@2 R F S T U S V K@2 W@8 M@2 N O X@4
>`.pickRestart({
  A: "[b2,b3,d4,f#4]/5", B: "[~@15 [a3,c#4]@30 ~@2 [e3,b3]@17, ~@15 e4@49, ~@15 a2@32 g3@15 ~@2]/4",
  C: "[d4@15 ~ [b3,f#4]@30 ~@29 b2@4 ~ c#4@31 ~ e3@15 d4, b2@46 b2@29 ~@4 a2@31 ~ g3@15 ~@2, f#3@13 ~@3 d4@62 ~ e4@49, ~@47 [b3,f#4]@31 ~@2 a3@30 ~ b3@17]/8", // B5
  D: "[f#3@7 ~@17 f#3@16, b2@15 ~, ~@4 f#4@15 ~, ~@8 [b3,d4]@29 ~@3]/5", E: "[b2,b3], [d4,f#4]@7 ~",
  F: "[a2,a3,c#4,e4]", G: "[g2@15 ~ b2@16 [e3,e4]@16 [g2,d4]@16, b3@31 ~, d4 ~, g3@14 ~ f#3@15 ~@2 g3@30 ~@2]/4",
  H: "[~ e3 [b2,b3,d4], f#2@11 ~@5, [f#3,a#3,c#4]@31 ~ f#4@14 ~@2]/3", // Bm F#
  I: "[[a3,c#4]@15 ~ g3@14 ~@2 [b2,f#3]@16 [e3,e4]@16 [g2,d4]@16, [a2,e4]@8 b3@31 ~, ~@15 g2@17 ~@48, ~@8 d4@16 g3@15 ~]/5", // A B5 E G5 A5
  J: "~ e3@3, [f#2,a#3,c#4]@15 ~, f#3@13 ~@3", K: "[[b2,b3], [d4,f#4]@15 ~]/2",
  L: "[[a3,c#4]@30 ~@2 e3@15 ~ [d3,f#3]@15 ~ d3@31 ~@17 b2@16, e4@48 ~@16 f#3@27 ~@37, a2@32 g#3@14 ~ a3@15 ~ b3@29 ~@3 [b3,d4,f#4]@32 ~, ~@32 b3@12 ~@3 d4@17 b2@48 ~@16]/8", // A D Bm
  M: "[a2,a3,c#4,e4]/2", N: "~@3 g#3@12 ~, [e3,e4], ~ b3@12 ~@3", O: "[d3,f#3,a3,d4]",
  P: "[[b2,b3]@31 [a3,c#4]@30 ~@2 [e3,b3]@17, [d4,f#4]@29 ~@2 e4@49, ~@31 a2@32 g3@15 ~@2]/5", // B A E5 D
  Q: "[~ a#3@30 ~, f#2, f#3@29 ~@3, e3@27 ~@5, ~ c#4@28 ~@3]/2", R: "[b2,b3,d4,f#4]", S: "[g2,g3,b3,d4]",
  T: "[b2,d3,f#3,b3]", U: "[e3,g3,b3,e4]", V: "[f#2,e3,f#3,a#3,c#4]",
  W: "[[a3,c#4]@30 ~@2 e3@15 d#4 [d3,f#3]@15 ~ d3@31 ~@17 b2@16, e4@48 ~@16 f#3@27 ~@37, a2@32 g#3@14 ~ a3@15 ~ b3@29 ~@3 [b3,d4,f#4]@32 ~, ~@32 b3@12 ~@3 d4@17 b2@48 ~@16]/8", // A D Bm
  X: "[[b2,f#3,b3]@49 ~@15]/4", // B5
})).s("gm_string_ensemble_2").gain(0.27)

// chords · piano
const piano = note(`<
  ~@4 A@2 B@2 C D@5 E@2 F G@4 H I J@2 K L@2 M@2 N@3 O@4 P@2 Q@2 R S T@2 U@2 V@2 W S X@2 B@2 C D@5 E@2 F G@4 H I J@2 K
  L@2 M@2 N@3 O@4 P@2 Q@2 R S T@2 U@2 V@2 W S Y@2 B@2 C D@5 E@2 F G@4 H I J@2 K L@2 M@2 N@3 Z@3 AA ~ AB AC AD AE AF AG
  AH P@2 Q@2 R S T@2 U@2 V@2 W S AI ~@3
>`.pickRestart({
  A: "[~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4, b2@15 ~, b4@6 ~@2 b4@6 ~@2 b4@4 ~@4 b4@5 ~@3]/2",
  B: "[~ e4 a4 e4 ~ e4 a4 e4 ~ e4 a4 e4 ~ e4 a4 e4, a2@31 ~, c#5@5 ~@3 c#5@5 ~@3 c#5@5 ~@3 c#5@5 ~@3]/2",
  C: "~@2 b4@2 ~@2 b4 ~@3 b4@2 ~@2 b4@2, e2, e5@2 g4@3 ~ g4@2, ~@8 e5@7 ~",
  D: "[~ b4 ~ b4 ~ b4 ~ b4 d5 b4 ~ b4 d5 b4 ~ b4 d5 b4 f#4 d5 b4 f#4 ~ f#4 d4 f#4 d4 b3 d4 b3 f#3 b3 f#3 d3 f#3 a3 b3 c#4 d4 e4, b2@18 ~ b2, d5@4 f#4@4 d5@4 f#4@6 ~@2 f#4@6 ~@2 f#4@5 ~@11 b4@4 ~@32]/5",
  E: "[~@2 a3@2 e3@2 a3@2 ~@2 a3@2 e3@2 a3@2 ~@2 a3@2 ~@2 a3 ~@7 e3@2, a2@26 a3@5 ~, c#4@5 ~@3 c#4@5 ~@3 c#4@4 e3@7 ~ a2@4, ~@12 c#4@3 ~]/2",
  F: "~ b3 ~ b3 ~ b3 ~ b3, e2, e4@2 g3@3 ~ g3@2, ~@2 e4 ~",
  G: "[~ b3 ~ b3 ~ b3 ~ b3 ~ b3 ~ b3 d4 b3 ~ b3 ~ b3 ~ b3 ~@5 b3@2 ~ b3 f#4 b3 f#3, b2@17 ~@4 b3@2 f#3@3 ~ f#3@2 ~@3, d4@4 f#3@4 d4@4 f#3@4 d4@4 f#3@5 ~@3 f#3@6 ~@2 f#3@8 b2@15 ~@5, ~@32 d4@4 ~@4 d4@21 ~@3]/4",
  H: "~ b3 ~ b3 ~ b3 f#3@2, b2@3 ~, d4@4 f#3@4 d4@5 ~@3",
  I: "~@2 b3@2 d4 ~ b3@4 ~@4 [d4,f#4]@2, b2@3 [d4,f#4]@3 b3@2, ~@5 b2@2 ~", // D
  J: "[~@2 a3@2 c#4 ~ a3@4 a2@2 a3@2 c#4@2 ~@2 g3@2 b3 ~ [g3,b3]@4 ~@2 g3@2 b3@2, a2@6 e4@14 ~@2 d4@7 ~@3, ~@6 c#4@6 ~@4 g2@7 ~@3 g2@5 ~]/2", // G
  K: "~@2 f#3@2 b3 ~ f#3@4 ~@2 f#3 ~ [f#3,b3,d4]@2, b2@4 ~ b2@2 ~, ~@6 [b3,d4]@7 ~@3", // Bm
  L: "[~@4 g3 ~ [g3,b3]@4 ~@8 g3@2 b3 ~ g3@4 ~@4 [b3,d4]@2, e3@4 ~ e3@2 [b3,e4]@2 ~@2 [b3,d4]@3 g3@2, ~@6 e4@6 g3@4 g2@9 ~ g2@4 ~@2]/2", // G Bm E5 Bm
  M: "[~@2 f#3@2 a#3@2 f#3@2 ~@6 f#3@2 ~@2 a#3@2 e3@2 f#3@2 g#3 ~ a#3 ~ g#3@2 a#3@2, f#2@10 a#3@4 ~@2 c#4@5 ~@11, ~@8 c#4@4 f#2@19 ~]/2",
  N: "[~@2 b3@2 d4 ~ b3@3 ~@3 b3@2 ~@4 a3@2 c#4 ~ a3@3 ~@5 c#4@2 ~@2 g3@2 b3 ~ b3@4 ~@2 g3@2 [b3,d4]@2, b2@8 ~@2 b2@5 ~ a2@6 c#4@6 a3@4 ~@6 g3@3 ~@7, ~@6 [d4,f#4]@6 ~@2 [d4,f#4]@4 ~@4 e4@15 ~ d4@7 ~@3, ~@26 a2@4 ~@2 g2@7 ~@3 g2@5 ~]/3", // Bm D
  O: "[~@2 f#3@2 b3 ~ b3@4 ~@2 f#3@2 b3@2 ~@2 g3@2 b3 ~ g3@4 ~@8 g3@2 b3 ~ g3@4 ~@2 g3@2 b3@2 ~@4 f#3 ~ [f#3,a#3,c#4]@4 ~@2 [f#3,a#3,c#4]@4, b2@6 d4@7 ~ d4@5 ~@3 [b3,e4]@6 g3@4 g2@7 ~@3 g2@5 ~ f#2@8 ~@2 f#2@6, ~@6 f#3@3 ~ b2@4 ~@2 e3@8 ~@2 e3@4 [b3,e4]@4 ~@4 [b3,d4]@7 ~ d4@6 ~@12]/4", // F# E5 Bm
  P: "[[b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b2,b4,d5,f#5] ~, b2@29 ~@3]/2", // Bm
  Q: "[[a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a2,a4,c#5,e5] ~, a2@29 ~@3]/2", // A
  R: "[b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [e3,g#4,b4,e5] ~, e3@13 ~@3", // E5 E
  S: "[f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [f#4,a4,d5] ~ [d3,f#4,a4,d5] ~, d3@13 ~@3", // D
  T: "[[d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~ [d4,f#4,b4] ~, b2@29 ~@3]/2", // Bm
  U: "[[b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] ~ [b4,d5,f#5] b2 [b2,b4,d5,f#5] ~, b2@7 ~]/2", // Bm
  V: "[[a4,c#5,e5] ~ [c#5,e5] a4 [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a4,c#5,e5] ~ [a2,a4,c#5,e5] ~, a2@29 ~@3]/2", // A C#m A
  W: "[g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [g#4,b4,e5] ~ [e3,g#4,b4,e5] ~, e3@13 ~@3", // E
  X: "[~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4, b2@15 ~, b3@3 ~@5, d5@5 ~@11, [f#3,b4]@8 b4@6 ~@2 b4@4 ~@4 b4@5 ~@3]/2", // B5
  Y: "[~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4 ~ d4 f#4 d4, b2@15 ~, b3@3 ~@5, b1@5 ~@11, [f#3,b4]@8 b4@6 ~@2 b4@4 ~@4 b4@5 ~@3]/2", // B5
  Z: "[~@2 f#3@2 b3 ~ b3@4 ~@2 f#3@2 b3@2 ~@2 g3@2 b3 ~ g3@4 ~@8 g3@2 b3 ~ g3@4 ~@2 g3@2 [b3,d4]@2, b2@6 d4@7 ~ d4@5 ~@3 [b3,e4]@6 g3@4 g2@7 ~@3 g2@5 ~, ~@6 f#3@3 ~ b2@4 ~@2 e3@8 ~@2 e3@4 [b3,e4]@4 ~@4 [b3,d4]@7 ~@3]/3", // Bm E5 Bm
  AA: "f#2 ~@15", AB: "~@8 b4@4 b2 ~ b4@2, b2@5 ~@3, ~ [d5,f#5]", AC: "~ [a4,c#5,e5], a2@7 ~",
  AD: "~@4 g4@2 g2 g4, g2@5 ~@3, ~ [b4,d5]", AE: "~ [d4,f#4,b4], b2@7 ~", AF: "~@4 e4@2 e2 e4, e2@5 ~@3, ~ [g4,b4]",
  AG: "~ [d4,g4,b4], g2@7 ~", // G
  AH: "~@2 [f#4,a#4,c#5] ~ [f#4,a#4,c#5] ~ [f#4,a#4,c#5] ~ [f#4,a#4,c#5] ~ [f#4,a#4,c#5] ~ [f#4,a#4,c#5]@4, f#2@10 ~ f#2@4 ~", // F#
  AI: "[b2,d3,f#3,b3]", // Bm
})).s("gm_piano").gain(0.26)

// bass · acoustic bass · "Basso Acou"
const bass = note("<~@131 A B C D E F G H ~@18>".pickRestart({
  A: "~ f#2", B: "~ b1@13 b1 ~", C: "a1", D: "g1@11 ~@3 g1 ~", E: "b1@13 ~@3", F: "e2@13 ~@2 e2", G: "~ g1@12 ~ g1 ~",
  H: "f#1@15 ~",
})).s("gm_acoustic_bass").gain(0.28)

// chords · overdriven guitar · "Guitar"
const overdriven_guitar = note("<~@132 A B C D E F G H@2 I@2 J K L@2 M@4 N O P@4>".pickRestart({
  A: "[b2,f#3]@13 ~ [b2,f#3] ~", B: "e3, a2@7 ~", C: "[g2,d3]@15 ~", D: "[b2,f#3]", E: "[b2,e3]@13 ~ [b2,e3]@2",
  F: "d3@14 [g2,d3] ~, g2@3 ~", G: "[f#2,c#3]@7 ~", H: "[[b2,f#3]@27 ~ [b2,f#3]@4]/2", I: "[[a2,e3]@31 ~]/2",
  J: "b2@3 ~, e3@5 ~@3", K: "[a2,d3]", L: "[[b2,f#3]@31 ~]/2",
  M: "[[b2,f#3]@5 ~ [b2,f#3]@5 [b2,f#3]@13 [b2,f#3] ~ [b2,f#3]@3 f#3 b2 ~ a2@6 [a2,e3]@5 ~ [a2,e3]@20, ~@6 d#3 ~@24 e3@6 ~@27]/4", // B5 A5
  N: "[b2,e3]@5 ~ [b2,e3]@10", O: "[a2,d3]@6 [a2,d3]@9 ~", P: "[[b2,f#3]@51 ~@13]/4",
})).s("gm_overdriven_guitar").gain(0.27)

// bass · slap bass 1 · "Bass Slap"
const bass_2 = note(`<
  ~@36 A B C D E F G H I J K L M N O P ~@17 Q R S T U V W X Y Z S Y AA S AB AC C D E F G H I J K L M N O P ~@17 Q R S T
  U V W X Y Z S Y U S AD@2 ~@7 AC C D E F G H I J K L M N O P ~@3
>`.pickRestart({
  A: "~@6 f#1 ~@3 f#1 ~ f#1 ~ f#1 ~", B: "b1@6 g1 ~ b1@5 ~ f#1 ~", C: "b1 ~ b1@3 ~ b1@4 f#1 ~ a1 ~ b1 ~",
  D: "a1@4 ~@2 a1 ~ a1@5 ~ f#1 ~", E: "a1 ~ a1@3 ~ a1@3 ~ f#1 ~ g1 ~ a1 ~", F: "e2@4 ~@2 e2 ~ e2@5 ~ a1 b1",
  G: "d2 ~ d2@3 ~ d2@3 ~ a1 ~ [b1,c2] ~ e2 ~", H: "b1@4 ~@2 b1 ~ b1@6 g1 ~", I: "b1 ~ b1@2 ~@2 b1@3 ~ f#1 ~ g1 ~ a1 ~",
  J: "b1@5 ~ f#1 ~ b1@5 ~ f#1 ~", K: "b1 ~ b1@3 ~ b1@3 ~ f#1 ~ b1 ~ c2 ~", L: "a1@5 ~ a1 ~ a1@5 ~ f#1 ~",
  M: "a1 ~ a1@3 ~ a1@3 ~ e1 ~ a1 ~ b1 ~", N: "e2@5 ~ g1 ~ e2@5 ~ g1 ~", O: "d2 ~ d2@3 ~ d2@2 ~@2 f#1 ~ a1 ~ e2 ~",
  P: "b1 ~", Q: "b1 ~ b1 ~@3 b1 ~ b1@4 ~ b1 ~@2", R: "a1 ~ a1@2 ~@2 a1 ~ a1@3 ~ a1 ~ a1 ~",
  S: "g1 ~ g1@3 ~ g1 ~ g1@3 ~ g1 ~ g1 ~", T: "b1 ~ b1@3 ~ b1 ~ b1@5 ~ [a1,b1] ~",
  U: "e1 ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1 ~", V: "g1 ~ g1@3 ~ g1 ~ g1@5 ~ g1!2, ~@8 g#1 ~@7",
  W: "f#1 g#1 f#1 ~@3 f#1 ~ f#1@3 ~ f#1 ~ f#1@2", X: "~@2 f#1 ~ f#1@2 ~@2 f#1@2 ~@2 f#1@2 ~@2",
  Y: "b1 ~ b1@3 ~ b1 ~ b1@3 ~ b1 ~ b1 ~", Z: "a1 ~ a1@3 ~ a1 ~ a1@3 ~ a1 ~ a1 ~",
  AA: "[e1,f1] ~ e1@3 ~ e1 ~ e1@3 ~ e1 ~ e1 ~", AB: "f#1 ~ f#1@2 ~@2 f#1 ~ f#1@3 ~ f#1 ~@3",
  AC: "b1@4 ~@2 g1 ~ b1@5 ~ f#1 ~", AD: "[f#1 ~ f#1@2 ~@2 f#1 ~ f#1@11 ~@13]/2",
})).s("gm_slap_bass_1").gain(0.28)

// other · string ensemble 1 · "Strings 2"
const string_ensemble_1 = note(`<
  ~@8 A@8 B C D@5 ~@14 E F@2 G@3 H I E J@2 K L M N O P N A@8 B C D@5 ~@14 E F@2 G@3 H I E J@2 K L M N O P N Q ~@4 R@3 B
  C D@5 ~@22 E F@2 G@3 H I E J@2 K L M N O P N
>`.pickRestart({
  A: "[b4@91 d5@4 c#5@33]/8", B: "e5", C: "d5", D: "[[b4,b5]@13 ~@3]/5",
  E: "b5@2 f#5@2 d5@2 f#5@2 b5@2 f#5@2 ~ f#5@2 ~, ~@12 d5@3 ~",
  F: "[b5@2 f#5@2 d5@2 f#5@2 ~ f#5@2 ~@2 f#5@2 a5@2 e5@2 ~@2 e5@2 ~@2 e5@2 d5@2 e5@2 ~, ~@8 b5@2 ~ d5@4 ~@5 d5@2 ~@2 a5@2 ~@6]/2",
  G: "[~ e5@2 d5@2 e5@2 ~@2 e5@2 d5@2 e5@2 g#5@2 e5@2 d5@2 e5@2 g#5@2 e5@2 d5@2 e5@2 f#5@2 e5@2 d5@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~, a5 ~@3 a5 ~@15 f#5 ~ d5 ~]/3",
  H: "~ e5@2 d5@2 e5@2 ~ f#5@2 e5 d5@2 e5@2 ~, f#5 ~@7", I: "f#5@2 e5@2 ~ e5@2 ~@2 e5 ~ d5@2 e5@2 ~, ~@2 d5 ~ f#5 ~@3",
  J: "[~ f#5@2 d5@2 f#5@2 ~@2 f#5@2 d5@2 f#5@2 a5@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~, b5 ~@3 b5 ~@5 d5 ~ a5 ~ d5 ~]/2",
  K: "~ e5@2 d5@2 e5@2 ~@2 e5@2 ~@2 e5@2 ~, a5@2 ~@6 a5@2 ~@2 d5@3 ~", L: "g#5 e5 d5 e5 g#5 e5 d5 e5",
  M: "~ e5@2 ~@2 e5@2 f#5@3 ~ d5@4 ~, f#5 ~ d5 ~@2 e5 ~@2", N: "b5@2 f#5@2 d5@2 f#5@2 b5@2 f#5@2 ~ f#5@2 ~, ~@6 d5 ~",
  O: "~ f#5@2 ~ d5@2 f#5@2 ~ f#5@2 ~@2 f#5@2 ~, b5 ~@3 b5 ~ d5 ~", P: "b5 f#5 d5 f#5 b5 f#5 d5 f#5", Q: "b4",
  R: "[~@11 d5@4 c#5@33]/3",
})).s("gm_string_ensemble_1").gain(0.28)

// drums · kick
const kick = s("bd").struct(`<
  ~@16 A@6 B@2 C B D B D@8 E C@14 F ~@9 F ~ A@6 C G C G C G C G C@6 E C@14 F ~@9 F ~ A@6 C H C H C H C H C@6 F ~ B F B F
  B F@2 C@14 F ~@3
>`.pickRestart({
  A: "x!4", B: "x ~@6 x", C: "x!2", D: "x ~@3 x ~@2 x", E: "x ~ x!6", F: "x", G: "x ~@4 x ~@2", H: "x ~@3 x!2 ~@2",
})).gain(0.55)

// drums · snare
const snare = s("sd").struct(`<
  ~@20 A B C@7 D E@3 F E@2 G E@3 H E@3 H E@3 H E@2 ~@16 A B I@8 E@6 G E@3 H E@3 H E@3 H E@2 ~@16 A B E@7 I E@6 A B ~ J ~
  J ~ J B E@3 H E@3 H E@3 H E@2 K ~@3
>`.pickRestart({
  A: "x!8", B: "x ~ x ~ x ~ x ~ x!8", C: "~@3 x", D: "~@9 x ~@2 x ~ x ~", E: "~ x ~ x", F: "~@4 x ~@4 x ~@2 x ~@3",
  G: "~@2 x!6", H: "~@2 x ~@2 x!3", I: "~@2 x!2 ~@2 x ~", J: "~ x", K: "x",
})).gain(0.55)

// drums · low tom
const low_tom = s("lt").struct("<~@59 A B ~@15 C ~@20 D ~@8 A B ~@15 C ~@33>".pickRestart({
  A: "~@4 x ~ x!2", B: "~@3 x!2 ~ x ~", C: "~@12 x ~@2 x", D: "~@4 x!2 ~@2",
})).gain(0.55)

// drums · hihat
const hihat = s("hh").struct("<~@13 A ~ B ~ C D@11 E F@6 ~@24 A ~ B ~@44 A ~ B ~@22 G H G I G J K ~@18>".pickRestart({
  A: "~ x ~ x ~ x ~@2 x!4 ~ x!2 ~", B: "~@12 x!3 ~", C: "~ x!7", D: "x!8", E: "x!5 ~@3", F: "x!4", G: "~ x!6 ~@2 x!6 ~",
  H: "~ x!6 ~@3 x ~@2 x!2 ~", I: "~ x!7 ~@2 x!5 ~", J: "~ x!5 ~@3 x!6 ~", K: "x!3 ~ x!3 ~@9",
})).gain(0.38)

// drums · mid tom
const mid_tom = s("mt").struct("<~@58 A B C ~@15 D ~@20 E ~@7 A B C ~@15 D ~@33>".pickRestart({
  A: "x!2 ~@4 x ~", B: "x!2 ~@6", C: "~@5 x ~@5 x ~ x ~@2", D: "x!2 ~@3 x ~ x", E: "x ~ x!3 ~@6 x!2 ~@3",
})).gain(0.49)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@13 A ~ A ~ B C D@10 E F@6 ~@24 A ~ A ~@44 A ~ A ~@22 B G B A B H I ~@18
>`.pickRestart({
  A: "~@15 x", B: "~@7 x ~@7 x", C: "~@3 x ~@3 x ~@7 x", D: "~@3 x ~@3 x ~@3 x ~@3 x", E: "~@3 x ~@3 x ~@2 x ~@3 x ~",
  F: "~ x ~ x ~ x ~ x", G: "~@7 x ~@3 x ~@3 x", H: "~@6 x ~@8 x", I: "~@3 x ~@3 x ~@8",
})).gain(0.44)

// drums · crash
const crash = s("cr").struct(`<
  ~@14 A ~ A@2 ~@4 A ~@3 A ~@3 A ~@3 A ~ A B@14 A ~@9 A ~ A ~ C@4 B@14 A B@14 A ~@9 A ~ A ~ C@4 B@14 A ~ A D ~ D ~ D ~
  B@14 A ~@3
>`.pickRestart({
  A: "x", B: "x!4", C: "x!2", D: "~ x",
})).gain(0.49)

stack(
  string_ensemble_2, piano, bass, overdriven_guitar, bass_2, string_ensemble_1, kick, snare, low_tom, hihat, mid_tom,
  open_hat, crash
)

More by Nomadi