Strudelify

Dove sei?

Dirotta su Cuba

KeyG minorTempo129 bpm
0:00/0:00
// Dove sei? — Dirotta su Cuba
// 129 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 137 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(129/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 1
const string_ensemble_1 = note(`<
  A@2 B@2 A@2 C@3 D@8 ~@9 E F@2 G@4 H I J@2 K L M ~ N@4 O@2 P@2 Q D@8 ~@8 H I J@2 K L M ~ N@4 R@2 S@2 N@4 R@2 T@2 ~ U@2
  V@2 U@2 W@2 U@2 V@2 U@2 X@2 Y Z AA@2 AB AC M ~ N@4 R@2 S@2 N@4 R@2 T@2 ~ AD@5
>`.pickRestart({
  A: "[[c4,eb4,g5]@8 [c4,eb4,g5]@3 [b3,d4,gb5]@2 ~ f5@6 eb5@4 bb4@4 eb5@4, ~@7 [bb3,db4]@7 ~@2]/2", // Cm Bm Bbm
  B: "[[c4,eb4,g5]@8 [c4,eb4,g5]@3 [b3,d4,gb5]@2 ~@6 bb2 db3 eb3 f3 eb3 ~ bb3 db4 d4 eb4@2 ~@2, ~@7 f5@8 ~, ~@14 [bb3,db4]@11 ~@7]/2", // Cm Bm Bbm
  C: "[[c4,eb4,g5]@8 [c4,eb4,g5]@3 [b3,d4,b5]@2 ~ [bb3,d4,c6]@29 ~@5]/3", // Cm Bm Bb
  D: "[[bb3,bb4]@10 [a3,b4]@4 [ab3,c4,c5]@18 [bb3,bb4]@10 [a3,b4]@4 ~@6 c4@4 eb4@4 bb4@4 bb3@10 a3@4 ~@2 g5@4 c5@4 eb5@4 bb5@4 [bb3,d4]@10 [a3,db4]@4 ~@2 g5@8 ~ [g4,eb5,bb5] ~@2 [g4,eb5,bb5] ~@3, ~@16 d5@7 [ab3,c5,eb5]@9 [d4,f5]@8 ~@24, ~@32 g4@7 [ab3,c4]@10 ~@6 [ab3,c4]@6 ~@3, ~@39 g4@9 [g4,f5]@8 ~@8]/8", // Bb Asus2 Ab Bb Asus2 Bb A Eb …
  E: "~ c4 eb4 bb4", F: "[bb3@5 a3@2 ~@7 eb5@2, d4 ~, g4@7 [ab3,c4,g4]@9]/2",
  G: "[bb3@10 a3@4 ~@6 c5@4 eb5@8 [bb3,d4]@10 [a3,db4]@4 [ab3,c4]@11 [g4,eb5,bb5] ~@2 [g4,eb5,bb5] ~@3, [d4,f5]@8 ~@8 f5@7 g5@5 ~@4, g4@7 [ab3,c4]@10 ~@15, ~@7 g4@9 g4@8 ~@8]/4", // Bb A Ab Eb Dm Ab
  H: "[c4,g4]@2 [f4,ab4] [g4,bb4], ab3", I: "[d4,f4,c5] [db4,g4,db5]",
  J: "[[c4,g4]@4 [b3,f4]@2 f5 ab5, eb5@3 [bb3,e4]]/2", K: "[c4,eb4,g5]", L: "eb4 db4 g5 e5, [f4,b5] [b3,f4]",
  M: "[g3,e4,b4]@13 ~@3", N: "g5/2", O: "[c6@5 db6@2 eb6@7 [g5,bb5] [f5,ab5]]/2",
  P: "[[eb5,gb5]@2 [db5,f5] [b4,eb5]@2 [eb4,gb4,b4]@2 [d4,f4,bb4]@8 ~]/2", Q: "~@12 a3 [bb3,c4] [d4,eb4,f4] [g4,a4]",
  R: "[[ab4,c5,c6]@5 [bb4,db5,db6]@2 [eb5,eb6]@7 [g5,bb5] [f5,ab5], ~@7 c5@9]/2", // Ab Bbm Eb Gm Fm
  S: "[[gb5,bb5]@2 [eb5,gb5] [gb4,b4,eb5]@3 [eb4,gb4,b4] c3@3 g3 [gb3,c4,e4,c5]@5, b4@3 ~@4 [d4,f4,bb4]@4 ~@5]/2", // Gb Ebm B Gbm7b5 Bb
  T: "[[gb5,bb5]@2 [eb5,gb5] [gb4,b4,eb5]@2 [eb4,gb4,b4]@2 [d4,f4,bb4]@8 ~, b4@3 ~@13]/2", U: "[bb3,g4,bb4]/2",
  V: "[db4,ab4,c5]/2", W: "[[db4,ab4,c5]@7 [b3,ab4,b4]@9]/2", X: "[[db4,ab4,c5]@14 [b3,ab4,b4]@8 [b3,g4,b4]@9 ~]/2",
  Y: "[ab3,c4,bb4]", Z: "[d4,f4,bb4] [db4,g4,c5]", AA: "[[c4,g4]@2 [b3,f4] [bb3,e4,ab4], bb4@3 ~]/2", AB: "[c4,eb4,g4]",
  AC: "eb4 db4 b3@2, [f4,b4]", AD: "[[bb3,g4,bb4]@13 ~@3]/5",
})).s("gm_string_ensemble_1").gain(0.25).pan(0.6)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@17 A B A B A B A C A D E D E D E C ~@25 A D E D E D E C ~@33 F@2 G@2 F@2 H@2 ~@30
>`.pickRestart({
  A: "[g4,bb4,d5]@6 ~ [g4,bb4,d5] ~@2 [g4,bb4,d5]@4 ~@2", // Gm
  B: "[g4,c5,eb5]@3 [g4,c5,eb5] ~@3 [g4,c5,eb5] ~@2 [g4,c5,eb5]@3 ~@3", // Cm
  C: "[g4,c5,eb5]@3 [g4,c5,eb5] ~@5 [bb4,eb5,g5] ~@2 [bb4,eb5,g5] ~@3", // Cm Eb
  D: "[g4,c5,eb5]@3 [g4,c5,eb5] ~@3 [g4,c5,eb5] ~@2 [g4,c5,eb5]@3 ~ [g4,c5,eb5] ~", // Cm
  E: "[g4,bb4,d5]@3 [g4,bb4,d5] ~@3 [g4,bb4,d5] ~@2 [g4,bb4,d5]@4 ~@2", // Gm
  F: "[g4,bb4,d5] [g4,bb4]!2 [g4,bb4,d5] [g4,bb4]!2 [g4,bb4,d5] [g4,bb4]!7 [g4,bb4,d5] [g4,bb4], ~@10 d5@3 ~@3", // Gm
  G: "[f4,ab4,c5] [f4,ab4]!2 [f4,ab4,c5] [f4,ab4]!2 [f4,ab4,c5] [f4,ab4]!7 [f4,ab4,c5] [f4,ab4], ~@10 c5@3 ~@3", // Fm
  H: "[[f4,ab4,c5] [f4,ab4]!2 [f4,ab4,c5] [f4,ab4]!2 [f4,ab4,c5] [f4,ab4]!7 [e4,ab4,b4]@8 [eb4,g4,b4]@9 ~, ~@10 c5@3 ~@19]/2", // Fm E Ebaug
})).s("gm_electric_guitar_clean").gain(0.18).pan(0.8)

// chords · electric guitar clean · soft notes
const electric_guitar_clean_2 = note("<~@17 A B A B A B A ~ A B A B A B A ~@26 A B A B A B A ~@72>".pickRestart({
  A: "~@9 [g4,bb4] ~@6", B: "~@9 [g4,c5] ~@6",
})).s("gm_electric_guitar_clean").gain(0.1).pan(0.8)

// other · pad poly
const pad_poly = note("<~@90 A@8 B@2 C@2 D E F@4 ~@23 G@6>".pickRestart({
  A: "[~@5 c2 eb2 f2@14 c2 b1 bb1@14 c2 eb2 f2@14 c2 b1 bb1@6 ab1 g1 gb1]/8",
  B: "[~@10 c2@2 eb2@2 f2@5 ~ f1@2 ~ f1@2 ~ f1@3 ~ e1 ~]/2",
  C: "[f1@2 ~ f1@2 ~ f1@3 ~ c2@2 b1@2 bb1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@3 ~ a1 ~]/2",
  D: "bb1@2 ~ bb1@2 ~ bb1@3 ~ c2@2 eb2@2 f2@2", E: "f1@2 ~@2 f1@2 ~ f1@2 ~ f1@3 ~ e1 ~",
  F: "[f1@2 ~ f1@2 ~ f1@3 ~ c2@2 b1@2 bb1@4 ~@2 bb1@2 ~ bb1@2 ~ ab1@2 g1@2 gb1@6 ~@2 eb1@5 ~ g1@2 ab1@4 ~@14]/4",
  G: "[~@10 c2@2 eb2@2 f2@67 ~@15]/6",
})).s("gm_pad_poly").gain(0.64).pan(0.6)

// other · electric guitar clean
const electric_guitar_clean_3 = note("<~@18 A ~@3 A ~ B ~ A ~@3 A ~ B ~@26 A ~@3 A ~ B ~@71>".pickRestart({
  A: "~@9 g3 ~ g3 g3@2 g3 ~", B: "~@14 eb3 ~",
})).s("gm_electric_guitar_clean").gain(0.23).pan(0.2)

// other · overdriven guitar
const overdriven_guitar = note("<~@90 A@4 B@6 ~@31 C@6>".pickRestart({
  A: "[~@5 c3 eb3 f3@14 c3 b2 bb2@9]/4",
  B: "[~@10 c3@2 eb3@2 f3@28 c3@2 b2@2 bb2@12 ab2@2 g2@2 gb2@11 ~ c3@2 eb3@2 f3@12 ~@6]/6",
  C: "[~@10 c4@2 eb4@2 f4@4 c4 ~ [f3,bb3,eb4]@61 ~@15]/6", // Ebsus2
})).s("gm_overdriven_guitar").gain(0.26).pan(0.2)

// bass · electric bass finger
const bass = note(`<
  A@2 B@2 A@2 C@3 D E D F D G H I D J H K D G H I D E H F D G H L M@2 N@2 O P Q R S T S T U@2 V@2 W D E D F D G H I D J
  H K D G H I M@2 X@2 O P Q R S T S T U@2 Y@2 S T S T U@2 V@2 W ~@7 Z@2 AA@2 AB AC AD@3 AE@2 N@2 O P Q R S T S T U@2 Y@2
  S T S T U@2 V@2 W ~@5
>`.pickRestart({
  A: "[bb1@6 ~@2 bb1 ~@2 a1 ~@2 ab1@17 ~]/2",
  B: "[bb1@6 ~@2 bb1 ~@2 a1 ~@2 ab1@5 bb1 db2@2 f2 eb2 ~ bb2 db3 d3 eb3@2 ~@2]/2",
  C: "[bb1@6 ~@2 bb1 ~@2 b1 ~@2 c2@26 c3@8]/3", D: "f1@3 eb1@3 ~@3 eb1 eb1@2 f1@2 ab1@2",
  E: "bb1@3 ab1@2 ~@4 eb1 d1@2 eb1@2 e1@2", F: "bb1@3 ab1@2 ab1 ~ ab1 ~ ab1 ab1@2 g1@2 gb1@2",
  G: "bb1@3 ab1@3 ~@3 eb1 d1@2 eb1@2 e1@2", H: "f1@3 eb1@3 ~@3 eb1 eb1@2 f1@2 c2@2",
  I: "bb1@3 ab1@4 ~@2 bb1 ~@2 bb1 ~@3", J: "bb1@3 ab1@2 ~@2 ab1 ~ eb1 d1@2 eb1@2 e1@2",
  K: "bb1@3 ab1@2 ab1 ~ ab1 g1@3 eb1 gb1@3 eb1", L: "bb1@3 ab1@4 ~@2 bb1 ~ bb2 bb1 ~ bb1@2",
  M: "[ab1@3 ~ eb2@3 ab1@2 ab1 ab1@2 bb1@2 c2@5 c2 g1@3 g1 eb1@3 eb1 bb1@2 g1@2]/2",
  N: "[ab1@3 ~ eb2@4 ~ bb2 ab2@2 gb2@2 g2@5 db2 db2@3 db2 c2 g1 g1@2 g1@2 gb1@2]/2",
  O: "f1@3 c2@3 g2@2 f2@3 c2@3 eb2@2", P: "db2@3 g2@3 ab2@2 g2@3 g1@3 b1@2", Q: "c2@3 g2@3 d3@8 ~@2",
  R: "c2!2 ~ c2 ~ c2 ~ g1 c2@2 ~@6", S: "f1@7 f1 ~ f1 eb1@2 f1@2 ab1@2", T: "bb1@7 bb1 ~ bb1 ab1@2 bb1@2 ab1@2",
  U: "[eb1@3 bb1@3 f2@6 bb1@2 ab1@5 ab1 ~ ab1 ~ ab1 ab1@2 ab1 ab1@2 ab1!3]/2",
  V: "[ab1@3 eb2@3 ab1@3 ~ db2@3 ~ c2@17 ~]/2", W: "c2!2 ~@14",
  X: "[ab1@3 ~ eb2@4 ~ bb2 ab2@2 gb2@2 g2@5 c2 db2@3 b1 c2@3 g1 gb1@4]/2",
  Y: "[ab1@3 eb2@3 ab1@3 ~ db2@3 ~ c2@5 ~ g1@2 gb1@8 c2@2]/2",
  Z: "[~@10 c1@2 eb1@2 f1@5 ~ f1@2 ~ f1@2 ~ f1@3 ~ e1 ~]/2",
  AA: "[f1@2 ~ f1@2 ~ f1@3 ~ c2@2 b1@2 bb1@4 ~@2 bb1@2 ~ bb1@2 ~ bb1@3 ~ a1 ~]/2",
  AB: "bb1@2 ~ bb1@2 ~ bb1@3 ~ c2@2 eb2@2 f2@2", AC: "f1@2 ~@2 f1@2 ~ f1@2 ~ f1@3 ~ e1 ~",
  AD: "[f1@2 ~ f1@2 ~ f1@3 ~ c2@2 b1@2 bb1@4 ~@2 bb1@2 ~ bb1@2 ~ ab1@2 g1@2 gb1@6 ~@2 eb1@5 ~ g1@2 ab1@2]/3",
  AE: "[ab1@2 ~@2 eb2@3 ab1@2 ab1 ab1@2 bb1@2 c2@5 c2 g1@3 g1 eb1@3 eb1 bb1@2 g1@2]/2",
})).s("gm_electric_bass_finger").gain(0.47)

// other · trumpet
const trumpet = note(`<
  ~@4 A@2 B@3 ~@4 C@2 D@2 ~@7 E ~@7 E ~ F G H I ~ J K L M L M N@2 ~@2 O ~@4 C@2 D@2 ~@7 E ~ P ~ Q R ~ J K L M L M ~@3 S
  L M L M T@2 ~@2 O ~@7 U ~ V ~ W ~ V ~ X Y Z AA AB@3 AC AD L M L M ~@3 S L M L M T@2 ~@2 O ~@5
>`.pickRestart({
  A: "[g5@7 ~ g5@3 gb5 ~@2 f5@14 ~@4]/2", B: "[g5@7 ~ g5@3 gb5 ~@2 f5@26 ~@8]/3",
  C: "[~@3 c5 g5!2 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5@3 f5 ~ c5 eb5 ~ g5@3 f5 ~ g5 bb5 ~@2]/2",
  D: "[~@3 c5 g5!2 ~ g5 ~ g5 ~ g5 ~ g5 ~ g5@3 f5 ~ c5 eb5 ~@3 [g4,bb5] ~@2 [g4,bb5] ~@3]/2", // Gm
  E: "~@9 [g4,bb5] ~@2 [g4,bb5] ~@3", F: "~@2 f4 bb4", G: "g4@5 ~@3", H: "~ f4 ab4 db5", I: "c5@5 ~@3",
  J: "[b2,b4] [g2,g4] ~ [d3,d5] [b2,b4] ~ [e3,e5] [d3,d5] ~ [g3,g5] [e3,e5] ~ [b3,b5] [g3,g5] ~ [d4,d6]", // B G D B E D G E …
  K: "[c4,c6]!2 ~ [c4,c6] ~ [c4,c6] ~@2 [c4,c6] ~@7", L: "~@2 f5 ~ g5 ~@11", M: "~@2 f5 ~ g5 ~@2 g5 ~ g5!2 ~ f5 g5 ~@2",
  N: "[c5@3 ~ eb5@2 c5 ~@3 bb4 ~@3 g4@9 ~@9]/2", O: "[eb5,c6]!2 ~@14",
  P: "~@2 [g4,c5] ~ [f4,bb4] [g4,c5] ~@4 [g4,c5] ~ [f4,bb4] [g4,c5] ~@2", // C5 Bb5 C5 Bb5 C5
  Q: "~@2 [g4,b4] ~ [gb4,bb4] [g4,b4] ~@4 [gb4,bb4] ~ [f4,a4] [gb4,bb4] ~@2", // G Gb G Gb F Gb
  R: "~@2 [bb4,f5] ~ [c5,g5]@2 f5 [c5,d5,eb5] [g4,ab4,bb4] [c4,f4] ~@6", S: "~@2 [g4,c6] [ab4,c6]@3 ~@2",
  T: "[c5@8 ~@2 bb4 ~@3 bb4@9 ~@9]/2", U: "~@2 [b4,ab5] ~ [b4,ab5] ~@5 [ab4,ab5]@2 [b4,b5]@2 [c5,c6]@2",
  V: "~@2 g5!2 f5 g5 ~@2 g5!2 f5 g5 ~ g5 ab5 ~", W: "~@2 ab5!2 g5 ab5 ~@2 ab5!2 g5 ab5 ~ f5 g5 ~",
  X: "~ [e2,e4] ~ [b2,b4] [ab2,ab4] ~ [eb3,eb5] [b2,b4] ~ [gb3,gb5] [eb3,eb5] ~ [b3,b5] [g3,g5] ~ [c4,c6]", // E B Ab Eb B Gb Eb B …
  Y: "[ab3,eb6]@2 bb5!6 bb5@3 ~ c6 ~ eb6 ~, bb5 ~@15", // Ab5
  Z: "c6 d6@2 c6 bb5 ab5 g5 f5 eb5 d5 c5 b4 bb4 ab4 g4 f4, ~ db6 ~@14", AA: "eb4@4 ~@5 [eb4,f4] d4 eb4 f4 d4 eb4 f4",
  AB: "[gb4 f4 gb4 ab4 bb4 ~ bb4 c5 db5 eb5 [e5,f5] gb5 ab5@2 bb5 g5@4 ~ d6@4 c6@2 g5@2 eb5@2 c5 b4@5 ~@3 e5 [d5,eb5] e5 f5 g5 a5 b5 c6 a5, ~@15 gb5 ~@32]/3", // Fmaj7 Ebmaj7
  AC: "b5@3 ~ d6@4 g6@8, bb5 ~@15", AD: "c6!2 ~ c6 ~ c6 ~@2 c6 ~@7",
})).s("gm_trumpet").gain(0.52).pan(0.6)

// chords · epiano2
const epiano2 = note(`<
  A@2 B@2 C@2 D@3 E@6 F@2 G H G I G I G J E@6 F@2 K L K M K N O P G H G Q R@2 S@2 T E@6 F@2 E@6 F@2 K U K M K N O P G H
  G Q R@2 V@2 G H G Q R@2 S@2 T W@2 X@2 Y@2 Z@2 AA AB AC AD AA AB AE@2 K AF K M K N O P G H G Q R@2 V@2 G H G Q R@2 S@2
  T AG@4 ~
>`.pickRestart({
  A: "[[bb2,c4,eb4,g4]@6 ~@2 [c4,eb4,g4]@2 ~ [a2,b3,d4,gb4] ~@2 [ab2,bb3,db4,f4]@16 ~@2, ~@8 bb2 ~@23]/2", // Cm7 Cm Bm7 Bbm7
  B: "[[bb2,c4,eb4,g4]@7 ~ [c4,eb4,g4]@3 [a2,b3,d4,gb4] ~@2 [ab2,bb3,db4,f4]@16 ~@2, ~@8 bb2 ~@23]/2", // Cm7 Cm Bm7 Bbm7
  C: "[[bb2,c4,eb4,g4]@7 ~ [c4,eb4,g4]@2 ~ [a2,b3,d4,gb4] ~@2 [ab2,bb3,db4,f4]@16 ~@2, ~@8 bb2 ~@23]/2", // Cm7 Cm Bm7 Bbm7
  D: "[[bb2,c4,eb4,g4]@7 ~ [c4,eb4,g4]@2 ~ [b2,b3,d4,gb4] ~@20 a5@16, ~@8 bb2 ~@5 [c3,bb3,f4]@33 ~, ~@7 d4@15 ~@2, ~@31 [bb4,d5,f5]@17]/3", // Cm7 Cm Bm Fsus4 Bb
  E: "[[bb3,d4,g4]@7 ~ [bb3,d4,g4] ~@2 [a3,db4,g4] ~@2 [ab3,c4,g4]@16 ~@2]/2", // Gm A7 Abmaj7
  F: "[[bb3,d4,g4]@7 ~ [bb3,d4,g4] ~@2 [a3,db4,g4] ~@2 [ab3,c4,g4]@9 ~@2 [c4,eb4,g4,bb4] ~@2 [c4,eb4,g4,bb4] ~@3]/2", // Gm A7 Abmaj7 Cm7
  G: "[bb3,d4,g4]@15 ~", H: "[ab3,c4,g4]", I: "[ab3,c4,g4]@15 ~",
  J: "[ab3,c4,g4]@8 ~ [c4,eb4,g4,bb4] ~@2 [c4,eb4,g4,bb4] ~@3", K: "[c4,eb4,g4]@15 ~",
  L: "[bb3,d4,f4]@7 ~ g4@4 bb4@3 ~, ~ [bb3,db4]", M: "[b3,f4,bb4]@7 ~ [bb3,e4,ab4]@8",
  N: "[db4,f4,g4,b4]@7 ~ [f4,b4,e5]@8", O: "[b3,e4,g4]@3 [g4,b4,d5]@5",
  P: "[d4,f4,a4]!2 ~ [d4,f4,a4,c5] ~ [d4,f4,a4,c5] ~ [d4,f4,a4] [d4,f4,a4,c5] ~@7, c5 ~@7", // Dm Dm7 Dm Dm7
  Q: "[ab3,c4,g4]@9 ~ [ab3,c4,g4] ~@3 ab3!2", // Abmaj7
  R: "[[db4,ab4,c5]@5 ~ [db4,ab4,c5] ~@3 [db4,g4,bb4] ~@3 [c4,eb4,g4]@4 [c4,eb4,g4] ~@2 [c4,eb4,g4] ~@2 [c4,eb4,g4]@8]/2", // Dbmaj7 Gdim Cm
  S: "[[b3,eb4,bb4]@9 ~ [b3,eb4,gb4] ~@3 [bb3,d4,f4]@18]/2", T: "[e3,bb3,eb4]!2 ~@14",
  U: "[bb3,d4,f4]@7 ~ g4@4 bb4@4, ~ [bb3,db4]", // Bb Bbm
  V: "[[b3,eb4,bb4]@9 ~ [b3,eb4,gb4] ~@3 [bb3,d4,f4]@6 [bb3,d4,g4] ~ [c4,e4,ab4]@10]/2", // Bmaj7 B Bb Gm Caug
  W: "[[bb3,eb4]@15 ~, g4@7 ~]/2", X: "[[db4,f4,ab4]@15 ~]/2", Y: "[[bb3,eb4,g4]@29 ~@3]/2",
  Z: "[[db4,f4,ab4]@7 [b3,e4]@6 ~@3]/2", AA: "[c4,eb4,g4,bb4] ~@3 [c4,eb4,g4,bb4] ~@2 [c4,eb4,g4,bb4]@7 c4 ~",
  AB: "[c4,eb4,g4,bb4] ~ c4 [c4,eb4,g4,bb4] ~@2 [c4,eb4,g4,bb4]@9 ~", // Cm7
  AC: "[db4,f4,ab4,c5] ~@3 [db4,f4,ab4,c5] ~@2 [db4,f4,ab4,c5]@7 db4 ~", // Dbmaj7
  AD: "[db4,f4,ab4,c5] ~ db4 [db4,f4,ab4,c5] ~@2 [db4,f4,ab4,c5]@9 ~", // Dbmaj7
  AE: "[[db4,f4,ab4,c5] ~@3 [db4,f4,ab4,c5] ~@2 [db4,f4,ab4,c5]@7 [db4,e4,ab4,b4]@6 ~@2 [db4,eb4,g4,b4]@9 ~]/2", // Dbmaj7 Dbm7 Ebaug
  AF: "[bb3,d4,f4]@7 ~ [bb3,db4,g4]@8", AG: "[~ [bb3,eb4,g4]@15]/4",
})).s("gm_epiano2").gain(0.31).pan(0.3)

// chords · pad warm
const pad_warm = note("<~@91 A@2 B@2 A@2 C@2 D@2 E@2 D@2 F@2 ~@25 G@5>".pickRestart({
  A: "[[f3,bb3,g5,bb5,d6]@31 ~]/2", B: "[[bb2,c4,f5,ab5,c6]@31 ~]/2", C: "[[bb2,c4,f5,ab5,c6]@7 [b3,e5,ab5,b5]@8 ~]/2",
  D: "[[g5,bb5,d6]@31 ~]/2", E: "[[f5,ab5,c6]@31 ~]/2", F: "[[f5,ab5,c6]@7 [e5,ab5,b5]@4 [eb5,g5,b5]@4 ~]/2",
  G: "[[f3,bb3,g5,bb5,d6]@13 ~@3]/5", // Gm7
})).s("gm_pad_warm").gain(0.16).pan(0.4)

// other · trombone
const trombone = note(`<
  A@6 B@3 C@2 D@2 E@2 F@2 ~@7 G ~@7 G ~@12 H@2 ~@2 I C@2 D@2 E@2 F@2 ~@7 G ~ J ~ K L ~@10 M ~@4 N@2 ~@2 I ~@7 O ~ P ~ Q
  ~ P ~@8 R S ~@7 M ~@4 N@2 ~@2 I ~@5
>`.pickRestart({
  A: "[[c4,eb4]@7 ~ [c4,eb4]@3 [b3,d4] ~@2 [bb3,db4]@14 ~@4]/2", // Cm Bm Bbm
  B: "[[c4,eb4]@7 ~ [c4,eb4]@3 [b3,d4] ~@2 [bb3,d4]@26 ~@8]/3", // Cm Bm Bb
  C: "[~@3 c3 g3!2 ~ g3 ~ g3 ~ g3 ~ g3 ~ g3@3 f3 ~ c4 eb4 ~ g3@3 f3 ~ c4 eb4 ~@2]/2",
  D: "[~@3 c3 g3!2 ~ g3 ~ g3 ~ g3 ~ g3 ~ g3@3 f3 ~ c4 eb4 ~ bb3@3 ab3 ~ g4 ab4 ~@2]/2",
  E: "[~@3 c4 g4!2 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4@3 f4 ~ c4 eb4 ~ g4@3 f4 ~ g4 bb4 ~@2]/2",
  F: "[~@3 c4 g4!2 ~ g4 ~ g4 ~ g4 ~ g4 ~ g4@3 f4 ~ c4 eb4 ~@3 eb4 ~@2 eb4 ~@3]/2", G: "~@9 eb4 ~@2 eb4 ~@3",
  H: "[eb3@3 ~ bb3@2 ab3 ~@3 db4 ~@3 c4@9 ~@9]/2", I: "e3!2 ~@14", J: "~@2 c4 ~ bb3 c4 ~@4 c4 ~ bb3 c4 ~@2",
  K: "~@2 b3 ~ bb3 b3 ~@4 bb3 ~ a3 bb3 ~@2", L: "~@2 f4 ~ g4 ~@11", M: "~@2 c4 c4@3 ~@2",
  N: "[eb3@8 ~@2 db4 ~@3 c4@9 ~@9]/2", O: "~@2 ab3 ~ ab3 ~@5 ab3@2 b3@2 c4@2",
  P: "~@2 g3!2 f3 g3 ~@2 g3!2 f3 g3 ~ g3 ab3 ~", Q: "~@2 ab3!2 g3 ab3 ~@2 ab3!2 g3 ab3 ~ f3 g3 ~",
  R: "b2 g2 ~ d3 b2 ~ e3 d3 ~ g3 e3 ~ b3 g3 ~ d4", S: "c4!2 ~ c4 ~ c4 ~@2 c4 ~@7",
})).s("gm_trombone").gain(0.52).pan(0.7)

// chords · rock organ
const rock_organ = note(`<
  ~@8 A B ~@31 C D C D ~@2 E@2 A B ~@8 F ~ G@2 H I J ~@8 C D C D ~@2 K@2 C D C D ~@2 E@2 ~ L@2 M@2 L@2 N ~@9 O P O Q R S
  T ~ C D C D ~@2 K@2 C D C D ~@2 E@2 U V ~@4
>`.pickRestart({
  A: "~@11 g4 [a4,bb4] [c5,d5] [e5,f5] [g5,a5]", B: "[g5,bb5]@13 ~@3",
  C: "~@2 [bb4,d5,f5] ~ [bb4,d5,g5]@3 [bb4,d5,g5] ~ [bb4,g5] [bb4,d5,g5]@2 [bb4,d5,g5] ~@3", // Bb Gm Eb Gm
  D: "~@2 [bb4,d5,f5] ~ [c5,eb5,g5]@3 [c5,eb5,g5] ~ [c5,g5] [c5,eb5,g5]@2 [c5,eb5,g5] ~@3", // Bb Cm C5 Cm
  E: "[bb5@4 gb5@2 [b4,eb5]@2 ~@2 [eb5,gb5]@2 ~@2 [d5,f5]@17 ~, [b4,eb5]@3 ~@13]/2", // B Ebm Dm B
  F: "~@4 [g5,c6]!2 ~ [g5,c6] ~ g5 eb6 ~ g6@2 f6 ~, ~@9 c6@2 c6@4 ~", // C5
  G: "[[g5,bb5]@4 [f5,ab5]@3 ~ [eb5,g5]@4 f5 ~ [bb4,d5]@4 ~@2 [bb4,d5]!2 ~@2 [bb4,d5,g5]!2 ~ [bb4,d5,g5] ~@2 [bb4,d5,g5]@2, ~@10 g5 ~@5]/2", // Gm Fm Eb Bb Gm
  H: "[c5,eb5,g5] ~ eb5 [c5,eb5,g5] ~ [c5,eb5,g5] ~@2 [c5,eb5,g5]@2 ~ [c5,eb5,g5]@2 ~ [c5,eb5,g5]@2", // Cm
  I: "~@4 [bb4,d5]!2 ~@2 [bb4,d5,g5]!2 ~ [bb4,d5,g5] ~@2 [bb4,d5,g5]@2, ~@2 g5 ~@5", // Bb Gm
  J: "[c5,eb5,g5] ~ eb5 [c5,eb5,g5] ~ [c5,eb5,g5] ~@10", // Cm
  K: "[bb5@2 gb5 [b4,eb5] ~ [eb5,gb5] ~ [d5,f5]@3 ~ [e5,ab5]@3 ~@2, [b4,eb5]@3 ~@13]/2", L: "bb4/2", M: "[ab4@15 ~]/2",
  N: "ab4@7 ~", O: "[g5,bb5]", P: "[d5,f5] [g5,c6]", Q: "[f5,bb5]@7 ~ [e5,ab5]@8", R: "[eb5,g5]@15 ~", S: "[f5,b5]",
  T: "[g5,b5]@13 ~@3", U: "~@14 [c5,d5] [eb5,f5]", V: "[g5,ab5] c6@5 ~@10, ~ bb5 ~@14",
})).s("gm_rock_organ").gain(0.35).pan(0.3)
// … 147 more lines

More by Dirotta su Cuba