Strudelify
Non gioco piu cover art

Del Mio Meglio Boxset

Non gioco piu

Mina

KeyF majorTempo99 bpm
0:00/0:00
// Non gioco piu — Mina
// 99 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (4/4 at bar 1, 6/8 at bar 2) are rendered on a constant 6/8 grid of one bar per cycle
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 95 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(99/3)

// 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 · piano
const piano = note(`<
  ~ A@6 B C@7 D@7 E F ~ G@6 D@7 E F ~ H@6 I@3 J K L M@4 N O P Q R S@2 ~ T@8 U V W X Y ~ Z@6 AA@4 AB@3 AC@2 ~
>`.pickRestart({
  A: "[~@16 [f3,eb4,g4,a4,d5]@5 ~@12 [f3,eb4,d5]@2 ~@17 d5@4 ~@4 [db5,f5]@3 ~ [d5,f5]@7 ~ db5 ~@3 bb4@4 f4@4 g4@4 [d5,f5]@4 ~@21 a4@7 ~@12 a4@4 g4@2 ~@2 c5@2 db5@2, ~@21 a3@3 f3@2 [a3,eb4]@2 f3@2 [f3,eb4,g4,d5]@2 a4@2 ~@2 d5@2 [eb4,g4]@2 [a3,a4]@2 d5@2 [f3,eb4,g4,d5]@2 [f3,eb4]@2 [eb4,a4]@2 f3@2 f3 ~@3 f4@8 db5 ~@7 [d5,f5]@8 ~@16 f5@15 ab4@2 ~@7 c4@15 ~@9, ~@23 [eb4,g4]@2 a4@2 d5@2 [a3,a4]@2 a3@2 ~@2 [a3,eb4,a4]@2 [f3,a3,a4]@2 [f3,d5]@2 [f3,eb4,g4]@2 [a3,a4]@2 [a3,a4]@2 a3@11 ~@6 f3@23 ~ ab3@20 d5@5 ~@15 f4@7 ~@3 ab4@2 ~@4, ~@47 d5@2 [g4,d5]@2 [eb4,a4]@7 ~@34 f4@12 f4@8 a3@19 ~@13, ~@96 d5@11 bb4@5 c5@8 ~@4 d4@11 ~@4 a4@2 ~@3]/6", // Dm Db Dm Adim Ebmaj7 Eb A Ebmaj7 …
  B: "d5@15 ~ [g3,bb3]@2 ~@6", // Gm
  C: "[[a3,c4,eb4]@4 d4@2 ~@6 [db3,ab3,b3,eb4]@4 [e3,bb3,c4,d4]@24 [d3,ab3,c4,f4]@24 ~ db5 d5@2 f5@20 [c3,f3,a3,d4]@24 ~ ab5 ~ a5 c6@20 f4@19 ~ f4@4 f5@3 ~ f4@4, ~@4 bb3 ~@59 c5@2 ~@46 g5@2 ~@22 [eb3,g3,bb3,db4]@24 ~@8]/7", // Adim Abm Em7b5 Dm7b5 Dm7 Eb7
  D: "[f5@13 ~@3 [d3,gb3,a3,c4,e4]@20 d5@4 d6@3 ~@5 d6@10 ~@6 [g3,bb3,d4]@11 ~ [gb3,a3,c4,eb4]@11 ~ [g3,bb3,d4,f4]@23 ~ [g3,bb3,d4,f4]@11 ~ [g3,b3,d4,f4]@11 ~ [g3,bb3,c4,e4]@21 ~@3 [g3,bb3,c4,e4]@4 ~@4, ~@11 d5@5 ~@26]/7", // D7 Gm Gbdim Gm7 G7 C7
  E: "~ [gb3,b3,eb4] ~@2 [f3,bb3,d4] ~", F: "~ [eb3,g3,bb3,db4] ~@2 [e3,g3,c4]@2",
  G: "[~@16 [d3,ab4,d5,g5,bb5]@24 ~ db5 d5@2 f5@20 ~@12 [ab5,c6]@3 ~ f5@3 ~ f5@3 ~ [ab5,c6]@3 ~ f5@3 ~ f5@4 [ab5,c6]@3 ~ f5@3 ~ f5@4 f4@19 ~ f4@4 f5@3 ~ f4@4, ~@40 c5@2 ~@22 [c3,f3,a3]@15 a5@6 ~@6 a5@5 ~@7 a5@6 ~@35, ~@65 d4@15 ~@3 d5@2 ~@10 d5@2 ~@10 d5@2 ~@3 [eb3,g3,bb3,db4]@24 ~@8]/6", // Gm Ab F Eb7
  H: "[~@17 d4@2 ~@8 [d5,bb5]@2 ~@19 [d5,bb5]@2 f5@2 [g4,c5,d5,f5,bb5]@12 ~@12 [ab5,c6]@3 ~ f5@3 ~ f5@3 ~ [ab5,c6]@3 ~ f5@3 ~ f5@4 [ab5,c6]@3 ~ f5@3 ~ f5@3 ~ [eb3,g3,bb3,db4]@24 ~@8, ~@16 [g4,c5,f5,bb5]@4 bb5@2 [c5,f5]@2 [d5,bb5]@2 [d4,c5]@3 ~ [d4,c5]@2 f5@2 [d4,d5,bb5]@2 [c5,f5]@2 bb5@2 [d4,c5]@2 g4@2 d4@2 [g4,f5]@3 ~@16 d4@14 a5@6 ~@6 a5@5 ~@7 a5@6 ~@35, ~@16 d5@2 ~ [d4,c5]@2 g4@2 d4@2 [g4,f5]@3 ~ f5@2 [g4,bb5]@2 c5@2 g4@2 [d4,d5]@2 f5@2 bb5@2 [c5,f5]@2 [d5,bb5]@2 [d4,c5]@3 ~@14 [c3,f3,a3]@16 ~@3 d5@2 ~@10 d5@2 ~@10 d5@2 ~@3 f4@19 ~@13]/6", // Gm Gm7 Ab Eb7 Gm7 F5 Gm D7 …
  I: "[~@16 [b3,d4,e4,g4]@20 ~@4 [a3,db4,e4,g4]@23 ~ [b3,db4,e4] ~@3 [b3,db4,e4,g4]@2 ~@2, ~@32 g4 ~@3]/3", // Em7 A7 Dbm7 Dbm7b5
  J: "[b3,db4,e4,g4] ~ [b3,db4,e4,g4] ~@9", K: "~@8 [d4,f4,ab4] ~ [d4,f4,ab4] ~", L: "[d4,f4,ab4] ~@9 [db4,e4,g4] ~",
  M: "[[db4,e4,g4]@2 ~@2 [db4,e4,g4]@2 ~@2 [db4,e4,g4]@2 ~@2 [db4,e4,g4]@4 [c4,d4,gb4,b4]@4 a3@2 ~@2 [a3,gb4]@2 ~@12 [c4,b4]@2 ~ b4@2 ~@2 b4@2 ~@7 [bb3,g4]@2 ~@2 bb3@2 ~@2 bb3 ~@2 [a3,gb4]@2 ~@5 [a3,gb4]@2 ~@2 [a3,gb4]@2 ~@2 gb4@2 ~@5 gb4@2 ~ [a3,gb4]@2 ~@2 [a3,gb4]@2, ~@16 a3@3 ~@3 [c4,d4]@3 ~ [c4,d4,b4]@2 c4@2 a3@2 c4@2 gb4@2 [a3,d4,b4]@2 ~@2 [a3,gb4]@3 ~ a3@2 ~ [a3,gb4]@2 gb4@3 c5@4 ~ g4@3 g4@2 ~ [c4,g4]@3 ~ [c4,b4]@2 gb4@2 b4@3 ~ b4@3 ~ a3@2 ~@2 a3@2 c4@3 ~ [c4,b4]@3 c4@3 ~, ~@23 b4@2 ~@2 [a3,gb4]@2 b4@2 gb4@2 [a3,b4]@2 c4@2 gb4@2 ~@4 gb4@3 ~@2 b4@3 bb3@2 c4@3 [bb3,eb4,c5]@2 [eb4,c5]@3 c5@3 b4@3 ~ a3@2 c4@3 ~ c4@3 ~ [c4,d4,b4]@3 ~ [c4,b4]@2 gb4@2 [a3,b4]@3 ~@4 b4@3]/4", // Dbdim Bm D Cmaj7 Eb D Csus2 G …
  N: "~ [a3,gb4] d4@6 [f3,b3,f4] ~ [f3,b3,f4] ~, [c4,b4]@3 ~ [a3,c4,gb4,b4]@20, ~ d4@3 ~@12 d4 ~@3 d4 ~@3", // D Fdim Cmaj7 Gbdim
  O: "[f3,b3,f4] ~@7 [f3,b3,f4] ~ [f3,b3,d4,f4] ~, d4 ~@15 d4 ~@7", // Fdim Bdim
  P: "[f3,b3,d4,f4]@2 ~@14 [gb3,c4,eb4,gb4]@3 ~ [gb3,c4,eb4]@2 ~@2", // Bdim Cdim
  Q: "[gb3,eb4,gb4]@2 ~@18 [f3,d4,f4] ~@3, c4 ~@19 b3@2 ~@2", // Ebm Dm
  R: "[f3,b3,f4]@2 ~@2 [f3,b3,d4,f4]@2 ~@2 [f3,b3,d4,f4]@2 ~@2 [f3,b3,f4]@2 ~@4 bb4 ~@3 g4@2, d4 ~@11 d4 ~@3 [e4,g4,bb4]@2 ~ g4@2 bb4@3, ~@17 c5@3 [e4,c5]@3 ~", // Fdim Bdim Fdim Edim C
  S: "[~@2 g4@2 c5@2 g4@2 ~ g4@3 ~ g4@2 ~@11 c5@2 ~@2 [f4,ab4]@2 db5@2 ~ f4@2 ~@2 f4 ~ [bb4,c5]@4 ~@3, c5@3 ~@9 c5@3 c5@2 g4@2 c5@2 g4@2 c5@2 e4@2 ~@2 b4@2 ~@3 [ab4,b4]@3 ~ b4@2 [e4,g4]@3 ~@5, ~ bb4@3 ~@4 [bb4,c5]@3 ~@5 bb4@2 e4@2 bb4@2 e4@2 [g4,bb4]@3 ~ db5@3 ~@6 db5@2 ab4@3 ~@6]/2", // Fm Bbsus2 Abm Em Bbsus2 Gm
  T: "[~@16 [d3,ab3,c4,f4]@24 ~ db5 d5@2 f5@20 [c3,f3,a3,d4]@24 ~ ab5 ~ a5 c6@20 [d3,ab3,c4,f4]@24 ~@2 d5@2 f5@8 c5@2 db5 ~ f5@8 [c4,e4]@22 ~@6 [gb3,a3,e4]@2 ~@2, ~@20 c5 ~@23 g5 ~@23 c5 ~@27, ~@137 db5@2 ~@12 d5@2 ~@39]/8", // Dm7b5 Dm7 Dm7b5 C Gbm7
  U: "[gb3,a3,e4] ~ [gb3,a3,e4] ~ [gb3,a3,eb4] ~ [gb3,a3,eb4] ~ [g3,bb3,d4]@4", V: "~@2 [a3,c4,eb4]@5 ~ [bb3,d4]@4",
  W: "~@4 [b3,d4]@9 ~@3 [g3,c4,e4]@7 ~", X: "~ [db3,eb4]@2 ~ [bb3,d4]@2", Y: "~@4 [bb3,db4]@9 ~@11",
  Z: "[~@16 [d3,ab3,c4,f4]@24 ~ db5 d5@2 f5@20 [c3,f3,a3,d4]@24 ~ ab5 ~ a5 c6@20 [d3,ab3,c4,f4]@24 ~ db5 d5@2 f5@4, ~@20 c5 ~@23 g5 ~@23 c5 ~@3]/6", // Dm7b5 Dm7 Dm7b5
  AA: "[~@4 c5@2 db5 ~ f5@8 [c3,f3,a3,d4]@24 ~ ab5 ~ a5 c6@20 f4@19 ~ f4@4 f5@3 ~ f4@4, ~@7 d5@2 ~@31 g5@2 ~@22 [eb3,g3,bb3,db4]@24 ~@8]/4", // Dm7 Eb7
  AB: "[f5@13 ~@3 [f3,a3,d4]@48 ~@8, ~@16 c3@45 ~@11]/3", AC: "[~@4 [db3,gb3,bb3,eb4]@8 [c3,a3,d4]@25 ~@11]/2",
})).s("gm_piano").gain(0.27).pan(0.3)

// chords · piano · soft notes
const piano_soft = note(`<
  ~ A B C ~ D E@2 ~@16 F ~@15 F G H ~@11 I J@2 ~@2 K ~ L@2 ~@8 M@2 ~@4 N@2 ~@12 O P@2 ~
>`.pickRestart({
  A: "~@17 a3@2 ~@3 f3@2", B: "d5 ~@2 g4@2 ~@4 g4@2 ~ g4@2 ~@8 g4@2", C: "~@2 g4@3 ~@7", D: "~@11 db5@5 ~@8",
  E: "[~@16 [d3,c4]@23 ~@9]/2", F: "~ [e3,g3,bb3,c4] ~@2 [e3,g3,bb3,c4] ~", G: "~@10 d5 ~", H: "~@6 d5@3 ~@8 d5@3 ~@4",
  I: "~@9 d4@2 ~@3 d4@3 ~ c4@2 d4@2 c4@2, ~@17 d4@3 ~@2 d4 ~",
  J: "[~ c4@4 eb4@2 ~@5 bb3@2 ~@2 d4@3 ~@4 d4@3 ~ d4@3 ~@4 d4@3 ~@4 d4@3 ~ d4@3, ~@11 c4@3 ~@34]/2", K: "~@20 gb4@3 ~",
  L: "[~@23 e4@2 ~@4 bb4@2 e4@2 ~@2 e4@2 bb4@2 e4@2 ~@7, ~@14 e4 ~@9]/2", M: "[~@16 g3@22 ~@2 [f3,ab3]@3 ~@5]/2",
  N: "[~@16 [g3,c4]@23 ~@9]/2", O: "~@16 [c3,f3,a3,d4]@3 ~@5", P: "[~@12 f3@25 ~@11]/2",
})).s("gm_piano").gain(0.16).pan(0.3)

// bass · acoustic bass
const bass = note(`<
  ~ A@2 B@4 C D@2 E F G@2 H@4 I J K L M N@3 E F G@2 H@4 O J K L M P@3 Q@2 G@2 R@2 S@2 T U V W X@4 Y Z AA AB AC@2 ~ AD@2
  F AE@2 AF@2 AG AH@8 F AI@3 F G@2 AJ AK AL@2 AM@2 ~
>`.pickRestart({
  A: "[~@8 f2@12 a2 ~@3]/2", B: "[~@4 a1@12 bb1@16 f2@3 ~ bb1@4 b1@23 ~ c2@24 d2@6 ~@2]/4",
  C: "d3@11 ~ a1@3 ~ g1@2 ~@6", D: "[a1@3 ~ bb1@2 ~@6 b1@4 c2@22 ~@2 bb1@8]/2", E: "~@4 bb1@11 ~ bb1@8",
  F: "~@4 bb1@7 ~ e2@4 f2@8", G: "[~@4 f2@11 ~ f2@11 ~ f2@8 d2@4 eb2@8]/2",
  H: "[~@4 eb2@10 ~@2 eb2@11 ~ eb2@11 ~ d2@11 ~ d2@10 ~@2 d2@11 ~ a2@4 d2@4 a2@3 ~ g1@8]/4",
  I: "g2@4 a1@7 ~ a2@4 bb1@8", J: "~@4 bb1@11 ~ bb1@6 ~@2", K: "bb1@2 b1@3 ~ b1@2 c2@4", L: "~@4 c2@11 ~ c2@6 ~@2",
  M: "c2@4 db2@5 ~@3 db2@4 d2@5 ~@3", N: "[d2@4 eb2@6 ~@2 eb2@4 e2@12 eb2@4 e2@4 g2@4 c2@23 ~ bb1@8]/3",
  O: "g2 a1@2 a2 bb1@2", P: "[d2@4 eb2@5 ~@3 eb2@4 e2@12 eb2@4 e2@4 g2@3 ~ c2@23 ~ bb1@8]/3",
  Q: "[~@4 bb1@11 ~ bb1@11 ~ bb1@7 ~ e2@4 f2@8]/2", R: "[~@4 eb2@10 ~@2 eb2@11 ~ eb2@11 ~ e2@8]/2",
  S: "[~@4 e2@11 ~ a2@11 ~ a2@11 ~ a2 ~@3 a2@2 ~@2]/2", T: "e2@3 ~ a2@2 ~@18", U: "~@8 bb2 ~ bb2 ~",
  V: "bb2@3 ~@17 a2@4", W: "g2@4 e2@4 a2@4 e2@4 d2@7 ~",
  X: "[d2@3 ~ d2@10 ~@2 d2@12 eb2@11 ~ d2@11 ~ d2@11 ~ d2@11 ~ d2@10 ~@2 g2 ~@3 g2@2 ~@2]/4",
  Y: "g2@5 ~@11 g2 ~@3 g2@2 ~@2", Z: "g2@5 ~@11 ab2@2 ~@2 ab2@2 ~@2", AA: "ab2@3 ~@17 g2@4",
  AB: "d2@4 b1@4 g1@4 b1@3 ~ c2@7 ~", AC: "[c2@3 ~ c2@10 ~@2 c2@12 db2@12 c2@4 ~@4]/2",
  AD: "[~@12 b1@4 bb1@11 ~ bb1@11 ~ bb1@8]/2", AE: "[~@4 f2@11 ~ f2@11 ~ f2@8 d2@4 bb1@8]/2",
  AF: "[~@4 bb1@10 ~@2 bb1@11 ~ bb1@9 ~@3 a1@8]/2", AG: "~@2 a1@6 db2@2 d2 ~",
  AH: "[d2@2 ~@2 d2@2 ~@2 d2@4 a2@3 ~ g1@12 a1@12 bb1@12 b1@11 ~ c2@12 db2@12 d2@12 eb2@11 ~ e2@12 eb2@4 e2@4 g2@3 ~ c2@23 ~ bb1@11 ~ bb1@11 ~ bb1@8]/8",
  AI: "[~@4 f2@11 ~ f2@11 ~ f2@8 a1@4 bb1@11 ~ bb1@11 ~ bb1@8]/3", AJ: "~@2 eb2@5 ~ eb2@4",
  AK: "~@4 eb2@7 ~ e2@3 ~ f2@8", AL: "[~@4 f2@11 ~ f2@11 ~ f2@11 ~ f2@3 ~@5]/2", AM: "[~@4 gb2@7 ~ f2@27 ~@9]/2",
})).s("gm_acoustic_bass").gain(0.44)

// chords · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@9 A B C D E F G H I J K L M N O M A B P Q R S G H I J K L M N O M A B P Q R S T U V W X Y Z@2 AA AB AC AD AE AF AG@2
  AH ~ A B P Q AI B AJ AK AL AM AN AO AP ~ A B P Q AI B P Q R S AQ Q AR AS@2 ~
>`.pickRestart({
  A: "~@4 [ab3,bb3,d4,g4] ~", B: "~ [ab3,bb3,d4,g4] ~@2 [ab3,bb3,d4,g4] ~", C: "~ [ab3,bb3,g4] ~@2 [c3,f3,a3,d4] ~",
  D: "~ [f3,d4] ~@2 [c3,f3,a3,d4] ~", E: "~ [c3,f3,a3,d4] ~@2 [db4,f4] ~", F: "~ [eb3,f4] ~@2 [eb3,g3,db4] ~",
  G: "~ [eb3,g3,db4,f4] ~@2 [d3,gb3,a3,c4] ~", H: "~ [d3,gb3,a3,c4] ~@2 [d3,gb3,a3,c4] ~",
  I: "~@4 [d3,gb3,a3,c4]@4 ~@8 [f3,bb3,d4]@5 ~@3", J: "~ [gb3,a3,eb4] ~@2 [bb3,d4,f4,g4] ~",
  K: "~ [bb3,d4,f4,g4] ~@2 [bb3,d4,f4,g4] ~", L: "~ [b3,d4,f4,g4] ~@2 [e3,g3,bb3,c4] ~",
  M: "~ [e3,g3,bb3,c4] ~@2 [e3,g3,bb3,c4] ~", N: "~@4 [gb3,eb4]@4 ~@8 [f3,bb3,d4]@3 ~@5",
  O: "~ [eb3,bb3,db4] ~@2 [e3,g3,bb3,c4] ~", P: "~ [ab3,bb3,d4,g4] ~@2 [c3,f3,a3,d4] ~",
  Q: "~ [c3,f3,a3,d4] ~@2 [c3,f3,a3,d4] ~", R: "~ [c3,f3,a3,d4] ~@2 [eb3,g3,db4,f4] ~",
  S: "~ [eb3,g3,db4,f4] ~@2 [eb3,g3,db4,f4] ~", T: "~ [eb3,g3,db4,f4] ~@2 [e3,g3,b3,d4] ~",
  U: "~ [e3,g3,b3,d4] ~@2 [e3,g3,a3,db4] ~", V: "~@4 [e3,g3,a3,db4]@4 ~@8 [e3,g3,a3,db4]@3 ~ [e3,g3,a3,db4]@3 ~",
  W: "[e3,g3,a3,db4]@3 ~ [e3,g3,a3,db4]@3 ~@17", X: "~@8 [f3,ab3,d4] ~ [f3,ab3,d4] ~",
  Y: "[f3,ab3,d4]@2 ~@18 [e3,g3,db4] ~@3", // Ddim Dbdim
  Z: "[[e3,g3,db4] ~@3 [e3,g3,db4] ~@3 [e3,g3,db4] ~@3 [e3,g3,db4] ~@3 [gb3,a3,c4]@2 a3 ~ a3@2 ~@3 [a3,c4]@2 [gb3,a3]@2 ~@3 [gb3,a3]@2 ~ a3@2 ~@3 [gb3,a3]@2 ~ a3 [a3,c4] ~ [a3,c4]@2, ~@18 c4@3 ~@2 a3@2 ~@5 a3@2 ~@2 [gb3,c4]@3 ~ [gb3,a3]@2 ~@2 [gb3,c4]@2 ~ gb3@3, ~@19 gb3@2 ~ [gb3,c4]@2 gb3@2 ~@3 [gb3,c4]@2 c4@2 ~@4 c4@2 c4@2 ~@7]/2", // Dbdim Gbdim Am Gbm Am Gbdim Gbm Gbdim
  AA: "[gb3,a3,c4]@2 [a3,c4]@2 [g3,bb3,db4]@2 ~ [g3,bb3]@2 ~ [g3,bb3]@2 [g3,db4]@2 [bb3,db4]@2 [gb3,a3,c4]@2 a3 ~ a3@2 [gb3,a3,c4]@2, ~@6 db4@2 ~ db4@2 ~@7 c4@3 ~@3, ~@19 gb3@2 ~@3", // Gbdim Am Gdim Gm Gdim Bbm Gbdim
  AB: "~@3 a3@2 [gb3,a3,c4]@2 ~ [gb3,a3]@2 ~@6 [gb3,a3]@2 a3 ~ a3@2 [gb3,a3,c4]@2, gb3@2 gb3@2 ~@6 [gb3,c4]@2 c4@2 a3@2 ~@3 gb3@2 ~@3, ~ [a3,c4]@3 ~@3 c4@2 ~@2 a3@2 gb3@2 c4@3 c4@3 ~@3", // Gbdim Gbm Gbdim Am
  AC: "~@2 gb3 ~ [gb3,a3,c4]@11 ~ [f3,b3,d4] ~@3 [f3,b3,d4]@2 ~@2, gb3 ~@11, ~ [a3,c4]@3 ~@20", // Gbdim Bdim Am
  AD: "[f3,b3,d4] ~@15 [f3,b3,d4]@2 ~@2 [f3,b3,d4]@2 ~@2", AE: "[f3,b3,d4] ~@7 [gb3,c4,eb4] ~ [gb3,c4,eb4] ~",
  AF: "[gb3,c4,eb4] ~@9 [f3,b3,d4] ~", // Cdim Bdim
  AG: "[[f3,b3,d4]@2 ~@2 [f3,b3,d4]@2 ~@2 [f3,b3,d4]@2 ~@2 [f3,b3,d4]@2 ~@2 [e3,bb3,c4]@2 bb3 ~ bb3@2 ~@3 [bb3,c4]@2 [e3,bb3]@2 ~@3 [e3,bb3]@2 ~ bb3@2 ~@3 [e3,bb3]@2 ~@4 bb3@2, ~@18 c4@3 ~@2 bb3@2 ~@5 bb3@2 ~@2 [e3,c4]@3 ~ [e3,bb3]@2 ~@2 [e3,c4]@2 c4@3 ~, ~@19 e3@2 ~ [e3,c4]@2 e3@2 ~@3 [e3,c4]@2 c4@2 ~@4 c4@2 c4@2 ~@2 bb3@2 e3@2 ~]/2", // Bdim C7 Bbsus2 Edim C Edim C
  AH: "~@3 e3 [f3,b3,db4]@2 ~ [f3,b3]@2 ~ [f3,b3]@2 [f3,db4]@2 [b3,db4]@2 [e3,bb3,c4]@2 ~@6, [e3,bb3,c4]@2 c4@2 ~@2 db4@2 ~ db4@2 ~@13, ~ bb3@2 ~@21", // Db7 Fdim Db Bsus2 C7
  AI: "~ [c3,f3,a3,d4] ~@2 [ab3,bb3,d4,g4] ~", AJ: "~@4 [ab3,bb3,d4,g4]@4 ~@8 [e3,g3,a3,c4]@3 ~@5",
  AK: "~@4 [e3,g3,a3,c4]@3 ~@9 [f3,a3]@3 ~ [gb3,a3,e4] ~@3", // Am7 F Gbm7
  AL: "[gb3,a3,e4] ~@3 [gb3,a3,e4]@2 ~@2 [gb3,a3,eb4]@2 ~@2 [gb3,a3,eb4]@2 ~@2 [f3,bb3,d4]@3 ~@5", // Gbm7 Ebdim Bb
  AM: "~@4 [gb3,a3,c4]@4 ~@8 [f3,bb3,d4]@3 ~@5", AN: "~@4 [g3,b3]@3 ~@9 [e3,g3,bb3,c4]@4 ~@4",
  AO: "~ [gb3,b3,eb4] ~@2 [f3,bb3,d4] ~", AP: "~@2 [eb3,bb3,db4]@3 ~@3 [e3,g3,bb3,c4]@2 ~@2",
  AQ: "~ [eb3,g3,db4,f4] ~@2 [c3,f3,a3,d4] ~", AR: "~@4 [c3,f3,a3,d4]@4 ~@8 [c3,f3,a3,d4]@3 ~@5",
  AS: "[~@4 [db3,gb3,bb3,eb4]@8 [c3,f3,a3,d4]@21 ~@15]/2", // Ebm7 Dm7
})).s("gm_electric_guitar_jazz").gain(0.27).pan(0.9)

// other · vibraphone
const vibraphone = note(`<
  ~@9 A@2 B C D@2 E F G H I J K L M@2 N ~ O C P@2 Q R S T U V W X Y ~ Z@2 AA C AB@2 AC AD ~ AE AF@3 AG AH@2 ~ AI AJ@3 AK
  AL ~ AM@2 AN C AO@2 AP AQ@2 AR AS AT AU@2 AV@2 ~@2 AV@2 ~@2 AV@2 ~@2 AW ~@3
>`.pickRestart({
  A: "[~@4 c4@4 db4@4 d4@4 f4@15 ~@17]/2", B: "~@8 g4@3 ~ d4@4 f4@7 ~", C: "f4 ~@5",
  D: "[~@8 db4@4 d4@3 ~ f4@12 ~@20, ~@3 c4@2 ~@19]/2", E: "~@3 g4 a4@2", F: "d4 ~", G: "~@12 d4@2 ~@2 d4@7 ~",
  H: "bb4@3 ~ bb4@2 a4 ~ a4@4", I: "g4@5 ~@7 d4 ~@3 d4@7 ~", J: "g4@6 ~@2 g4@3 ~ f4@2 ~@2 f4@8",
  K: "e4@3 ~@9 c4@3 ~ e4@5 ~@3", L: "e4@4 eb4@5 ~@3 eb4@4 d4@5 ~@3", M: "[d4@4 ~@4 db4@2 ~@2 db4@3 ~ c4@12 ~@20]/2",
  N: "~ c4 db4 d4 f4@2", O: "~@4 g4@2 d4@2 f4@3 ~", P: "[~@4 c4@3 ~ db4@4 d4@4 f4@15 ~@17]/2", Q: "~@12 g4@4 a4@7 ~",
  R: "d4 ~@2", S: "~@12 d4 ~@3 d4@7 ~", T: "bb4@5 ~@3 bb4@4 a4@2 ~@2 a4@7 ~", U: "g4@4 ~@8 d4 ~@3 d4@2 ~@2 d4@2 ~@2",
  V: "~@2 g4 ~ g4@2 f4 ~ f4@3 ~", W: "e4@2 ~@10 c4 ~@3 e4@6 ~@2", X: "e4@3 ~ eb4@5 ~@3 eb4@3 ~ d4@4 ~@4",
  Y: "d4@4 db4@5 ~@3 db4@4 c4@4 ~@4", Z: "[~ c4 db4 d4 f4@4 ~@4]/2", AA: "~@8 g4@4 d4@3 ~ f4@6 ~@2",
  AB: "[~@4 c4@4 db4@4 d4@3 ~ f4@11 ~@21]/2", AC: "~@8 g4@4 f4@3 ~ a4@8", AD: "e4@11 ~@13", AE: "~@16 a4@7 ~",
  AF: "[ab4@4 g4@8 gb4@4 f4@23 ~ e4@18 ~@14]/3", AG: "~@2 gb4", AH: "[a4@4 eb4@8 a4@3 ~ d4@12 ~@20]/2",
  AI: "~@8 g3@3 ~ a3@4 b3@8", AJ: "[d4@8 f4@4 e4@4 eb4@23 ~ d4@13 ~@19]/3", AK: "~@4 e4@7 ~ g4@4 e4@8",
  AL: "g4 db4@2 g4 c4 ~", AM: "[~ c4 db4 d4 f4@3 ~@5]/2", AN: "~@8 g4@4 d4@3 ~ f4@7 ~",
  AO: "[~@4 c4@4 db4@4 d4@4 f4@11 ~@21]/2", AP: "~@2 e4 eb4 d4@2", AQ: "[a4@16 ~@2 a4 ~ bb4@2 ~@2]/2",
  AR: "bb4@3 ~ a4@4 ~@4 a4@3 ~ g4@5 ~@3", AS: "g4@3 ~ f4@5 ~@3 f4@4 e4@5 ~@3", AT: "e4@3 ~ eb4@5 ~@3 eb4@4 d4@5 ~@3",
  AU: "[d4@4 db4@5 ~@3 db4@4 c4@13 ~@19]/2", AV: "[~@4 c4@3 ~ db4@4 d4@3 ~ f4@11 ~@21]/2", AW: "~@4 f3 ~",
})).s("gm_vibraphone").gain(0.42)

// chords · brass section
const brass_section = note("<~@72 A@2 ~@21>".pickRestart({
  A: "[~@8 [e4,g4,c5,e5]@4 [c5,e5,g5]@4 [ab4,db5,f5,ab5]@4 [a4,d5,a5]@3 ~ [a4,a5]@4 [c5,d5,c6]@4 [eb5,eb6]@8 [d5,g5,d6]@4 ~@4, ~@12 g4 ~@7 gb5@20 ~@8, ~@12 d5 ~ a5@6 ~@4]/2", // C Db D5 A Csus2 Eb G5
})).s("gm_brass_section").gain(0.28).pan(0.4)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@17 A B@4 C D@2 E F G H I J K L M N O P Q R S T E F G H I J U V W ~@15 E X G H Y X Z AA AB AC AD AE AF ~ E F G H Y F
  G H I J AG H AH AI@2 ~
>`.pickRestart({
  A: "~@2 [bb3,d4]", B: "[~@4 a3@8 ~@4 [bb3,d4]@19 ~@5 [bb3,d4]@12 [b3,f4]@2 ~@10 [g3,e4]@12 ~@12 [bb3,e4]@5 ~@3]/4",
  C: "~@4 [b3,eb4]@5 ~@7 [bb3,d4]@6 ~@2", D: "[~@4 [g3,db4]@6 ~@6 [e3,c4]@23 ~@9]/2", E: "~@10 [ab3,c4,f4] ~",
  F: "[ab3,c4,f4]@6 ~@4 [ab3,c4,f4] ~", G: "[ab3,c4,f4]@12 ~@8 [eb3,g3,c4] ~@3",
  H: "[eb3,g3,c4]@12 ~@8 [eb3,g3,c4] ~@3", I: "[eb3,g3,c4]@13 ~@7 [g3,db4,f4] ~@3",
  J: "[g3,db4,f4]@15 ~@5 [g3,db4,f4] ~@3", K: "[db4,f4]@11 ~@9 [a3,d4] ~@3", L: "[a3,d4]@13 ~@7 [a3,d4] ~@3",
  M: "[a3,d4]@11 ~@5 [f3,bb3,d4] ~@3 [bb3,d4] ~@3", // D5 Bb
  N: "[f3,bb3,d4] ~@3 [a3,c4,eb4] ~@3 [c4,eb4] ~@3 [c4,eb4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3", // Bb Adim Cm Bb
  O: "[f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3] ~@3 [f3,bb3,d4] ~@3 [bb3,d4] ~@3", // Bb Bb5 Bb
  P: "[f3,bb3,d4] ~@3 [b3,d4,f4]@2 ~@2 [b3,d4,f4] ~@3 [b3,d4,f4] ~@3 [g3,bb3,e4] ~@3 [bb3,e4] ~@3", // Bb Bdim Edim Bbdim
  Q: "[bb3,e4] ~@3 [g3,bb3,e4] ~@3 [bb3,e4] ~@3 [bb3,e4] ~@3 [g3,bb3,e4]@2 ~@2 [g3,bb3,e4] ~@3", // Bbdim Edim Bbdim Edim
  R: "[g3,bb3,e4] ~@3 [ab3,b3,eb4] ~@3 [ab3,b3,eb4] ~@3 [ab3,b3,eb4] ~@3 [bb3,d4,f4]@2 ~@2 [bb3,d4,f4]@2 ~@2", // Edim Abm Bb
  S: "[bb3,d4,f4] ~@3 [g3,db4,f4]@2 ~@2 [g3,db4,f4] ~@3 [g3,db4,f4] ~@3 [g3,c4,e4] ~@3 [g3,c4,e4] ~@3", // Bb Gm7b5 C
  T: "[g3,c4,e4] ~@3 [g3,c4,e4]@2 ~@2 c4 ~@3 c4 ~@11", U: "[db4,f4]@11 ~@9 [g3,b3,e4] ~@3",
  V: "[g3,b3,e4]@15 ~@5 [g3,db4,e4] ~@3", W: "[g3,db4,e4] ~", X: "[ab3,c4,f4]@12 ~@8 [ab3,c4,f4] ~@3",
  Y: "[eb3,g3,c4]@13 ~@7 [ab3,c4,f4]@2 ~@2", Z: "[ab3,c4,f4]@12 ~@8 [g3,c4,e4] ~@3",
  AA: "[g3,c4,e4]@12 ~@8 [gb3,c4,e4] ~@3", // C Gbm7b5
  AB: "[gb3,c4,e4] ~@3 [gb3,c4,e4] ~@3 [gb3,c4,eb4]@2 ~@2 [gb3,c4,eb4]@2 ~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3", // Gbm7b5 Cdim Bb
  AC: "[f3,bb3,d4] ~@3 [gb3,c4,eb4] ~@3 [gb3,c4,eb4] ~@3 [gb3,c4,eb4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3", // Bb Cdim Bb
  AD: "[bb3,d4] ~@3 [b3,d4,f4] ~@3 [b3,d4,f4] ~@3 [d4,f4] ~@3 [g3,bb3,e4] ~@7", // Bb Bdim Dm Edim
  AE: "~@4 [gb3,b3,eb4] ~@11 [f3,bb3] ~@7", AF: "~@4 [eb3,g3] ~@19", AG: "[db4,f4]@11 ~@9 [eb3,g3,c4] ~@3",
  AH: "[eb3,g3,c4]@13 ~@11", AI: "[~@4 [e3,ab3,db4]@7 ~ [eb3,g3,c4]@26 ~@10]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.14).pan(0.9)

// chords · acoustic guitar nylon · soft notes
const acoustic_guitar_nylon_2 = note("<~@31 A ~ B C D E F ~@2 G ~@6 A ~@27 H I J@2 ~@10 A ~@5>".pickRestart({
  A: "g3@11 ~@13", B: "~@20 f3 ~@3", C: "~@8 a3 ~@3 a3 ~@11", D: "~@12 d4 ~@7 f3 ~@3", E: "~@20 g3 ~@3",
  F: "g3 ~@7 g3 ~@3 g3 ~@11", G: "~@8 [g3,e4] ~@3 [g3,e4] ~@3 [e3,g3,c4]@8", H: "f3 ~@11 b3 ~@7 [g3,bb3,e4] ~@3",
  I: "[g3,bb3,e4] ~@7 [gb3,b3,eb4] ~@3 [gb3,b3,eb4] ~@3 d4 ~@3 [f3,bb3,d4] ~@3", // Edim B Bb
  J: "[[f3,bb3,d4] ~@3 bb3 ~@3 [eb3,g3,bb3]@2 ~@2 [eb3,g3,bb3] ~@3 [e3,g3,bb3]@23 ~@9]/2", // Bb Eb Edim
})).s("gm_acoustic_guitar_nylon").gain(0.07).pan(0.9)

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

// drums · rim
const rim = s("rim").struct("<~@26 A@8 ~@8 A@8 ~@16 A@7 ~@7 A@12 ~@3>".pickRestart({
  A: "~ x ~@4",
})).gain(0.31)

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@25 A B C B C B C B C D@6 E A B C B C B C B C F ~@2 A D@3 G ~@3 A D E ~ A B C B C B C E D@4 ~@2 A B C B C B C B C B C
  B H ~@3
>`.pickRestart({
  A: "~@4 x!2", B: "~ x!5", C: "~ x ~ x!3", D: "x!6", E: "x!5 ~", F: "x!2 ~@4", G: "x!4 ~@2", H: "~ x ~ x!2 ~",
})).gain(0.27)
// … 23 more lines

More by Mina