Strudelify

Se stiamo insieme

Riccardo Cocciante

KeyC♯ minorTempo103 bpm
0:00/0:00
// Se stiamo insieme — Riccardo Cocciante
// 102.7 bpm, 4/4, key C# minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 112 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(102.7/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~@2 A B C D E F G D E H G I J K L M N O@2 P Q@4 R@2 S T U@2 V W X@3 Y Z AA AB AC AD@2 AE AF AG AH@3 AI@4 AJ@3 AK AL@3
  AM@3 AN AO@8 AP@6 AQ@8 AR@7 AS@7 AT@8 AU@3
>`.pickRestart({
  A: "c#2@31 ~", B: "f#1@6 c#2 f#2", C: "b1", D: "e2@3 d#2@2 b1@2 g#1", E: "c#2@13 ~ c#2@2", F: "f#1@5 c#2 f#2 f#1",
  G: "b1@13 ~ b1@2", H: "f#1", I: "e2@7 b1", J: "c#2@27 ~ c#2@4", K: "f#1@24 ~ f#2@3 f#1@4", L: "b1@26 ~@3 b1@3",
  M: "e2@12 ~ d#2@8 b1@8 g#1@3", N: "~ c#2@31", O: "[~ f#1@24 f#2@4 f#1@4 b1@26 ~@2 b1@3]/2", P: "~ e2@28 b1@3",
  Q: "[~ c#2@27 ~ c#2@4 f#1@24 f#2@4 f#1@4 b1@26 ~@2 b1@4 e2@12 d#2@8 b1@8 g#1@3]/4",
  R: "[~ c#2@27 ~ c#2@4 f#1@16 c#2@4 f#2@7 ~ f#1@3]/2", S: "~ b1@20 f#2@4 b2@7", T: "~ [e2,e3]@16 d#2@4 c#2@7 ~ b1@3",
  U: "[~ c#2@27 ~ c#2@4 f#1@24 f#2@4 f#1@3]/2", V: "~ b1@27 ~ b1@3", W: "~ e2@24 d#2@4 b1@3",
  X: "[~ c#2@25 ~@3 c#2@4 f#1@23 ~ f#2@4 f#1@4 b1@26 ~@2 b1@3]/3", Y: "~@2 e2@15 b2@4 e3@8 e2@3",
  Z: "~ g#1@16 c#2@10 ~@2 c#2@3", AA: "~ f#1@16 f#2@4 f#1@7 ~ f#1@3", AB: "~ d#1@16 g#1@10 ~@2 g#1@3",
  AC: "~ c#2@16 g#2@4 c#3@8 c#2@3", AD: "[~ f#1@24 f#2@3 ~ f#1@4 b1@18 ~@2 b1@4 b2@4 b1@3]/2", AE: "~ e1@26 ~@2 e1@3",
  AF: "~@2 a1@15 e2@4 a2@7 ~ a1@3", AG: "~@2 d#1@11 d#2@16 d#1@3",
  AH: "[~@2 g#1@11 d#2@4 g#2@4 g#1@7 ~@2 g#1@4 g#2@20 d#2@4 g#2@4 g#1@4 c#2@20 g#2@4 c#3@6]/3",
  AI: "[~@2 f#1@12 c#2@4 f#2@4 c#2@8 f#1@4 b1@16 f#2@4 b2@8 b1@4 e2@7 ~ e3@4 d#3@8 b2@8 g#2@4 c#2@20 g#2@4 c#3@6]/4",
  AJ: "[~@2 f#1@12 c#2@8 f#2@8 f#1@4 b1@8 f#2@4 b2@8 f#2@8 b1@4 e2@23 ~ e2@6]/3", AK: "~ a1@15",
  AL: "[~ b1@32 c#2@10 g#2@2 c#3@3]/3",
  AM: "[~ f#1@6 c#2@2 f#2@2 c#2@4 f#1@2 b1@8 f#2@2 b2@4 b1@2 e2@6 g#1@2 b1@2 c#2@2 e2@3]/3", AN: "~ c#2@10 g#2@2 c#3@3",
  AO: "[~@2 f#1@12 c#2@8 f#2@7 ~ f#1@4 b1@8 f#2@4 b2@8 f#2@8 b1@4 e2@12 e1@8 g#1@3 ~ b1 ~ c#2@2 e2@5 c#2@25 ~@2 c#2@5 f#1@23 f#2@4 f#1@4 b1@26 ~@2 b1@4 e2@16 b2@4 e3@8 e2@4 g#1@16 c#2@10 ~@2 c#2@2]/8",
  AP: "[~@2 f#1@16 f#2@4 f#1@7 ~ f#1@4 d#1@16 g#1@11 ~ g#1@4 c#2@16 g#2@4 c#3@8 ~ c#2@4 f#1@23 f#2@3 ~ f#1@5 b1@18 ~ b1@4 b2@4 b1@4 e1@26 ~@2 e1@2]/6",
  AQ: "[~@3 a1@16 e2@4 a2@7 ~ a1@4 d#1@12 d#2@16 d#1@4 g#1@12 d#2@4 g#2@4 g#1@7 ~ g#1@4 g#2@20 d#2@4 g#2@4 g#1@4 c#2@20 g#2@4 c#3@8 f#1@12 c#2@4 f#2@4 c#2@8 f#1@4 b1@16 f#2@4 b2@8 b1@4 e2@7 ~ e3@4 d#3@8 b2@8 g#2]/8",
  AR: "[~@3 c#2@20 g#2@4 c#3@8 f#1@12 c#2@8 f#2@8 f#1@4 b1@8 f#2@4 b2@8 f#2@8 b1@4 e2@23 ~ e2@8 a1@32 b1@47 ~ g#2@13]/7",
  AS: "[~@3 c#2@20 g#2@4 c#3@8 f#1@12 c#2@4 f#2@4 c#2@8 f#1@4 b1@16 f#2@4 b2@8 b1@4 e2@12 g#1@4 b1@4 c#2@4 e2@8 c#2@20 g#2@4 c#3@8 f#1@12 c#2@8 f#2@7 ~ f#1@4 b1@8 f#2@4 b2@8 f#2@8 b1]/7",
  AT: "[~@3 e2@12 e1@8 g#1@3 ~ b1 ~ c#2@2 e2@5 c#2@19 g#2@4 c#3@8 f#1@12 c#2@4 f#2@4 c#2@8 f#1@4 ~ b1@15 f#2@4 b2@8 b1@4 e2@12 g#1@4 b1@4 c#2@4 e2@8 ~ c#2@19 g#2@4 c#3@8 ~ f#1@11 c#2@8 f#2@7 ~ f#1@4 b1@8 f#2@4 b2@8 f#2@8 ~]/8",
  AU: "[b1@4 e2@12 e1@61 ~@19]/3",
})).s("gm_acoustic_bass").gain(0.37)

// other · pad choir · "CHOIR/GTR"
const pad_choir = note("<~@2 A@7 ~@103>".pickRestart({
  A: "[~@24 g#4@4 f#4@36 b4@24 f#4@4 e4@35 g#4@25 d#4@4 c#4@37 f#4@23 c#4@5 ~@3]/7",
})).s("gm_pad_choir").gain(0.23)

// chords · electric guitar jazz · "CHOIR/GTR"
const electric_guitar_jazz = note(`<
  ~@10 A@2 ~ B@3 ~ C@8 D E@2 F G H ~@2 I J K@2 L@2 M N O P Q R S T@3 U@4 V@5 ~@10 W X@2 Y@2 Z AA AB@2 AC AD AE AF@3 AG@8
  ~@21
>`.pickRestart({
  A: "[~@2 g#3 ~@61, [c#4,e4,g#4]@53 ~@11]/2", // C#m
  B: "[~@17 g#4@22 ~@9, ~@20 e4@11 g#3@48 ~@17, ~@21 b3@11 c#4@45 ~@19, ~@11 e4@15 ~@6]/3",
  C: "[~@9 g#4@4 ~@19 g#4@46 ~@19 f#4@45 ~@7 f#4@4 ~@7 g#4@46 ~@18 f#4@26 ~@6, e4@12 ~ d#4@17 c#4@48 ~@17 b3@48 ~@2 [g#3,c#4]@7 ~@104, ~@21 [b3,b4]@10 e4@45 ~@20 d#4@47 ~@16 [c#4,e4]@49 ~@15 d#4@27 ~@6]/8", // C#5 B C#m
  D: "~@21 [b3,b4]@11, ~ e4@12 d#4@19, ~@9 g#4@12 ~@11", // B
  E: "[~@2 g#4@26 ~@5 g#4@31, [c#4,e4]@31 c#4@30 ~@3, ~@8 e4@7 ~]/2", F: "~ f#4@29 ~@2, c#4@15 ~",
  G: "~ [d#4,f#4]@27 ~@4", H: "~@2 g#4@27 ~@3, c#4@29 ~@3, ~ e4@27 ~@4", I: "~@21 g#4@4 b4@4 d#4@3, ~@17 f#4@13 ~@2",
  J: "c#4 ~ g#4@23 ~@7, ~ e4@24 ~@7, ~ c#4@18 ~@13",
  K: "[~@25 e4 ~@7 f#4 f#4@15 ~@15, [c#4,e4]@13 ~@3 c#4@12 ~@4, ~@2 g#4@24 ~@3 g#4@4 d#4@23 ~@8, ~@21 c#5@13 ~@30]/2", // C#m
  L: "[~@25 f#4@8 [g#3,d4]@16 ~ [f3,g#3]@11 ~@3, ~@2 e4@7 b4@15 ~@40, ~@5 g#4@12 ~@4 g#4@12 ~@16 c#4@12 ~@3, ~@13 e4@13 ~@7 f#3@13 ~@18]/2", // G#dim Fm
  M: "~@17 a4@4 g#4@4 f#4@6 ~, ~ [f#3,a3,c#4]@25 ~@6", N: "~ [d#4,f#4,a4]@16 g#4@15",
  O: "~ g#4@16 ~@8 c#4@4 d#4@3, ~ e4@30 ~, ~ c#4@24 ~@7, ~@17 g#4@14 ~, ~@21 c#5@8 ~@3", P: "~@2 e4@25 ~@5",
  Q: "~ e4@9 ~@8 b3@13 ~, c#4@13 ~@4 d#4@13 ~@2, ~ f#4@25 ~@6", R: "~ f#4@11 ~@4, g#3@27 ~@5, b3@3 ~, ~ d#4@24 ~@7",
  S: "~@2 g#3@11 ~@4 [a3,c#4]@10 ~@5, ~ d#4@17 ~@14, ~ b3@11 ~@20", // A
  T: "[~@2 f#4@34 ~ g#3@4 d#4@4 g#3@4 ~@4 g#3@5 ~@3 g#3@5 ~@3 g#3@5 ~@3 g#3@5 g#4@3 ~ g#3@4 c5@4 g#3@2, [a3,c#4]@35 ~@61, ~ d#4@34 ~@14 g#4@7 ~@2 d#4@5 ~@11 d#4@7 ~@15]/3", // A
  U: "[~@13 c#5@8 ~@9 c#5@8 ~@8 c#5@8 ~@7 c#5@7 ~@26 c#5@8 ~@3 e4@4 ~@8 [b3,b4]@11, ~@6 e4@13 ~@3 e4@14 ~@2 e4@14 ~@2 e4@15 ~@5 a4@13 ~@3 a4@8 ~@30, ~@9 g#4@13 ~@4 g#4@12 ~@4 a4@12 ~@4 a4@11 g#4@14 ~@3 g#4@18 ~@6 d#4@18, ~@78 c#5@11 ~@39]/4", // B
  V: "[~@7 c#5@4 ~@4 c#5@4 ~@4 c#5@4 ~@4 c#5@3 ~@11 a4@2 c#5@2 ~@14 [b3,b4]@2 ~@15, ~@3 e4@6 ~@2 e4@6 ~@2 e4@7 ~ e4@7 ~@3 a4@6 ~@12 [b3,b4]@6 ~@19, ~@10 g#4@12 ~@4 g#4@8 ~@8 a4@11 ~@5 a4@10 ~@2 g#4@14 ~@2 g#4@13 ~@7 g#4@8 ~@4 [e4,g#4]@12 ~@30, ~@39 c#5@6 ~@35]/5", // B E
  W: "~@3 g#4@23 ~@6, ~@3 c#4@18 ~@11",
  X: "[~@35 f#4@15 ~@14, ~ [c#4,e4]@26 ~@6 c#4@24 ~@7, ~@3 g#4@24 ~@3 g#4@4 d#4@23 ~@7, ~@22 c#5@13 ~@29]/2", // C#m
  Y: "[~@26 f#4@8 [g#3,d4]@16 ~ [f3,g#3]@11 ~@2, ~ g#3@29 ~@4 f#3@13 ~@17, ~ b3@14 ~@10 c#4@6 ~, ~@3 e4@7 b4@12 g#4@12 ~@30, ~@7 g#4@7 e4@13 ~@37]/2", // G#dim Fm
  Z: "~@9 a4@2 g#4@2 f#4@3, ~@2 [f#3,a3,c#4]@25 ~@5", AA: "~ [d#4,f#4,a4]@7 ~ [c4,d#4,g#4]@6 ~, ~@2 c#4@3 ~@27",
  AB: "[~@2 g#4@16 ~@8 c#4@4 d#4@5 e4@25 ~@4, ~ e4@15 ~@16, ~ c#4@12 ~@19, ~@9 g#4@7 ~@16, ~@11 c#5@4 ~@17]/2",
  AC: "~@19 b3@13, ~ c#4@13 ~@18, ~@2 e4@9 ~@7 d#4@13 ~, ~@3 f#4@25 ~@4",
  AD: "~@3 f#4@22 ~@7, ~ g#3@27 ~@4, ~ b3@24 ~@7, ~ d#4@12 ~@3",
  AE: "~@3 [g#3,b3]@11 ~@4 [a3,c#4]@10 ~@4, ~@3 e3@25 ~@4, ~@3 d#4@15 ~@14", // G#m A
  AF: "[~@3 f#4@34 ~@2 g#3@4 d#4@4 g#3@4 ~@4 g#3@4 d#4@4 g#3@5 ~@3 g#3@4 ~@4 g#3@4 ~@4 f#4@4 g#4@4 d#4, ~ [a3,c#4]@35 ~@60, ~@2 d#4@34 ~@15 g#4@7 ~@17 d#4@7 ~ d#4@8 ~@5]/3", // A
  AG: "[~@15 c#5@8 ~@8 c#5@8 ~@8 c#5@8 ~@7 c#5@7 ~@26 c#5@8 ~@3 e4@4 ~@8 [b3,b4]@12 ~@13 c#5@8 ~@8 c#5@8 ~@8 c#5@8 ~@8 c#5@6 ~@22 a4@4 c#5@4 ~@24 e4@4 b3, ~@7 e4@13 ~@3 e4@14 ~@2 e4@14 ~@2 e4@15 ~@5 a4@13 ~@3 a4@7 ~@41 g#4@12 ~@4 g#4@8 ~@8 a4@11 ~@5 a4@10 ~@2 g#4@14 ~@2 g#4@13 ~@3 e4@17 ~@8, ~@11 g#4@13 ~@3 g#4@12 ~@4 a4@12 ~@4 a4@11 g#4@14 ~@3 g#4@18 ~@6 d#4@20 ~@4 e4@12 ~@4 e4@12 ~@4 e4@14 ~@2 e4@14 ~@10 c#5@12 ~@20 b4@17, ~@79 c#5@11 ~@113 a4@12 ~@20 g#4@10 ~@2 g#4@9]/8", // B
})).s("gm_electric_guitar_jazz").gain(0.28)

// chords · electric guitar jazz · "CHOIR/GTR" · soft notes
const electric_guitar_jazz_2 = note(`<
  ~@17 A@6 B@2 C@3 D E F ~@2 G@4 ~@2 H ~@2 I@2 ~ J ~@10 K ~@12 L M ~@2 N@2 ~@2 O ~@34
>`.pickRestart({
  A: "[~@30 g#3@50 ~@14 a3@46 ~@13 e4@4 b3@5 ~@30]/6", B: "[~@30 b3@27 ~@7, ~@29 a3@28 ~@7]/2",
  C: "[~@31 g#3@29 ~@3 a3@30 ~@3]/3", D: "a3@15 ~", E: "b3@27 ~@5", F: "g#3@29 ~@3",
  G: "[~@31 g#3@27 ~@5 a3@27 ~@5 a3@24 ~@9]/4", H: "~@29 c#4@3", I: "[~@31 a3@10 ~@23]/2", J: "~@2 e3@25 ~@5",
  K: "~@10 e4 ~@3 e4@4 ~@14", L: "a3@27 ~@5", M: "~ a3@24 ~@7", N: "[~@15 c#4@2 ~@15]/2", O: "a3@5 ~@11",
})).s("gm_electric_guitar_jazz").gain(0.14)

// chords · acoustic guitar steel · "CHOIR/GTR"
const acoustic_guitar_steel = note("<~@60 A@8 ~@26 B@8 C@4 D@5 ~>".pickRestart({
  A: "[~@3 c#4@18 ~ f#4@3 [e4,g#4]@4 ~ [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 e4@4 b3@36 [c#4,e4]@20 [d#4,f#4]@4 [e4,g#4]@3 ~ [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 e4@4 [b3,d#4]@15 b3@19, ~@2 e4@19 d#4@4 ~@65 c#4@3 ~ d#4@23 ~@101 c#4@3 ~@16 d#4@8 ~@11]/8", // E D#m C#m D#m E D#m B
  B: "[~@4 c#4@18 ~ f#4@3 [e4,g#4]@4 ~ [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 [c#4,e4]@4 b3@36 [c#4,e4]@20 [d#4,f#4]@4 [e4,g#4]@3 ~ [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 [c#4,e4]@4 [b3,d#4]@15 ~ b3@17, ~@3 e4@19 d#4@4 ~@69 d#4@23 ~@120 d#4@8 ~@10]/8", // E D#m C#m D#m E D#m C#m B
  C: "[~@4 [c#4,e4]@19 [d#4,f#4]@4 [e4,g#4]@4 [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 [c#4,e4]@4 b3@33, ~@95 d#4@23 ~@10]/4", // C#m D#m E D#m C#m
  D: "[~@3 [c#4,e4]@20 [d#4,f#4]@4 [e4,g#4]@3 ~ [e4,g#4]@27 ~ [e4,g#4]@4 [d#4,f#4]@28 [c#4,e4]@4 [b3,d#4]@16 ~@2 b3@40 ~@7, ~@14 d#4 ~@5]/5", // C#m D#m E D#m C#m B
})).s("gm_acoustic_guitar_steel").gain(0.37)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note(`<
  A@2 B@8 ~@4 C@4 D@8 E@8 F@7 G@8 H@8 I J@2 K@4 L@4 ~@7 M@8 N@8 ~@3 O@4 P@8 Q@5 ~
>`.pickRestart({
  A: "[~ g#3@31, [c#4,d#4]]/2", // C#sus2
  B: "[~@49 b3@16 g#3@16 ~@32 [g#3,b3]@15, c#4@32 ~ [d#4,f#4]@33 ~@15 a3@33 ~@14, g#3@16 ~ a3@34 ~@14 e4@32 [d#4,f#4]@31, ~@2 e4@65 ~@63 c#4@99 ~@27]/8", // G#m D#m
  C: "[~@3 b3, [e4,g#4]@65 ~@63, ~ c#4@96 ~@31, ~ g#3@34 ~@29 [d#4,f#4]@64, ~@16 a3@33 ~@15]/4", // E D#m
  D: "[~ g#3@33 a3@31 ~@97 f#4@13 ~@50 g#3@31, ~ c#4@65 ~@31 g#3@65 a3@31 ~@2 [b3,d#4]@61, ~ e4@62 ~@2 [b3,d#4]@64 ~@2 [c#4,e4]@64 ~@61, ~@34 f#4@95 ~@48 f#4@79]/8", // B C#m
  E: "[~ g#3@31 ~ a3@32 ~@96 f#4@14 ~@50 g#3@31, ~ [c#4,e4]@64 [b3,d#4]@64 [c#4,e4]@64 [b3,d#4]@63, ~@33 f#4@95 ~@49 f#4@79, ~@97 g#3@64 a3@31 ~@64]/8", // C#m B C#m B
  F: "[~ g#4@32 ~@96 d4@15 ~ f4@15 [f#4,a4]@49 [d#4,g#4]@15, ~ [c#4,e4]@64 d#4@63 f#4@17 ~@79, ~@33 a4@63 g#4@64 ~@64, ~@66 b3@63 ~@15 c#4@65 ~@15]/7", // F#m G#5 C#m
  G: "[~ [c#4,e4,c#5]@32 a4 e4@47 ~@16 b3@47 ~@16 f#4 f#3@32 ~@15 c5@17 c#5@15 d#5 d#5@15, ~ e5@80 ~@16 [g#3,g#4]@64 f#4@41 ~@23 g#4@31, ~@17 [a3,c#4]@32 ~@23 c#5@33 ~@15 g#5@8, ~@34 a4@38 ~@9 [d#4,d#5]@63 [a3,c#4]@49 [d#4,g#4]@32 ~@31, ~@97 g#3@28 ~@3]/8", // C#m G# A D# A G#5
  H: "[~@2 g#3@31 ~@16 e5@15 ~@49 g#5@15 ~@2 g#4@31 ~@81 e5@14, ~ [c#4,e4]@31 b3@32 c#4@25 f#5@8 b4@31, ~@2 [e5,g#5]@47 b5@80 ~ e5@32 a4@30 b3@64, ~@33 a3@64 g#3@64 a3@57 d#5@22 e4@16, ~@65 [d#4,f#4,f#5]@48 e4@79 [d#4,f#4]@33 g#3@31]/8", // C#m E D#m
  I: "~ [e3,a3,c#4]@15", J: "[~ [d#3,f#3,b3]@24 ~@7]/2",
  K: "[~@2 [e5,c#6]@19 [f#5,d#6]@4 e6@4 ~ e6@27 [g#5,e6]@4 [f#5,d#6]@28 ~@5 d#5@15 [b4,g#5]@4 ~ b5@3 [e5,c#6]@5 [g#5,e6]@6, ~@25 g#5@31 ~@33 e5@4 b5@17 ~@3 d#5@5 ~@10, ~@90 c#6@5 ~@33]/4", // C#m D#m C#m D#m E C#m
  L: "[~ [e5,c#6]@20 [f#5,d#6]@4 [g#5,e6]@4 ~ g#5@27 g#5@4 [f#5,d#6]@28 [e5,c#6]@4 [d#5,b5]@14 ~@2 [d#5,b5]@5 ~@3 [g#4,g#5]@3 ~@2 b5 c#6@2 [g#5,e6]@3, ~@30 e6@33 ~@58 d#5@2 e5 ~@4]/4", // C#m D#m C#m D#m C#m G#m G# C#m
  M: "[~@2 [g#4,c#5]@32 a4 ~@62 g#4 ~@112 c5@16 ~ g#5@14 ~ d#5@14, ~ e5@40 d#5@32 ~@24 g#4@16 ~@15, ~@66 f#4@32 ~@64 f#4@41 ~@53, ~@73 a4@25 ~@47 c#5@66 ~@15 c#5@17 ~@13]/8", // C#5
  N: "[~@3 g#3@31 ~@16 e5@15 ~@177 [e4,e5]@14, ~@3 [c#4,e4]@62 b3@49 g#5@15 g#4@33 a3@56 d#5@26 ~@12, ~@3 [e5,g#5]@47 b5@79 c#4@49 f#5@16 b4@62, ~@34 a3@64 g#3@32 e5@32 a4@31 [d#4,f#4]@34 g#3@29, ~@66 [d#4,f#4,f#5]@48 e4@79 b3@63]/8", // E C#m E D#m
  O: "[~@3 [e5,c#6]@19 [f#5,d#6]@4 e6@4 ~ e6@27 [g#5,e6]@4 [f#5,d#6]@28 ~@5 d#5@15 [b4,g#5]@4 ~ b5@3 [e5,c#6]@5 [g#5,e6]@5, ~@26 g#5@31 ~@33 e5@4 b5@17 ~@3 d#5@5 ~@9, ~@91 c#6@5 ~@32]/4", // C#m D#m C#m D#m E C#m
  P: "[~@2 [e5,c#6]@20 [f#5,d#6]@4 [g#5,e6]@4 ~ g#5@27 g#5@4 [f#5,d#6]@29 ~@4 b5@14 [d#5,b5]@7 ~@3 [g#4,g#5]@4 [d#5,b5]@9 [e5,c#6]@18 ~ f#5@3 ~@5 e6@27 [g#5,e6]@4 [f#5,d#6]@29 ~@4 d#5@15 ~@5 b5@4 [e5,c#6]@4 [g#5,e6]@5, ~@31 e6@33 ~@27 [e5,c#6]@5 ~@54 d#6@4 e6@4 ~@64 b5@17 g#5@5 ~@12, ~@94 d#5@14 ~@47 g#5@31 ~@33 [e5,c#6]@5 ~@14 b4@4 d#5@5 ~@9]/8", // C#m D#m C#m D#m G#m G# G#m C#m …
  Q: "[~@2 [e5,c#6]@20 [f#5,d#6]@4 ~ e6@4 g#5@27 ~ g#5@4 [f#5,d#6]@28 [e5,c#6]@4 [d#5,b5]@12 ~@6 [d#5,b5]@42 ~@5, ~@26 g#5@4 ~ e6@33 ~@96]/5", // C#m D#m C#m G#m
})).s("gm_string_ensemble_1").gain(0.24)

// chords · string ensemble 1 · "STRINGS" · soft notes
const string_ensemble_1_soft = note("<~@41 A ~ B C@4 ~@20 D@8 E@8 ~@7 F@4 ~@17>".pickRestart({
  A: "~ g#4@15", B: "~ a4@3, ~ f#4@31", C: "[b4@48 a4@49 ~@31, g#4 ~@127]/4",
  D: "[~@130 d4@15 ~ f4@15 a4@48 [d#4,g#4]@17 [c#4,e4]@30, ~@2 g#4@32 ~ a4@63 g#4@64 ~@94, ~@3 [c#4,e4]@63 d#4@63 f#4@17 ~@15 f#4@65 ~@30, ~@67 b3@63 ~@15 c#4@65 ~@46]/8", // G#5 C#m
  E: "[~@3 [e4,c#6]@47 ~@16 b3@48 ~ a5@15 ~@48 g#5@15 ~@16 g#5@17 ~@30, ~@3 [a3,c#4]@62 b4@49 [a3,c#4,a4]@48 d#4@32 g#4@33 ~@29, ~@3 a4@38 ~@9 [d#4,b5]@65 ~@15 f#3@33 g#3@56 ~@37, ~@66 [g#3,g#4]@65 a5@49 ~@29 d#5 ~@46]/8", // C#m A G#m G#
  F: "[~@3 [e3,a3,c#4]@32 [d#3,f#3,b3]@64 ~@29]/4", // A B
})).s("gm_string_ensemble_1").gain(0.14)

// chords · piano · "A.PIANO"
const piano = note(`<
  A@3 B C D E F G D H I J K L M N O P Q R S T U@2 V W X Y Z AA AB AC V AD AE AF AG AH AI AJ AK AL AM AN@2 AO AP@3 AQ AR
  AS AT AQ AR AU AV@5 AW@2 AX AY@3 AZ@2 BA BB BC BD@3 BE BF BG@2 BH BI@3 BJ BK BL BM BJ BK BN@2 BO@6 BP@4 BQ@7 BR@3
>`.pickRestart({
  A: "[d#4@32 [g#3,e4]@15 ~, c#4@95 ~, g#3@31 ~@17]/3", B: "[a3,c#4,e4]@31 ~", C: "[a3,c#4,d#4,f#4]@31 ~",
  D: "[g#3,b3,d#4,f#4]", E: "[g#3,b3,e4]", F: "[a3,c#4,e4]@15 ~", G: "[a3,c#4,d#4,f#4]", H: "[g#3,c#4,e4,g#4]@15 ~",
  I: "[a3,c#4,e4]@29 ~@3, g#4", J: "[b3,d#4,f#4]@29 ~@3", K: "[g#3,b3,d#4,f#4]@7 ~, e3", L: "[g#3,c#4,e4,g#4]@29 ~@3",
  M: "[c#4,g#4]@31 ~, [a3,e4]@7 ~", N: "[b3,d#4,f#4]@31 ~", O: "[e3,b3,d#4,f#4]", P: "~ [g#3,c#4,e4,g#4]@30 ~",
  Q: "~ [a3,c#4,e4,g#4]@29 ~@2", R: "~ [b3,d#4,f#4]@29 ~@2", S: "~ [g#3,b3,d#4,f#4]@26 ~@5, ~ e3@31",
  T: "~ [g#3,c#4,e4,g#4]@28 ~@3", U: "[~ [e4,g#4]@25 ~@3 f#4@2 e4@2 [b3,d#4,f#4]@30 ~, ~ [a3,c#4]@31 ~@32]/2",
  V: "~ [e3,g#3,b3,d#4,f#4]@31", W: "~ [c#4,e4]@31", X: "~ [a3,c#4,e4,f#4]@31", Y: "~ [d#4,f#4]@30 ~",
  Z: "~ [g#3,d#4]@31, ~ b3@27 ~@4", AA: "~ [g#3,c#4,e4]@31", AB: "~ [a3,e4,f#4]@30 ~", AC: "~ [b3,d#4,f#4]@31",
  AD: "~ [c#4,e4]@28 ~@3", AE: "~ [c#4,e4]@26 ~@5", AF: "~ [c#4,d#4,f#4]@29 ~@2", AG: "~ g#3@28 ~@3, ~ b3@25 ~@6",
  AH: "~ [f#3,g#3,b3,d4]@13 ~@3 [g#3,b3,c#4]@12 ~@3", AI: "~ [f#3,a3,c#4]@28 ~@3",
  AJ: "~ [f#3,c#4]@16 [f#3,g#3,c4,d#4]@15", AK: "~ c#4@31", AL: "~ [f#3,a3,e4]@29 ~@2",
  AM: "~ e4@16 d#4@11 ~@4, ~ [f#3,a3,c#4]@29 ~@2", // F#m
  AN: "[~ [e3,g#3,d#4]@31 ~ d#4@16 c#4@11 ~@4, ~ b3@56 ~@7, ~@33 [e3,g#3]@28 ~@3]/2", // Emaj7 E
  AO: "~ [d#3,a3,c#4]@31, ~ f#3@28 ~@3", // D#m7b5
  AP: "[~ c#4@16 c4@16 c#4@17 d#4@16 [g#3,c#4,e4]@27 ~@3, ~ d#3@64 ~@31, ~ g#3@31 ~@64]/3", // C#m
  AQ: "~ [f#3,a3,c#4,e4]@14 ~", AR: "~@2 [f#3,b3,d#4]@29 ~, ~@2 a3@25 ~@5", AS: "~ [e3,g#3,b3,d#4]@13 ~@2",
  AT: "~@2 [g#3,c#4,e4]@29 ~", AU: "~ [e3,g#3,b3,d#4]@15",
  AV: "[~@2 [a1,a3,c#4]@32 [b1,f#3,b3,d#4]@64 [g#3,c#4,e4]@29 ~@3 [f#2,f#3,a3,c#4]@30, ~@2 e3@27 ~@69 [c#2,c#3]@35 ~@27, ~@130 e4@27 ~@3]/5", // A B C#m F#m C#
  AW: "[~@2 [f#3,b3,d#4]@31 ~ e2@30, ~ b1@16 ~@15, ~ a3@13 ~@18]/2", AX: "~ [c#2,g#3,c#4,e4]@15, ~ c#3@13 ~@2",
  AY: "[~@2 [a3,c#4]@24 e4@4 ~@8 c#4@8 b3@8 c#4@8 ~@4 e2@11 ~ [e3,g#3]@6 ~@12, ~ f#2@31 ~@16, ~@2 f#1@32 b1@31 ~@31, ~@2 e4@22 ~@6 d#4@8 ~@40 b3@9 ~@9, ~@2 f#3@19 ~@5 f#3@2 ~@10 e3@5 ~@3 d#3@5 ~@3 e3@4 ~@4 [d#3,b3]@15 ~@19]/3", // A E G#m
  AZ: "[~ [c#4,e4]@14 c#3@2 [c#4,e4]@13 ~@2, ~@17 f#2@15]/2", BA: "~@2 [c#4,d#4,f#4]@29 ~",
  BB: "~ g#3@14 ~, ~@2 b3@25 ~@5", BC: "~@2 [f#3,g#3,b3,d4]@13 ~@3 [g#3,b3,c#4]@12 ~@2, ~ g#2@8 ~@7",
  BD: "[~ [f#3,a3,c#4]@14 ~@2 d#2@8 [c4,d#4]@7 ~ c#4@15, ~@2 f#2@32 c#4@13 ~@3 g#2@16 ~@30]/3", // F#m Cm
  BE: "~@2 [f#3,a3,e4]@29 ~, ~@2 c#4 ~@29", BF: "~@3 e4@15 d#4@11 ~@3, ~@2 [a3,c#4]@27 ~@3, ~@3 f#3@29",
  BG: "[~@2 [e3,g#3,d#4]@31 ~@2 d#4@16 c#4@11 ~@2, ~ b3@28 ~@3, ~@35 [e3,g#3]@28 ~]/2", BH: "~@3 [d#3,f#3,a3,c#4]@29",
  BI: "[~@3 c#4@16 c4@16 c#4@16 d#4@16 [g#3,c#4,e4]@28 ~, ~@3 d#3@64 ~@29, ~@3 g#3@31 ~@62]/3", // C#m
  BJ: "~@3 [f#3,a3,c#4,e4]@28 ~", BK: "~@3 [f#3,b3,d#4]@29, ~@3 a3@25 ~@4", BL: "~@3 [e3,g#3,b3,d#4]@26 ~@3",
  BM: "~@3 [g#3,c#4,e4]@29", BN: "[~@3 [e3,g#3,b3,d#4]@32 [a1,e3,a3,c#4]@29]/2",
  BO: "[~@3 [b1,f#3,b3,d#4]@64 [g#3,c#4,e4]@29 ~@3 [f#3,a3,c#4,e4]@29 ~@3 [f#3,b3,d#4]@31 ~ e2@29, ~@67 [c#2,c#3]@35 ~@29 b1@32 ~@29, ~@99 f#2@32 a3@26 ~@35]/6", // B C#m F#m7 B C#
  BP: "[~@3 [c#2,g#3,c#4,e4]@32 [a3,c#4]@24 e4@4 ~@8 c#4@8 b3@8 c#4@8 ~@4 e2@11 ~ [e3,g#3]@6 ~@11, ~@3 c#3@26 ~@6 f#2@62 ~@31, ~@35 f#1@32 b1@31 ~@30, ~@35 e4@22 ~@6 d#4@8 ~@40 b3@9 ~@8, ~@35 f#3@19 ~@5 f#3@2 ~@10 e3@5 ~@3 d#3@5 ~@3 e3@4 ~@4 [d#3,b3]@15 ~@18]/4", // C#m A E G#m
  BQ: "[~@3 [g#3,c#4,e4]@29 ~@3 [f#3,a3,c#4,e4]@29 ~@3 [f#3,b3,d#4]@31 ~ e2@32 [c#2,g#3,c#4,e4]@32 [a3,c#4]@24 e4@4 ~@8 c#4@8 b3@8 c#4@9, ~@3 [c#2,c#3]@35 ~@29 b1@32 ~@64 f#2@61, ~@35 f#2@32 a3@26 ~@38 c#3@26 ~@6 f#1@32 b1@29, ~@163 e4@22 ~@6 d#4@8 ~@25, ~@163 f#3@19 ~@5 f#3@2 ~@10 e3@5 ~@3 d#3@6 ~@2 e3@4 ~@5]/7", // C#m F#m7 B C#m A C#
  BR: "[~@2 e2@6 [e3,g#3,b3]@29 ~@11, [d#3,b3] ~@5]/3", // E G#m
})).s("gm_piano").gain(0.39)

// chords · piano · "A.PIANO" · soft notes
const piano_soft = note(`<
  ~@29 A ~ B ~@2 C D E F@2 ~ G H ~@6 I ~@13 J@2 ~@3 K L M N@3 ~ O P ~@6 Q@2 ~@12 R@2 ~@3 S ~@2 R@2 ~@3 T@3
>`.pickRestart({
  A: "~ f#4@31", B: "~ c#4@31", C: "~ [g#3,g#4]@28 ~@3", D: "~ g#4@31, ~ a3@28 ~@3", E: "~ a3@28 ~@3",
  F: "[~ [d#4,f#4]@25 ~@23 f3@11 ~@4, ~ e3@36 ~@27]/2", G: "~ a3@16 ~@15", H: "~ [c#3,e3,g#3,e4]@31", I: "~ g#3@31",
  J: "[~ b2@16 [e3,d#4]@15, ~@17 [g#3,b3]@13 ~@2]/2", K: "~@7 [e2,d#3]@4 ~@5", L: "~@2 [g#3,g#4]@29 ~, ~ c#3@13 ~@2",
  M: "~ [a3,g#4]@15", N: "[~@2 b2@32 [d#4,f#4]@25 ~@23 c#3@14, ~@2 a3@28 ~@4 e3@36 ~@12 f3@11 ~@3]/3",
  O: "~@2 [f#3,a3]@11 ~@5 [f#3,g#3]@13 ~", P: "~ [c#3,e3,g#3,e4]@15", Q: "[~@3 g#3@32 ~@29]/2",
  R: "[~@3 b2@32 [e3,d#4]@29, ~@35 [g#3,b3]@26 ~@3]/2", S: "~@15 [e2,d#3]@8 ~@9", T: "[~@8 [e2,d#3]@29 ~@11]/3",
})).s("gm_piano").gain(0.23)

// drums · kick
const kick = s("bd").struct(`<
  ~@17 A B@11 C B@7 D B@3 D B@2 E F B G H I J I K I J I J I@2 ~ I J I K I J I J I@3 L I@3 L M@2 N O M@2 P M P M Q M P M
  P M@2 R M P M Q M P M P M P M Q M S M T ~@2
>`.pickRestart({
  A: "~@29 x ~@2", B: "~ x ~@30", C: "~ x ~@19 x ~@10", D: "~ x ~@19 x ~@7 x ~@2", E: "~ x ~@27 x ~@2",
  F: "~@2 x ~@18 x ~@10", G: "~@2 x ~@14 x ~@11 x ~@2", H: "~@2 x ~@10 x ~@18", I: "~ x ~@14", J: "~ x ~@5 x ~@8",
  K: "~ x ~@5 x ~@3 x ~@3 x", L: "~ x ~@9 x ~@3 x", M: "~@3 x ~@28", N: "~ x ~@13 x", O: "~@3 x ~@19 x ~@8",
  P: "~@3 x ~@11 x ~@16", Q: "~@3 x ~@11 x ~@7 x ~@7 x", R: "~@15 x ~ x ~@14", S: "~@4 x ~@10 x ~@16",
  T: "~ x ~@2 x ~@3",
})).gain(0.31)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  ~@21 A ~@3 A ~@3 A ~@3 B ~ A ~@4 A ~@4 A ~ C D ~@18 E ~ F ~@2 F ~ F ~@4 G ~@21 H ~@10
>`.pickRestart({
  A: "~@29 x ~@2", B: "~@25 x ~@3 x ~@2", C: "~@13 x ~@18", D: "~@9 x ~@6", E: "~@5 x ~@5 x ~@3 x", F: "~@15 x",
  G: "~@31 x", H: "~@23 x ~@7 x",
})).gain(0.21)

// drums · rim
const rim = s("rim").struct(`<
  ~@26
  [~@17 x ~@14]!7
// … 93 more lines

More by Riccardo Cocciante