Strudelify
L'ombelico del mondo cover art

Backup 1987-2012

L'ombelico del mondo

Jovanotti

KeyC minorTempo108 bpm
0:00/0:00
// L'ombelico del mondo — Jovanotti
// 108 bpm, 4/8, key C minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 240 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(108/2)

// 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 · fretless bass
const bass = note(`<
  ~@23 A B C D A B C D A B C D A B C D A B C D A B E F G H I J G H I J G H I J G H K ~ A B C D A B C D G H I J G H I J G
  H I J L H M N A B C D A B O P A B C D A B Q R A B C D A B S T ~@14 U V A B C D A B W X A B C D A B Y Z AA AB AC AD
  AE@2 AF AG AH AI AJ AK AL@2 AM AN AO@4 AP AQ AR AS@2 AT AU AV AW AX AY ~ A B C D A B Y Z A B C D A B AZ BA ~@4 A B C D
  A B BB BC A B C BD A B C D A B BE BF A B BG@2 A B C D A B C D A B C D BH@2 BI@7
>`.pickRestart({
  A: "c2@3 g2@3 c2@2", B: "bb1@3 d2@3 bb1@2", C: "eb2@3 g2@3 eb2@2", D: "f2@3 a2@3 f2@2", E: "eb1@3 bb1@3 eb2@2",
  F: "c2 eb2 c2 ab2 g2@3 ~", G: "c2@6 eb2@5 ~ c2@4", H: "bb1 ~", I: "eb2@6 g1@5 ~ bb1@4", J: "a1@9 ~@7", K: "c2 ~@7",
  L: "c2@3 eb2@3 c2@2", M: "eb1 ~ eb1@2 ~@2 eb1@2 ~@2 eb1 ~@3 eb1 ~", N: "f1 ~ f1 ~@3 f2 ~@3 f2@5 ~",
  O: "eb2@2 g2@2 bb2@2 eb3@6 bb2@2 f2 ~", P: "f2 a2 c3 f3@3 c3@2", Q: "bb2@2 ~ c3@2 bb2@2 ~ c3@2 ~ bb2@2 c3@2 ~",
  R: "g2@2 ~ gb2@2 f2@2 ~ eb2@8", S: "eb2@3 bb1@3 g1@2", T: "f1@6 ~@2 a1@4 a1@3 ~", U: "eb2@3 g1@3 bb1@2",
  V: "a1@6 ~ g2@8 ~", W: "eb2 ~@2 eb2@2 g2@2 ~ g2@2 ~ bb2@2 b2@2 ~", X: "c3@3 eb3@2 f3@2 ~ eb3@7 ~, ~@8 d3 ~@7",
  Y: "eb2@2 ~ g2@2 bb2@2 ~ f2@2 ~ c3@2 eb3@2 ~", Z: "ab3@2 ~ f3@2 ab3@2 ~ g3@3 ~ d3@3 ~", AA: "c2@6 c3@5 ~ c2@3 ~",
  AB: "c2@6 c3@6 c2@3 ~", AC: "c2@3 c3@2 ~ c3 ~", AD: "c3@7 ~ c3@3 ~ c3@4", AE: "c2@6 c3@5 ~ c2@2 ~@2",
  AF: "c2@6 c3@5 ~ c2@4, c4@15 ~", AG: "[c3,c4]@6 ~@2 e2@3 ~ g2@3 ~, ~@3 c2 ~@4, ~@7 c4@9",
  AH: "~@6 c3@5 ~ c2@3 ~, c2@3 ~@5, ~ c4@14 ~", AI: "[c2,c4]@3 ~@3 c2 ~, ~@3 c3@3 ~@2, ~@7 c4@9",
  AJ: "c2@6 g2@6 bb2@3 ~, c4@7 ~", AK: "[db3,c4]@2 c3 bb2 c3@2 g2@2, ~@6 c4@9 ~",
  AL: "[c2@6 c3@5 ~ c2@3 ~ c3@5 ~ c2@2 c3@2 ~@2 c3@4, c4@14 ~ c4@6 ~ c4@9 ~]/2", AM: "c4@6 c2@2 c3@3 ~ c3@3 ~, c2 ~@3",
  AN: "g2@3 ~ g2@3 ~ g2@2 ~@2 g2@3 ~", AO: "[c2@27 ~@5]/4", AP: "c2@3 ~@5", AQ: "d2@7 ~@9", AR: "eb2@7 ~@7 f2 ~",
  AS: "[f2@2 ~@2 f2 ~ g2@3 ~ bb2@12 c3@10]/2", AT: "~@2 c3@3 ~ f2@2 ~@2 g2@2 ~@2 d3@2", AU: "~ bb2@5 c3@10",
  AV: "~@2 c3@2 ~@2 f2@2 ~@3 g2 ~@2 bb2 ~", AW: "~ eb3@5 c3@9 ~", AX: "~ c3 ~ bb2 ~ g2@2 ~", AY: "c3@5 ~@11",
  AZ: "eb1@2 ~ g1@2 bb1@2 ~ f1@2 ~ c2@2 eb2@2 ~", BA: "ab2@2 ~ f2@2 ab2@2 ~ g2@8",
  BB: "eb2@2 f2@2 g2@2 a2 ~ a2@2 bb2@2 b2@2 c3@2", BC: "bb2 ~ eb3@2 d3@2 bb2@2 a2@2 bb2@2 a2@2 f2@2",
  BD: "f2@3 ~ c3@2 f3@2 a3@8", BE: "eb2@6 g2@6 eb2@2 d3 ~", BF: "d3@6 d3 ~ d3@7 ~", BG: "a3 bb3 a3 bb3 a3 bb3 a3 bb3",
  BH: "c2/2", BI: "[~@4 b3@3 g3@6 ~@19 e2@74 ~@6, ~@13 e3@93 ~@6, ~@25 g2@81 ~@6]/7",
})).s("gm_fretless_bass").gain(0.37)

// chords · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  ~@47 A@2 B@2 A@2 B@2 A@2 B@2 A@2 C ~@9 A@2 B@2 A@2 B@2 A@2 B@2 A@2 C ~@105 A@2 B@2 ~@8 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2
  A@2 B@2 A@2 B@2 A@2 B@2 ~@9
>`.pickRestart({
  A: "[~ g4 c5 ~@2 eb4@2 ~@2 bb4@2 [d4,f4]@2 ~ f4 bb4, eb4@5 ~ g4@8 d4@8 ~@4 d4@4 ~@2]/2", // Dm
  B: "[bb4@2 ~@2 eb5@2 ~@4 g4@4 ~@4 f5@4 ~@2 [a4,f5]@2 ~@2 [ab4,e5]@3 ~, g4@3 ~@13, ~@2 bb4@4 bb4@7 ~ a4@8 c5@4 ~@6]/2", // Dm Dbm
  C: "[c4,g4] ~@7", // C5
})).s("gm_acoustic_guitar_steel").gain(0.23)

// chords · acoustic guitar steel · soft notes
const acoustic_guitar_steel_2 = note(`<
  ~@49 A@2 ~@2 A@2 ~@2 A@2 ~@14 A@2 ~@2 A@2 ~@2 A@2 ~@110 A@2 ~@10 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2 ~@2 A@2
  ~@9
>`.pickRestart({
  A: "[~@7 c5@4 a4 ~@4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.15)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@31 A B C D A B C D A B C D A B ~@18 A B C D A B C D A B C D A B C D A B C D A B ~@2 A B C D A B C D A B C D A B ~@26
  A B C D A B ~@2 A B C D A B ~@34 A B C D A B ~@2 A B C D A B ~@6 A B C D A B C D A B C D A B C D A B C D A B C D A B C
  D A B C D A B C D ~@9
>`.pickRestart({
  A: "~@4 [eb4,g4,c5] ~@7 [eb4,g4,c5]@2 ~@2", B: "~@4 [d4,f4,bb4]@2 ~@6 [d4,f4] bb4@2 ~",
  C: "~@2 [g4,bb4,eb5] ~@3 [g4,bb4,eb5] ~", D: "~@2 [a4,c5,f5] ~@3 [a4,c5,f5] ~",
})).s("gm_electric_guitar_clean").gain(0.22)

// chords · tenor sax
const tenor_sax = note(`<
  ~@37 A B ~@2 C D ~@59 E F@2 G H I J K L ~@66 A B ~@15 E F@2 G H I J K L M N O P Q R S T U N V P W R X Y Z ~ M N O P Q
  R S T AA N AB P AC R AD Y AE ~@2
>`.pickRestart({
  A: "~@2 [e3,c4] ~ [e3,c4] ~ [f3,d4] ~ [g3,e4] ~ [f3,d4] ~ [e3,c4] ~@3", // C Dm C Dm C
  B: "[f3,d4]@3 ~ [d3,bb3] ~ [d3,bb3] ~@3 [d3,bb3] ~ [e3,c4]@2 ~@2", // Dm Gm C
  C: "~@2 [bb3,f4] ~ [bb3,f4] ~ [c4,g4] ~ [d4,a4] c4 g4 ~ [bb3,f4] ~@3", // Bb5 C5 D5 Bb5
  D: "d4 [eb4,g4] [d4,gb4] [eb4,g4] [d4,gb4] [eb4,g4] ~@2, gb4 ~@15", // Eb D Eb D Eb
  E: "~@11 [bb2,bb3]@2 ~ [b2,b3]@2, ~@10 c4@2 ~ d4@2 ~", // Bb B
  F: "[e4 [c3,c4] ~ [c3,c4]@2 ~ [bb2,g3,d4]@2 ~ [c3,c4,e4]@2 ~ [bb2,g3] c4 ~ [c3,bb3,d4]@2 ~ [bb2,c4] g4 ~@6 [bb3,f4] ~ [c4,g4] ~ [d4,a4] ~, ~@3 e4 ~@28]/2", // C Gm C Eb Gm Bbsus2 Bb5 C5 …
  G: "[eb4,bb4]@4 [d4,a4] ~ [c4,g4] ~ [d4,a4] [c4,g4]@2 [bb3,f4] [c4,g4] [bb3,f4]@2 [ab3,eb4]", // Eb5 D5 C5 D5 C5 Bb5 C5 Bb5 …
  H: "[g3,d4]@2 ~@2 [d3,bb3] ~ [d3,bb3] ~ [d3,bb3] ~@3 [bb2,b3,c4]@2 [b2,db4,d4] ~", // G5 Gm Bm
  I: "~ [c3,eb4,e4]@2 ~ [c3,eb4,e4] ~@2 [bb2,db4,d4] ~ [c3,eb4,e4]@2 ~ [bb2,b3,c4] ~@2 [c3,db4,d4]", // C Bb C
  J: "~@2 [c3,e4,g4] ~@6 [eb4,e4,bb4] ~ [f4,c5] ~@2 [g4,d5] ~", // C Eb F5 G5
  K: "~ ab4 g4 f4 [d4,eb4,c6,d6] [c4,eb6,f6] [bb3,g6] a6 bb6 [bb3,c4] [d4,eb4] f4 [g4,bb6,b6] [ab4,g6] f6 [d6,eb6], [bb4,f5]@2 ~@5 ab3@2 c7@3 ~@2 bb4@2", // Cm F7 Eb Bbsus2 Ebmaj7 G Abmaj7 Ebmaj7 …
  L: "[ab4,c6] [g4,bb5] [eb4,f4,a5] d4 c4 [bb3,a5] [ab3,bb5,c6] d6 eb6 ~@7, ~@3 g5@2 ~@11", // Ab Gm F7 Bbmaj7 Ab
  M: "[d2,d4,d5,eb5] ~@3 d4 ~ [d2,d4,d5,eb5] ~@3 d4 ~ [d2,d4]@2 ~@2", N: "~@2 d4 ~@7 [d2,d4] ~ d4 ~@3",
  O: "[d2,d4]@2 ~@2 d4 ~ [d5,eb5] ~ [d2,d4] ~@3 d4 ~@3, [d5,eb5] ~@15", // D Ebmaj7 D Ebmaj7
  P: "[d2,d4] ~@2 d4 ~ [d2,d4] ~@2 d4 ~@2 [d2,d4] ~ d4 ~@2", // D
  Q: "[d2,d4,d5,eb5] ~ d4 ~ [d2,d4] ~ [d4,d5,eb5] ~@3 [d2,d4] ~ d4@2 ~@2", R: "~@2 [d2,d4] ~@7 d4 ~ [d2,d4] ~@3",
  S: "[d4,d5,eb5] ~@2 [d2,d4] ~ d4 [d5,eb5] ~ [d2,d4] ~@2 d4 ~ [d2,d4] ~@2", T: "d4 ~@2 [d2,d4] ~ d4 ~@2 [d2,d4]@2 ~@6",
  U: "[d4,d5,eb5] ~ [d2,d4] ~ d4 ~ [d2,d4,d5,eb5] ~@3 d4 ~ [d2,d4] ~@3", // Ebmaj7 D Ebmaj7 D
  V: "[d2,d4]@2 ~@2 d4 ~ [d5,eb5] ~ [d2,d4] ~@3 d4@2 ~@2, [d5,eb5] ~@15", // D Ebmaj7 D Ebmaj7
  W: "[d2,d4,d5,eb5] ~ d4 ~ [d2,d4] ~ [d4,d5,eb5] ~@3 [d2,d4] ~ d4 ~@3", // Ebmaj7 D Ebmaj7 D
  X: "[d4,d5,eb5] ~@3 [d2,d4] ~ [d5,eb5] ~ d4 ~@3 [d2,d4] ~@3", // Ebmaj7 D Ebmaj7 D
  Y: "d4 ~@2 [d2,d4] ~ d4 ~@2 [d2,d4] ~@2 d4 ~ [d2,d4] ~@2", // D
  Z: "[d4,d5,eb5] [eb4,f4] g4 [a4,bb4] c5 [d5,eb5] [d5,eb5,f5] [g5,a5] [bb5,c6] d6 [eb6,f6] ~@5", // Ebmaj7 Ebsus2 Bbmaj7 Ebmaj7 Dm Gsus2 Bbsus2 Ebsus2
  AA: "d4 ~ [d2,d4] ~ d4 ~ [d2,d4] ~@3 d4 ~ [d2,d4] ~@3", AB: "[d2,d4]@2 ~@2 d4 ~@3 [d2,d4] ~@3 d4@2 ~@2",
  AC: "[d2,d4] ~ d4 ~ [d2,d4] ~ d4 ~@3 [d2,d4] ~ d4 ~@3", AD: "d4 ~@3 [d2,d4] ~@3 d4 ~@3 [d2,d4] ~@3",
  AE: "d4 [eb4,f4] g4 [a4,bb4] c5 [d5,eb5] f5 [g5,a5] [bb5,c6] d6 [eb6,f6] ~@5", // Ebsus2 Bbmaj7 Ebmaj7 Gsus2 Bbsus2 Ebsus2
})).s("gm_tenor_sax").gain(0.36).pan(0.8)

// chords · trumpet
const trumpet = note("<~@37 A B ~@2 C D ~@2 E F ~@31 G ~@98 A B ~@61>".pickRestart({
  A: "~@2 [e3,c4] ~ [e3,c4] ~ [f3,d4] ~ [g3,e4] ~ [f3,d4] ~ [e3,c4] ~@3", // C Dm C Dm C
  B: "[f3,d4]@4 [d3,bb3] ~ [d3,bb3] ~@3 [d3,bb3] ~ [e3,c4]@2 ~@2", // Dm Gm C
  C: "~@2 [bb3,f4] ~ [bb3,f4] ~ [c4,g4] ~ [d4,a4] c4 g4 ~ [bb3,f4] ~@3", // Bb5 C5 D5 Bb5
  D: "[d4,gb4] [eb4,g4] [d4,gb4] [eb4,g4] [d4,gb4] [eb4,g4] ~@2", // D Eb D Eb D Eb
  E: "~@2 [bb4,d5]@2 [a4,db5]@2 d5@2 f5@2 [db5,e5]@2 [d5,f5] ~ a5@2, ~@6 bb4 ~ d5 ~@5 f5 ~", // Bb A Dbm Dm
  F: "~@2 a5@2 [e5,f5,ab5] [e5,ab5,a5] f5 [e5,f5,ab5,a5]!2 [e5,f5,a5] [ab5,a5] [f5,a5] [f5,ab5] [f5,a5]!2 [ab5,a5], [e5,ab5]@2 ~@8 e5@2 ~ [e5,ab5]@2 ~, ~ f5@2 ~@13", // E Amaj7 Fmaj7 Amaj7 F Fm F Amaj7 …
  G: "[eb4,g4,eb5]", // Eb
})).s("gm_trumpet").gain(0.31).pan(0.4)

// chords · brass section
const brass_section = note("<~@41 A B ~@2 C D ~@31 E ~@23 F G@2 H I J@2 K L ~@83 F G@2 H I J@2 K L ~@37>".pickRestart({
  A: "~@2 [bb3,f4] ~ [bb3,f4] ~ [c4,g4] ~ [d4,a4] c4 g4 ~ [bb3,f4] ~@3", // Bb5 C5 D5 Bb5
  B: "d4 [eb4,g4] [d4,gb4] [eb4,g4] [d4,gb4] [eb4,g4] ~@2, gb4 ~@15", // Eb D Eb D Eb
  C: "~@2 [bb4,d5]@2 [a4,db5]@2 d5@2 f5@2 [db5,e5]@2 [d5,f5] ~ a5@2, ~@6 bb4 ~ d5 ~@5 f5 ~", // Bb A Dbm Dm
  D: "~ f5 a5@2 [e5,f5,ab5] [e5,ab5,a5] f5 [e5,f5,ab5,a5]!2 [e5,f5,a5] [ab5,a5] [f5,a5] [f5,ab5] [f5,a5]!2 [ab5,a5], [e5,ab5]@2 ~@8 e5@2 ~ [e5,ab5]@2 ~", // E Amaj7 Fmaj7 Amaj7 F Fm F Amaj7 …
  E: "[eb4,g4,eb5]", F: "~@12 [c4,c5] ~ [d4,d5] ~, ~@11 bb3@3 b3@2",
  G: "[~ [e4,e5]@2 ~ [e4,e5] ~ [g3,d4,d5]@2 ~ [c4,d4,e5]@2 ~ [g3,bb3,c5] ~@2 bb3@2 ~ [e4,e5]@2 ~@6 [bb3,f5] [c4,g5] c4 [d4,a5] d4 ~, ~ c4 ~ c4@2 ~@9 [d4,d5]@2 ~@2 c4 ~@13]/2", // E G5 C C7 E Bb5 C5 D5 …
  H: "[eb4,bb5]@3 ~ [d4,a5] [c4,g5] c4 [d4,a5] d4 [c4,g5] [bb3,f5] [bb3,c4,g5] c4 [bb3,f5] [ab3,eb5] ab3", // Eb5 D5 C5 D5 C5 Bb5 C7 Bb5 …
  I: "d5@4 [d3,bb3,bb4] ~ [d3,bb3,bb4] ~ [bb3,bb4]@2 ~@2 [c4,c5] ~ [db4,d4,d5] ~, g3@2 ~@6 d3 ~@3 b3@2 ~@2", // Gm Bb C Dmaj7
  J: "[~ eb4@2 ~ [e4,e5]@2 ~ db4 ~ [eb4,e4,e5]@2 ~ [b3,c4,c5] ~@2 [d4,d5]@2 ~ [g4,g5]@2 ~@5 e4 ~ [c5,c6]@3 [d5,d6]@2, [e4,e5]@2 ~@2 eb4 ~ [d4,d5]@2 ~@7 db4 ~@2 e4 ~@7 [bb4,bb5]@2 ~@4, ~@27 f4 ~@2 g4 ~]/2", // E Emaj7 Cmaj7 D G C D E …
  K: "[f5,f6]@6 ~ [d5,d6]@2 ~@3 [g4,g5]@2 [f4,f5]!2, bb4@2 ~@4 [eb5,eb6]@2 ~ [c5,c6]@2 [a4,a5]@2 ~@3, ~@5 [bb4,bb5] ~@2", // F D G F Eb C A Bb
  L: "~@2 [bb4,bb5]@2 ~@2 [e5,e6]@2 ~ [g5,g6] ~@2 [g5,g6] ~@3, [g4,g5]@2 ~@3 [db5,db6]@2 ~ [f5,f6]@2 ~@6, ~ [a4,a5]@2 ~ [c5,c6]@2 ~@10", // Bb E G Db F A C
})).s("gm_brass_section").gain(0.4).pan(0.2)

// other · sitar
const sitar = note(`<
  ~@111 A B C D E B F G H I J I K L M N ~@16 O@2 P Q R S T U V W V X Y Z AA AB ~@6 AC AD ~@18 AE AF ~@53
>`.pickRestart({
  A: "~@6 b4 ~ b4@2 ~@2 c5@2 ~@2", B: "eb5@3 ~@3 b4 ~ b4@3 ~ c5@2 ~@2", C: "c5 ~ bb4 ~ bb4 ~ g4 ~ g4 ~ f4 ~ f4 ~ eb4 ~",
  D: "eb4@2 ~@4 f4 ~@2 f4@2 ~ g4@2 ~@2", E: "f4@2 ~@4 b4 ~ b4@2 ~@2 c5@2 ~@2", F: "c5@2 g4@2 ~@2 c5@2 bb4@3 ~ g4@2 ~@2",
  G: "f4@3 ~ g4@3 ~ f4@4 eb4@3 ~", H: "c4@5 ~ c4@3 ~@2 c4@3 ~@2", I: "bb3@3 ~ c4@4 g3@4 bb3@2 ~@2",
  J: "c4@5 ~ c4@4 ~@2 c4@3 ~", K: "eb4@2 c4@2 ~@2 eb4 ~@2 eb4@2 c4@2 eb4@2 ~",
  L: "eb4@2 ~ c4 ~ eb4@2 ~ eb4@2 c4@2 ~ eb4 ~@2",
  M: "~@2 eb5@2 ~@2 eb5@2 c5@2 bb4 ~ eb5@2 c5@2, g5@2 ~@3 f5@2 ~@9, ~ f5@2 ~ c5@2 ~@10",
  N: "~ bb4 ~@2 bb4 ~ g4 f4 bb4@2 ~ f4@2 g4@2 ~, ~ g4 ~@3 g4 ~@2, ~@3 c5@2 ~@11",
  O: "[c4@2 ~ e4@2 ~@2 e4@2 db4@2 ~ c4@8 c4@2 ~@2 c4@3 ~@5, ~ db4 ~ f4 ~@12]/2",
  P: "c4@2 db4@2 e4@2 f4@2 g4@3 ~ f4@3 ~", Q: "e4@3 ~ c4@3 ~ c4@4 ~@4", R: "ab4 ~ ab4 ~ ab4@2 ~@2 g4@2 ~@2 f4@2 ~@2",
  S: "e4 ~ f4@2 e4@2 db4@2 c4@3 ~@5", T: "c4 ~ bb3 ~ c4 ~ bb3 ~", U: "c4 ~@2 c4 ~@4", V: "c3@2 e3@2 g3@2 bb3 ~",
  W: "db4@2 ~@2 c4@7 ~@5", X: "db4@2 ~@2 c4@2 bb3 ~ c4@4 ~@4", Y: "c3@4 e3@4 g3@3 ~ bb3@2 ~@2", Z: "db4@3 ~ c4@6 ~@6",
  AA: "c5 ~ c5 ~ c5@2 ~@2 e5@2 ~@2 c5@2 ~@2", AB: "bb4@2 ~@2 c5@2 ~ bb4 c5@4 ~@4", AC: "~@8 c5 ~@2 c5 ~@2 c5 ~",
  AD: "c5 ~@2 c5 ~ c5 ~@2 c5 ~@2 c5 ~ c5@2 ~", AE: "~ db4@2 ~ e4@2 f4@2 g4@2 f4@2 e4 ~ e4 db4, c4@2 ~@11 f4@2 ~",
  AF: "c4@2 ~@2 c4 ~ bb3 ~ c4@3 ~@5",
})).s("gm_sitar").gain(0.23).pan(0.3)

// chords · muted trumpet
const muted_trumpet = note(`<
  ~@203 A B C D E F G H I B J D K F L G M ~ A B C D E F G H I B J D K F L G M ~@2
>`.pickRestart({
  A: "[d4,bb4] ~@3 [bb4,d5] ~ [d4,bb4] ~@3 [bb4,d5] ~ [d4,bb4]@2 ~@2", B: "~@2 [bb4,d5] ~@7 [d4,bb4] ~ [bb4,d5] ~@3",
  C: "[d4,bb4]@2 ~@2 [bb4,d5] ~@3 [d4,bb4] ~@3 [bb4,d5] ~@3", // Gm Bb Gm Bb
  D: "[d4,bb4] ~@2 [bb4,d5] ~ [d4,bb4] ~@2 [bb4,d5] ~@2 [d4,bb4] ~ [bb4,d5] ~@2", // Gm Bb Gm Bb Gm Bb
  E: "[d4,bb4] ~ [bb4,d5] ~ [d4,bb4] ~ [bb4,d5] ~@3 [d4,bb4] ~ [bb4,d5]@2 ~@2", // Gm Bb Gm Bb Gm Bb
  F: "~@2 [d4,bb4] ~@7 [bb4,d5] ~ [d4,bb4] ~@3", // Gm Bb Gm
  G: "[bb4,d5] ~@2 [d4,bb4] ~ [bb4,d5] ~@2 [d4,bb4] ~@2 [bb4,d5] ~ [d4,bb4] ~@2", // Bb Gm Bb Gm Bb Gm
  H: "[bb4,d5] ~@2 [d4,bb4] ~ [bb4,d5] ~@2 [d4,bb4]@2 ~@6", // Bb Gm Bb Gm
  I: "[bb4,d5] ~ [d4,bb4] ~ [bb4,d5] ~ [d4,bb4]@2 ~@2 [bb4,d5] ~ [d4,bb4] ~@3", // Bb Gm Bb Gm Bb Gm
  J: "[d4,bb4]@2 ~@2 [bb4,d5] ~@3 [d4,bb4] ~@3 [bb4,d5]@2 ~@2", // Gm Bb Gm Bb
  K: "[d4,bb4] ~ [bb4,d5] ~ [d4,bb4] ~ [bb4,d5] ~@3 [d4,bb4] ~ [bb4,d5] ~@3", // Gm Bb Gm Bb Gm Bb
  L: "[bb4,d5] ~@3 [d4,bb4] ~@3 [bb4,d5] ~@3 [d4,bb4] ~@3", // Bb Gm Bb Gm
  M: "bb4 [b4,db5] eb5 [f5,gb5] ab5 [bb5,b5] db6 [eb6,f6] [gb6,ab6] bb6 [b6,db7] ~@5", // Bsus2 Gbmaj7 Bmaj7 Ebsus2 Gbsus2 Bsus2
})).s("gm_muted_trumpet").gain(0.24)

// other · sitar
const sitar_2 = note(`<
  ~@153
  [e3@2 ~@2 g3@3 ~ bb3@2 ~@2 db4@2 ~@2]
  [f4 ~@3 e4 ~ d4 ~ e4@6 ~@2]
  [e3@3 ~ g3@2 ~@2 bb3@2 ~@2 db4@2 ~@2]
  [f4 ~@3 e4@6 ~@6]
  ~@83
>`).s("gm_sitar").gain(0.29).pan(0.9)

// other · taiko drum
const taiko_drum = note(`<
  ~@2 A ~ A B C D@40 ~@16 D@8 ~@16 D@14 B C D@8 ~@16 D@6 B C D@6 B C D@16 ~@16 D@6 B C D@6 B C ~@4 D@36 ~@9
>`.pickRestart({
  A: "f6 ~ f6!2 b6 ~@3 f6 ~ f6!2 b6 ~@3", B: "c6 ~@2 c6@2 ~ f5 ~@2 f5@2 c5 ~@2 c5 ~", C: "g4 ~@2 g4 ~ c4 ~@2 c4@3 ~@5",
  D: "b3 ~ b3 ~ e5 ~ b4 ~ b3 ~ b3 ~ e5 ~ b4 ~",
})).s("gm_taiko_drum").gain(0.21)

// drums · kick
const kick = s("bd").struct(`<
  ~@15 A@14 ~@2 A@14 ~@2 A@6 B@2 A@6 C ~ A@14 B@2 A@6 C ~ A@14 ~@2 A@14 B@2 A@6 C ~ A@6 ~@2 A@6 ~@2 A@16 ~@14 C ~ A@6
  ~@2 A@6 ~@6 A@14 B@2 A@14 B@2 A@4 ~@9
>`.pickRestart({
  A: "x!2", B: "x ~@2 x ~@4", C: "x",
})).gain(0.57)

// drums · snare
const snare = s("sd").struct(`<
  ~@5 A B ~@8 C@14 ~@2 C@14 ~@2 C@6 D@2 C@6 E ~ C@14 D@2 C@6 E ~ C@14 A B C@14 D@2 C@6 E ~ C@6 A B C@6 A B C@16 ~@14 E ~
  C@6 A B C@6 A B ~@4 C@14 D@2 C@14 D@2 C@4 ~@9
>`.pickRestart({
  A: "x ~@2 x ~ x ~@2 x ~@2 x ~ x ~@2", B: "x ~@2 x ~ x ~@2 x ~@7", C: "~@2 x!2 ~@2 x ~", D: "~@2 x ~@2 x!2 ~", E: "x",
})).gain(0.45)

// drums · clap
const clap = s("cp").struct(`<
// … 157 more lines

More by Jovanotti