Strudelify

Prendi una matita

Mina

KeyD♭ majorTempo182 bpm
0:00/0:00
// Prendi una matita — Mina
// 182 bpm, 4/4, key C# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 119 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(182/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 · electric bass finger
const bass = note(`<
  A B C D E B F ~ G H I J K L M N O P Q R S T U V W X W X W X W E B C D E B C ~ Y Z AA AB AC AD AE AF AG AH AI@2 AJ AK
  AL T AM AN AO AN AO AN AO AN AP AQ AR AS AT AU AV AW ~@9 AN AO AN AO AN AO AX AY AZ BA BB BC BD BE BF BC BD BE BG BC
  BD ~ BH BI BJ BK BL BI BM ~ BH BI BJ BK BH BI BJ BK ~
>`.pickRestart({
  A: "~ a1@3 a2@4 a1@4 a2@4", B: "g1 g2 g1 g2", C: "d1 d2 d1 d2", D: "d1@2 d2@2 f1@2 ~ g1", E: "a1 a2 a1 a2",
  F: "d1@2 d2@2 d1@2 d2 d1", G: "c2@5 ~ c2 ~", H: "~@2 c2 ~@3 c2 ~ e2@4 g2@3 ~", I: "c2@11 ~@5", J: "g1@3 d2@3 d2 d1",
  K: "g1@3 g1 ~@4", L: "~@2 g1 ~@3 g1 ~ b1@4 d2@4", M: "g1@3 g1 ~@2 d1 ~", N: "c2@6 ~@2 g2@5 ~ bb1 ~",
  O: "bb1@5 ~ bb1@2 ~@8", P: "bb1@5 ~ f2 ~ f2@4 bb1@4", Q: "f1@5 ~ f1@2 ~@4 f1 ~ g1 ~", R: "ab1@5 ~ ab1@3 ~@3 eb1@4",
  S: "c2@4 ~@2 c2 ~ c2@5 ~@3", T: "gb1@4 ~@2 gb1 ~ gb1@5 ~ gb1 ~", U: "d1@4 ~@2 d1 ~ g1@4 ~@4", V: "c2@4 c2@3 ~@5 c2@4",
  W: "d2@4 ~@2 d2 ~ g1@4 ~@2 g1 ~", X: "c2@4 c2@4 ~@4 g1 ~ a1 ~", Y: "db2@5 ~ db2 ~",
  Z: "~@2 db2 ~@3 db2 ~ f2@4 ab2@3 ~", AA: "db2@11 ~@5", AB: "ab1@3 eb2@3 eb2 eb1", AC: "ab1@3 ab1 ~@4",
  AD: "~@2 ab1 ~@3 ab1 ~ c2@4 eb2@4", AE: "ab1@3 ab1 ~@2 eb1 ~", AF: "db2@6 ~@2 ab2@5 ~ b1 ~", AG: "b1@5 ~ b1@2 ~@8",
  AH: "b1@5 ~ gb2 ~ gb2@4 b1@4", AI: "[gb1@5 ~ gb1@2 ~@2 gb1 ~ ab1 ~ a1@18]/2", AJ: "db2@4 ~@2 db2 ~ db2@5 ~@3",
  AK: "g1@4 ~@2 g1 ~ g1@5 ~ g1 ~", AL: "eb1@4 ~@2 eb1 ~ ab1@4 ~@4", AM: "ab1@4 ~@2 ab1 ~ ab1@4 ~@2 ab1 ~",
  AN: "eb2@4 ~@2 eb2 ~ ab1@4 ~@2 ab1 ~", AO: "db2@4 db2@4 ~@4 ab1 ~ bb1 ~", AP: "db2@3 ~@4 ab2",
  AQ: "db2@4 ~@2 ab2 ~ ab2@4 ~@2 db2 ~", AR: "db2@2 ~ db2 ~@4", AS: "db2@5 ~ ab2 ~ ab2@3 ~ db2 ~@3",
  AT: "ab1@5 ~ ab1 ~@5 eb2 ~ eb2 ~", AU: "ab1@4 ~@2 eb2 ~ eb2@4 ~@2 ab1 ~", AV: "ab1@5 ~ ab1 ~@9",
  AW: "ab1@5 ~ eb2 ~ eb2@4 ~@2 ab1 ~", AX: "gb1@11 ~ gb1@2 ab1 ~", AY: "a1@15 ~", AZ: "ab1@15 ~", BA: "g1",
  BB: "eb1@8 ab1@7 ~", BC: "gb1!8", BD: "a1!8", BE: "ab1!8", BF: "g1@2 g1@2 g1@2 g1 ~ g1@2 g1@2 g1@2 g1@2", BG: "g1!8",
  BH: "~ bb1@3 bb2@4 bb1@4 bb2@4", BI: "ab1 ab2 ab1 ab2", BJ: "eb1 eb2 eb1 eb2", BK: "eb1@2 eb2@2 eb1@2 gb1 ab1",
  BL: "bb1 bb2 bb1 bb2", BM: "eb1@2 eb2@2 eb1@2 eb2 eb1",
})).s("gm_electric_bass_finger").gain(0.62)

// chords · drawbar organ
const drawbar_organ = note(`<
  A@7 ~ B@3 C@4 D E@2 F G H I J K L H M H L H M A@7 ~ N@3 O@4 P Q@2 R S T U V W@2 X T Y T X T Y Z ~@10 AA ~ AA ~@2 AB X
  T Y T X T R S T U V AC AD T AE AC AD T AE AC AD ~ AF@7 ~ AG@8 ~
>`.pickRestart({
  A: "[e5@7 gb5 e5@6, [a4,c5]]/7", B: "[e4,g4,c5]/3", C: "[~@4 a5 g5@3 a5 g5@7, [d4,g4,b4]]/4", D: "[c4,g4,c5,e5,g5]",
  E: "[c5,e5,g5,bb5]/2", F: "[c5,f5,a5]", G: "[c5,f5,ab5]", H: "[g4,c5,e5]", I: "[gb4,a4,c5,eb5]@6 [eb5,a5] [a4,c5]",
  J: "[d5,f5,a5]@2 [c5,e5,g5]@2 [d5,f5,a5]@3 [f4,a4] [c5,e5,g5]@3 [e4,g4] [f4,a4,d5,f5]@3 [d4,f4]", // Dm C Dm F C Em Dm
  K: "[e4,g4,c5,e5]@3 ~ [e4,g4,c5]@12", L: "[a4,c5,f5]", M: "[a4,c5,f5] [b4,d5,g5]", N: "[f4,ab4,db5]/3",
  O: "[~@4 bb5 ab5@3 bb5 ab5@7, [eb4,ab4,c5]]/4", P: "[db4,ab4,db5,f5,ab5]", Q: "[db5,f5,ab5,b5]/2", R: "[db5,gb5,bb5]",
  S: "[db5,gb5,a5]", T: "[ab4,db5,f5]", U: "[g4,bb4,db5,e5]@6 [e5,bb5] [bb4,db5]",
  V: "[eb5,gb5,bb5]@2 [db5,f5,ab5]@2 [eb5,gb5,bb5]@3 [gb4,bb4] [db5,f5,ab5]@3 [f4,ab4] [gb4,bb4,eb5,gb5]@3 [eb4,gb4]", // Ebm Db Ebm Gb Db Fm Ebm
  W: "[bb4,db5,gb5]/2", X: "[bb4,db5,gb5]", Y: "[bb4,db5,gb5] [c5,eb5,ab5]", Z: "[db5,f5,ab5]",
  AA: "[gb5,bb5,db6,f6,ab6]", // Gbmaj7
  AB: "[gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~", // Gbmaj7
  AC: "[bb4,db5,f5]", AD: "[a4,db5,f5]", AE: "[g4,bb4,db5,f5]", AF: "[f5@7 g5 f5@6, [bb4,db5]]/7",
  AG: "[f5@7 g5, [bb4,db5]]/4", // Bbm
})).s("gm_drawbar_organ").gain(0.18).pan(0.3)

// chords · synth brass 1
const synth_brass_1 = note(`<
  ~@23 A B C ~ D E C ~@25 F G H ~ I J H ~@18 K L K M K N ~@5 K O K O K O P Q R S T U ~@3 V ~@3 U ~@3 U ~@4
>`.pickRestart({
  A: "~@4 g4@4 a4@3 ~ c5@3 ~", B: "[e5,g5]@3 ~ [d5,f5] ~ [c5,e5] ~ [b4,d5] ~ [c5,e5]@2 ~@2 [d5,f5]@2",
  C: "~@2 [c5,e5]@3 ~ [b4,d5] ~ [a4,c5] ~ [b4,d5]@3 ~@3", D: "~@10 g4 ~ a4 ~ c5 ~",
  E: "[e5,g5]@3 ~ [d5,f5] ~ [c5,e5] ~ [b4,d5] ~ [c5,e5]@3 ~ [d5,f5]@2", F: "~@10 ab4 ~ bb4 ~ db5@2",
  G: "[f5,ab5]@3 ~ [eb5,gb5] ~ [db5,f5] ~ [c5,eb5] ~ [db5,f5]@2 ~@2 [eb5,gb5]@2", // Fm Ebm Db Cm Db Ebm
  H: "~@2 [db5,f5]@3 ~ [c5,eb5] ~ [bb4,db5] ~ [c5,eb5]@3 ~@3", I: "~@10 ab4 ~ bb4 ~ db5 ~",
  J: "[f5,ab5]@3 ~ [eb5,gb5] ~ [db5,f5] ~ [c5,eb5] ~ [db5,f5]@3 ~ [eb5,gb5]@2", // Fm Ebm Db Cm Db Ebm
  K: "f5@3 ~ eb5 ~ db5 ~ c5 ~ db5@3 ~ eb5@2", L: "~@2 db5@2 ~@2 c5 ~ bb4 ~ c5@3 ~@3",
  M: "~@2 db5@2 ~@2 c5 ~ bb4 ~ c5@2 ~@4", N: "~@2 db5@2 ~@2 c5@2 bb4 ~ c5@3 ~@3", O: "~@2 db5@3 ~ c5 ~ bb4 ~ c5@4 ~@2",
  P: "eb5@2 db5 ~ eb5 ~ db5 ~ eb5 ~ db5@3 ~ eb5@2", Q: "~@2 db5 ~ eb5 ~ db5 ~ eb5 ~ db5@3 ~@3",
  R: "db5 ~ db5 ~ c5 ~ c5 ~ bb4 ~ c5@3 ~ db5@2", S: "~@2 db5 ~ c5 ~ c5@2 bb4 ~ c5@4 ~@2",
  T: "db5 ~ db5 ~ c5 ~ c5@2 bb4@3 ~ c5@3 ~", U: "[f4,bb4,db5] ~@7", V: "[f4,bb4,db5]@3 ~@13",
})).s("gm_synth_brass_1").gain(0.45)

// other · lead 8 bass lead
const lead_8_bass_lead = note(`<
  A B C D A B C ~@24 A B C D A B C D ~@63 E F G H E F G ~ E F G H E F G H ~
>`.pickRestart({
  A: "[c4,c5] ~ [d4,d5] ~ [eb4,eb5] ~@2 [c4,c5]", B: "~ [d4,d5] ~ [eb4,eb5] ~@2 [c4,c5] ~",
  C: "[d4,d5] ~ [eb4,eb5] ~@2 [c4,c5] ~ [d4,d5]", D: "~ [d4,d5] ~ [e4,e5] ~ d5 [c4,c5] ~, ~@10 d4 ~@5",
  E: "[db4,db5] ~ [eb4,eb5] ~ [e4,e5] ~@2 [db4,db5]", F: "~ [eb4,eb5] ~ [e4,e5] ~@2 [db4,db5] ~",
  G: "[eb4,eb5] ~ [e4,e5] ~@2 [db4,db5] ~ [eb4,eb5]", H: "~ [eb4,eb5] ~ [f4,f5] ~ eb5 [db4,db5] ~, ~@10 eb4 ~@5",
})).s("gm_lead_8_bass_lead").gain(0.4)

// chords · trumpet
const trumpet = note("<~@15 A B@2 C D ~@19 E@3 ~ E F G ~ H@2 I ~ E J G ~@10 K L M N O P@2 Q ~@8 R ~@38>".pickRestart({
  A: "~@10 g4 ~ a4 ~ b4 ~", B: "[c5@27 ~ g4@3 ~]/2", C: "a4@15 ~", D: "ab4@7 ~", E: "~@6 ab4 ~ bb4@3 ~ ab4@2 ~@2",
  F: "~@6 ab4@2 bb4 ~ bb4@2 ab4@2 ~@2", G: "~@6 ab4 ~ bb4 ~ bb4 ~ ab4@2 ~@2", H: "~@4 [ab4,db5] ~@7 [ab4,db5] ~@3",
  I: "~@4 [db4,gb4,bb4] ~@7 [db4,gb4,bb4] ~@3", J: "~@6 ab4 ~ bb4@3 ~ db5@2 ~@2", K: "[db4,ab5] [ab3,f5]!2 [f3,db5]",
  L: "[f3,db5]@4 [db3,ab4]@9 ~@3", M: "[db4,f5] [ab3,db5]!2 [f3,ab4]", N: "[bb3,gb4]@3 ~",
  O: "[ab3,gb4] [bb3,ab4] [c4,bb4] [db4,c5]", // Ab7 Bb7 C7 Dbmaj7
  P: "[[c4,gb4]@4 ~@12 gb3 ~ ab3 ~ bb3 ~ c4 ~ db4 ~ c4 ~ bb3 ~ ab3 ~, ~ [eb4,ab4]@7]/2", Q: "gb3 ~@7",
  R: "[ab4,ab5]@7 ~@9", // Ab
})).s("gm_trumpet").gain(0.49)

// other · tenor sax
const tenor_sax = note("<~@39 A@3 ~ A B C ~ D@2 E ~ A F C ~@10 G H I J K L@2 ~@48>".pickRestart({
  A: "~@6 ab3 ~ bb3@3 ~ ab3@2 ~@2", B: "~@6 ab3@2 bb3 ~ bb3@2 ab3@2 ~@2", C: "~@6 ab3 ~ bb3 ~ bb3 ~ ab3@2 ~@2",
  D: "~@4 [f4,b4] ~@7 [f4,b4] ~@3", E: "~@4 [db4,gb4,bb4] ~@7 [db4,gb4,bb4] ~@3", F: "~@6 ab3 ~ bb3@3 ~ db4@2 ~@2",
  G: "f4 db4!2 ab3", H: "ab3@4 f3@9 ~@3", I: "db4 ab3!2 f3", J: "eb3@3 ~", K: "bb3 c4 db4 eb4", L: "[bb3 c4@7]/2",
})).s("gm_tenor_sax").gain(0.42)

// chords · string ensemble 2
const string_ensemble_2 = note("<~@71 A@8 B ~@39>".pickRestart({
  A: "[gb5,bb5,db6]/4", B: "[gb5,bb5,db6]",
})).s("gm_string_ensemble_2").gain(0.21)

// other · piano
const piano = note("<~@24 A@2 ~@2 A@2 ~@26 B@2 ~@2 B@2 ~@40 C ~@3 C ~@3 C ~@3 D ~@4>".pickRestart({
  A: "[g5@2 f5 e5 d5 e5@2 f5@2 e5@2 d5 c5 d5@3]/2", B: "[ab5@2 gb5 f5 eb5 f5@2 gb5@2 f5@2 eb5 db5 eb5@3]/2",
  C: "[f4,bb4,db5]@3 ~@5", D: "[f4,bb4,db5] ~@7",
})).s("gm_piano").gain(0.05)

// other · timpani
const timpani = note("<~@69 [~@8 ab1!8] [ab1!16] ~@48>").s("gm_timpani").gain(0.44)

// chords · rock organ
const rock_organ = note(`<
  ~@4 A B C D ~@16 E F G H I J K ~@4 A B C ~@16 L@2 M N O P Q R S T ~@7 U@2 ~ V@2 ~ V@2 W X Y Z AA AB Y AC AD AE AF AG
  AH AI R AJ AH AI R AJ AH AI ~@5 AK AL AM AN ~@9
>`.pickRestart({
  A: "c5@4 [c6,e6]@3 a4", B: "[a5,c6,e6]@3 ~ [a5,c6,e6]@4", C: "~@4 d5@3 ~, [a4,c5]@7 ~",
  D: "b5@4 g5@2 ~@2 b5@4 g5 ~@3", E: "[a4,c5,f5]@7 ~",
  F: "[g4,c5,e5]@3 ~ [g4,c5,e5]@2 [g4,c5,e5]@2 [g4,c5,e5]@2 [g4,c5,e5]@2 [g4,c5,e5]@3 ~", // C
  G: "[a4,c5,f5]!2 [b4,d5,g5]!2", // F G
  H: "[g4,c5,e5]@2 ~@2 [e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~ [e5,g5,c6] ~", I: "[a4,c5,f5]",
  J: "[g4,c5,e5]", K: "[a4,c5,f5] [b4,d5,g5]",
  L: "[bb4@2 ~@2 ab4 ~ ab4 ~ bb4 ~ ab4@5 ~ bb4 ~@3 ab4 ~ ab4 ~ bb4 ~ ab4 ~@5, [db5,gb5]]/2", M: "[bb4,db5,gb5]@7 ~",
  N: "[ab4,db5,f5]@3 ~ [ab4,db5,f5]@2 [ab4,db5,f5]@2 [ab4,db5,f5]@2 [ab4,db5,f5]@2 [ab4,db5,f5]@3 ~", // Db
  O: "[bb4,db5,gb5]!2 [c5,eb5,ab5]!2", // Gb Ab
  P: "[ab4,db5,f5]@2 ~@2 [f5,ab5,db6] ~ [f5,ab5,db6] ~ [f5,ab5,db6] ~ [f5,ab5,db6] ~ [f5,ab5,db6] ~ [f5,ab5,db6] ~", // Db
  Q: "[bb4,db5,gb5]", R: "[ab4,db5,f5]", S: "[bb4,db5,gb5] [c5,eb5,ab5]",
  T: "[db5,f5,ab5]@3 ~ [db4,f4,ab4,db5] ~ [db4,f4,ab4,db5] ~ [db4,f4,ab4,db5] ~ [db4,f4,ab4,db5] ~ [db4,f4,ab4,db5] ~@3", // Db
  U: "~@4 f6 ~ [db6,f6,ab6] ~@3 [db6,f6,ab6] ~@5", V: "~@4 [db6,f6,ab6] ~ [db6,f6,ab6] ~@3 [db6,f6,ab6] ~@5",
  W: "[gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~ [gb5,bb5,db6,f6] ~", // Gbmaj7
  X: "~@4 [bb4,db5] ~@7 [bb4,db5] ~@3, ~@2 gb5 ~@3 gb5 ~", Y: "~@4 [ab4,db5] ~@7 [ab4,f5]@2 ~@2, ~@4 f5@2 ~@6 db5 ~@3",
  Z: "~@4 [bb4,gb5]@2 ~@6 [eb5,ab5] ~@3, ~@4 db5 ~@7 c5@2 ~@2", AA: "~@2 [ab4,f5] ~@3 [ab4,db5,f5] ~, ~@4 db5 ~@11",
  AB: "~@4 [bb4,gb5]@2 ~@6 [bb4,db5] ~@3, ~@4 db5 ~@7 gb5@2 ~@2", AC: "db5 bb4 bb5 bb4", AD: "db5 a4 a5 a4",
  AE: "ab5@3 ~ f5@3 ~ db5@3 ~ ab5@3 ~", AF: "g5@3 ~ db5@3 ~ bb4@3 ~ g4@3 ~", AG: "[eb5,gb5,bb5] [c5,eb5]",
  AH: "[bb4,db5,f5]", AI: "[a4,db5,f5]", AJ: "[g4,bb4,db5,f5]", AK: "db5@4 [db6,f6]@3 bb4",
  AL: "[bb5,db6,f6]@3 ~ [bb5,db6,f6]@4", AM: "~@4 eb5@3 ~, [bb4,db5]@7 ~", AN: "c6@4 ab5@2 ~@2 c6@4 ab5 ~@3",
})).s("gm_rock_organ").gain(0.29).pan(0.8)

// chords · rock organ · soft notes
const rock_organ_soft = note("<~@4 A B ~@29 A B ~@34 C@2 ~@17 D ~@15 E F ~@11>".pickRestart({
  A: "[a4,e5]@4 a5@3 [c5,e5]", B: "~@3 [a4,c5,e5] ~@4", C: "~@4 [db6,ab6] ~@11", D: "~ ab5",
  E: "[bb4,f5]@4 bb5@3 [db5,f5]", F: "~@3 [bb4,db5,f5] ~@4",
})).s("gm_rock_organ").gain(0.21).pan(0.8)

// chords · pad poly
const pad_poly = note("<~@7 A ~@18 B C ~@2 D E ~@26 F G ~@2 H I ~@9 J ~ J ~ J K L ~@29 M ~@9>".pickRestart({
  A: "[gb3,gb4,bb4,db5] [gb3,bb4,db5]!4 ~ [gb3,bb4,db5] ~ [gb3,bb4,db5]!2 [gb3,gb4,bb4,db5] [gb3,bb4,db5] [gb3,gb4,bb4,db5] ~ [gb3,gb4,bb4,db5] ~", // Gb
  B: "c5!5 ~ c5 ~ c5 ~ b4@3 ~ a4 ~", C: "a4 ~ g4@2 ~@12", D: "c5 ~ c5!3 ~ c5 ~ c5@2 ~@2 b4@2 ~@2", E: "c5@3 ~@13",
  F: "db5!5 ~ db5 ~ db5 ~ c5@3 ~ bb4 ~", G: "bb4 ~ ab4@2 ~@12", H: "db5 ~ db5!3 ~ db5 ~ db5@2 ~@2 c5@2 ~@2",
  I: "db5@3 ~@13", J: "[bb4,db5,f5]!5 ~ [bb4,db5,f5] ~ [bb4,db5,f5]@3 ~ [ab4,c5,eb5]@3 ~",
  K: "[bb4,db5,f5]!5 ~ [bb4,db5,f5] ~ [bb4,db5,f5]!5 ~ [bb4,db5,f5] ~", // Bbm
  L: "~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5] ~ [bb4,db5,f5]", // Bbm
  M: "[g3,g4,b4,d5] [g3,b4,d5]!4 ~ [g3,b4,d5] ~ [g3,b4,d5]!2 [g3,g4,b4,d5] [g3,b4,d5] [g3,g4,b4,d5] ~ [g3,g4,b4,d5] ~", // G
})).s("gm_pad_poly").gain(0.51)

// chords · pad poly · soft notes
const pad_poly_soft = note("<~@7 [~ gb4!4 ~ gb4 ~ gb4!2 ~ gb4 ~@4] ~@101 [~ g4!4 ~ g4 ~ g4!2 ~ g4 ~@4] ~@9>")
  .s("gm_pad_poly").gain(0.32)

// other · brass section
const brass_section = note("<~@15 A B@2 C D ~@19 E@3 ~ E F G ~@24 H ~@9 I ~@38>".pickRestart({
  A: "~@10 g4 ~ a4 ~ b4 ~", B: "[c5@27 ~ g4@3 ~]/2", C: "a4@15 ~", D: "ab4@7 ~", E: "~@6 ab4 ~ bb4@3 ~ ab4@2 ~@2",
  F: "~@6 ab4@2 bb4 ~ bb4@2 ab4@2 ~@2", G: "~@6 ab4 ~ bb4 ~ bb4 ~ ab4@2 ~@2", H: "[gb3,ab3,db4,gb4,ab4,db5]",
  I: "[ab4,ab5]@7 ~@9", // Ab
})).s("gm_brass_section").gain(0.35)

// chords · electric guitar jazz
const electric_guitar_jazz = note("<~@71 A B@6 C@2 ~@39>".pickRestart({
  A: "[db3,f3,bb3] ~@3 [db3,f3,bb3] ~@5 [db3,f3,bb3] ~@3 [db3,f3,bb3] ~", // Bbm
  B: "[~@2 [db3,f3,bb3] ~@3 db3 ~ [db3,f3,bb3] ~@3 [db3,f3,bb3]@7 ~ [db3,f3,bb3] ~@5 [db3,f3,bb3] ~@3 [db3,f3,bb3] ~]/2", // Bbm
  C: "[~@2 [db3,f3,bb3] ~@3 db3 ~ [db3,f3,bb3] ~@3 [db3,f3,bb3]@20]/2", // Bbm
})).s("gm_electric_guitar_jazz").gain(0.35).pan(0.2)

// other · whistle
const whistle = note("<~@71 A B C D A B C D ~@5 E@2 ~@7 F ~@3 G H ~@20>".pickRestart({
  A: "f5", B: "eb5", C: "db5", D: "c5 db5", E: "f5/2", F: "~ f5@15", G: "f5@7 ~ db5@7 ~", H: "f5@7 ~ db5@6 ~@2",
})).s("gm_whistle").gain(0.22)

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

// drums · kick · soft notes
const kick_soft = s("bd").struct("<A@7 ~ A@30 ~ A@11 ~ B@4 ~ A@7 ~@17 A@7 C ~@3 A@10 ~ A@7 ~ A@8 ~>".pickRestart({
  A: "~@3 x ~@4", B: "~@3 x ~@3 x", C: "~@3 x ~ x ~ x",
})).gain(0.46)

// drums · rim
const rim = s("rim").struct("<~@64 [~ x ~@2]!7 [~@2 x ~@2 x ~@2]!3 [~ x ~@2] [~@2 x ~@2 x ~@2]!3 [~ x ~@2] ~@40>")
  .gain(0.61)

// drums · snare
const snare = s("sd").struct(`<
  A@7 ~ A@15 ~ B@7 A@7 C A@10 D ~ A@4 E A@7 F ~@7 B@8 G B@7 H ~@3 A@10 ~ A@7 ~ A@8 ~
>`.pickRestart({
// … 91 more lines

More by Mina