Strudelify

Ogni volta

Antonello Venditti

KeyD majorTempo128 bpm
0:00/0:00
// Ogni volta — Antonello Venditti
// 128 bpm, 4/4, key D major. 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 155 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(128/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 · fretless bass
const bass = note(`<
  ~@39 A B C D E B C F E B C D E B C F E G H I J K L M N O P Q R S T U V O P Q R S T U V E W X Y@2 Z AA AB AC AD AE AF
  AG AH AI AJ AC AD AE AF AG AH AI C AK AL AC AD AE AF AG AH AI AJ AC AD AE AF AG AH AI AJ C AM F AN@2 AO AP AQ AC AD AE
  AF AG AH AI AJ AC AD AE AF AG AH AI AJ AC AD AE AF AG AH AI AJ AK
>`.pickRestart({
  A: "~@8 a1@7 ~", B: "d1", C: "b1", D: "f#1@7 g1", E: "a1", F: "g1", G: "b1@11 ~ b1@4", H: "c2 g2", I: "a1@7 e2",
  J: "a2@4 a1@6 a2@2 a1@3 ~", K: "g#1@11 ~ g#1@2 ~@2", L: "g#1@8 g#2@4 g#1@3 ~", M: "g1@6 g2 g1",
  N: "c2@10 c2 ~ c2@3 ~", O: "f1@8 f2@4 c2 ~ c#2@2", P: "d2@4 d1@3 d2", Q: "a1@4 a2@3 a1", R: "c2@7 ~ c1@4 c2@4",
  S: "f2@3 e2", T: "d2 c2", U: "a#1@11 ~ a#1@2 b1@2", V: "c2 c1", W: "a#1", X: "f1", Y: "[e2@8 a#1 ~@3 a1@15 ~ a1@4]/2",
  Z: "a#1@11 ~ a#1@2 ~@2", AA: "c2@2 c2 c1", AB: "d2@8 d1@4 d2@2 d1 ~", AC: "g1@8 g2@4 d2 ~ d#2@2", AD: "e2@4 e1@3 e2",
  AE: "b1@4 b2@3 b1", AF: "d2@7 ~ d1@4 d2@4", AG: "g2@3 f#2", AH: "e2 d2", AI: "c2@11 ~ c2@2 c#2@2", AJ: "d2 d1",
  AK: "c2@2 ~ c2", AL: "d2@4 d1@6 d2@5 ~", AM: "c2", AN: "[f#2@8 c2 ~@3 b1@15 ~ b1@4]/2", AO: "c2@11 ~ c2@2 ~@2",
  AP: "d2@7 ~ d2@6 d1 ~", AQ: "d1@6 d2 ~ d2@4 d1@3 ~",
})).s("gm_fretless_bass").gain(0.43)

// chords · piano
const piano = note(`<
  A@2 B@7 C@7 D E F G H I J K L M N O H I J K P Q@2 R@2 S T@2 D E F G H I U K L M N O H I J K V W X Y Z AA AB AC AD AE
  AF AG AH AI AJ AK AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA AT AU AV AW AX AY AZ BB BC
  BD AT AU AV AW AX AY AZ BA AT AU AV AW AX AY AZ BA BE BF BG BH BI BJ BK BL AT AU AV AW AX AY AZ BA AT AU AV AW AX AY
  AZ BA AT AU AV AW AX AY AZ BA BC
>`.pickRestart({
  A: "[[a4,d5,f#5] [b3,a4,d5,f#5], [d4,a5]]/2", // D Bm7 D5
  B: "[[c#5,f#5] ~ [a4,d5,f#5] d5 d5 ~ [d4,a4,d5,f#5,a5], [f#3,f#4,a4]@2 [d4,a5]@2 [g3,g4,b4]@2 ~, ~ [a3,g4,c#5]@2 [b3,a4,f#5]@2 a3@2, ~@2 f#5@2 ~@7 c#5@3, ~@3 e5@4 ~@3 [a4,d5]@2 ~@2]/7", // F#5 D F#m D5 G A7 B7 D5
  C: "[[a4,f#5,a5]@2 [c#5,f#5]@2 ~@2 [a4,d5,f#5]@2 d5@2 d5@2 ~ c#5, [b3,d5]@2 [a3,g4,c#5]@2 [b3,a4,f#5]@2 [a3,a4,d5], ~ [f#3,a4,a5]@2 [d4,a5]@2 [g3,g4,b4]@2, ~@2 f#5 ~@4, ~@5 e5@4 ~@5]/7", // D F#5 D Bm A7 B7 D5 F#m …
  D: "[d3,a3,d4,f#4]", E: "[b2,a3,f#4], d4@7 ~", F: "[f#3,a3,c#4]@10 ~@2 a3@2 c#4 ~, [f#2,f#4], ~@5 f#3@3",
  G: "f#4@8 e4@7 ~, [a2,g3,c#4]@15 ~", H: "[d2,a3,d4,f#4]", I: "[b2,a3,d4,f#4]@15 ~",
  J: "[g3,b3,d4]@4 ~@3 f#4, g2, f#4@5 b3@3, ~ g3, ~@3 d4", K: "d4@8 c#4@7 ~, [a2,a3]@7 ~",
  L: "e4@8 d4@7 ~, [d3,f#3,a3]@15 ~", M: "c#4@8 d4@7 ~, [b2,f#3,a3]@15 ~",
  N: "a3@5 ~@2 c#4, f#2, c#4@3 a3, f#3@4 ~ f#3@3", O: "f#4@4 e4@3 ~, [a2,g3]@7 ~, c#4 ~@15",
  P: "~@4 c#4@2 ~@4 a4@5 ~, d2, a4@9 ~@7, ~@6 d4@9 ~",
  Q: "[[d4,a4]@4 c#4@2 ~@4 a4@5 ~ a4@4 c#4@2 ~@4 a4@5 ~, g2 d2, ~@6 d4@15 ~ d4@8 ~@2]/2", // D5
  R: "[[c#2,a3,c#4,e4]@8 [g2,b3,d4,g4] ~@3 [a3,d4,f#4]@4 ~@4 c#4@2 ~@4 a4@5 ~, ~@3 d2@5, ~@8 a4@3 d4@5]/2", // A G D
  S: "[d4,a4]@2 c#4 ~@2 a4@2 ~, g2@7 ~, ~@3 d4@4 ~", T: "[d4@5 ~ d4@9 ~@17, [a2,a4]@29 ~@3]/2",
  U: "[b3,d4]@4 ~@3 f#4, g2, f#4@5 b3@3, ~ g3, ~@3 d4", V: "[b2,g3,b3]@8 g3@2 ~@2 g3@3 ~, d4@7 ~ [b3,d4]@7 ~, ~@5 b2@3",
  W: "[c4,e4]@7 ~@5 g3@3 ~, g3@10 c3@5 ~, c3@8 [c4,e4]@7 ~", X: "[a2,g3]@8 g3@2 ~@2 g3@3 ~, d4@7 ~ d4@7 ~, ~@10 a2@5 ~",
  Y: "c#4@4 d4@4 e4@4 a4@3 ~, [a2,g3]@15 ~", Z: "[c#4,f4]@7 ~@5 g#3@3 ~, g#3@10 g#2@5 ~, g#2 [c#4,f4]",
  AA: "g#2@4 ~@4 g#3@3 ~ g#3@2 ~@2, [g#3,c#4,d#4]@4 [c#4,f4]@3 ~, ~@2 g#2@5 ~", // G#sus4 C#
  AB: "[g2,a#3,c#4,f4]@4 a#3 ~ a#3@2, ~@4 [c#4,f4]@3 ~, ~@5 g2@3", // Gm7b5 C#
  AC: "~@4 c3@4 ~@4 c3@2 g3 ~, c2@8 g3@5 ~@3, [a#3,c4,e4]@7 ~ [a#3,c4,e4]@7 ~, ~@10 c2@5 ~", // C7
  AD: "[f2,a3,c4,f4]@2 ~ [a3,c4], ~@8 f4@7 ~, ~@2 [a3,c4] ~, ~@5 f2@3", // F Am
  AE: "[d2,g3,e4]@8 g3@2 ~@2 g3@3 ~, c4@15 ~, ~ e4, ~@5 d2@3", AF: "[a2,c4,e4]@4 ~@2 g3 ~, g3@5 a2@3, ~@8 [c4,e4]@7 ~",
  AG: "[a#3,e4,a4]@4 [a#3,e4,g4]@3 ~, c3@7 ~", AH: "f2@11 ~ e2@4, [a3,c4,f4]@15 ~",
  AI: "d2@7 ~ c2@8, [a3,c4,d4,f4]@15 ~", AJ: "a3@10 ~@2 a3@3 ~, [d4,f4]@13 ~@3, a#2@9 ~ a#2@6",
  AK: "[g3,a#3,c4,d4]@6 c3@2 ~@4 c3@2 g3 ~, c2@8 [a#3,c4,d4,f4]@7 ~, ~@8 g3@5 ~@3, ~@10 c2@5 ~", // Gm A#
  AL: "~@10 c5@5 ~, a2, c5@6 f4@9 ~, ~ e4@3", AM: "~@10 c5@5 ~, a#2@15 ~, c5@6 f4@9 ~, ~@4 e4@11 ~",
  AN: "~@10 c5@5 ~, f2@15 ~, c5@6 f4@9 ~, ~@4 e4@11 ~", AO: "[e2,g3,c4,e4]@6 ~@2 [a#2,f3,a#3,d4] ~@3 [f3,a3,c4]@3 ~",
  AP: "c5@4 ~@6 c5@5 ~, a2, ~ e4@3, ~@6 f4@9 ~", AQ: "~@5 c5@2 ~, a#2@7 ~, c5@3 f4@4 ~, ~@2 e4@5 ~",
  AR: "[c3,g3,c4,f4]@4 g3 ~ g3 ~, ~@8 [c4,f4]@7 ~, ~@5 c3@3", // Csus4 F5
  AS: "[a3,g4]@7 ~ [a3,f#4]@4 d3@2 ~@2, d4@13 ~@3, d3@5 ~@3", // A7 D
  AT: "[g2,b3,d4,g4]@2 ~ [b3,d4], ~@8 g4@7 ~, ~@2 [b3,d4] ~, ~@5 g2@3", // G Bm
  AU: "[e2,a3,f#4]@8 a3@2 ~@2 a3@3 ~, d4@15 ~, ~ f#4, ~@5 e2@3", // F#m7
  AV: "[b2,d4,f#4]@4 ~@2 a3 ~, a3@5 b2@3, ~@8 [d4,f#4]@7 ~", AW: "[c4,f#4,b4]@4 [c4,f#4,a4]@3 ~, d3@7 ~",
  AX: "g2@11 ~ f#2@4, [b3,d4,g4]@15 ~", AY: "e2@7 ~ d2@8, [b3,d4,e4,g4]@15 ~",
  AZ: "b3@10 ~@2 b3@3 ~, [e4,g4]@13 ~@3, c3@9 ~ c3@6", // Em
  BA: "[a3,c4,d4,e4]@6 d3@2 ~@4 d3@2 a3 ~, d2@8 [c4,d4,e4,g4]@7 ~, ~@8 a3@5 ~@3, ~@10 d2@5 ~", // Am C
  BB: "~@3 g4@2 d4@2 ~, [b2,a4]@7 ~, d4@9 ~@7", BC: "[c3,b3,e4,g4]@4 b3 ~ b3 ~, ~@8 [e4,g4]@5 ~@3, ~@10 c3@5 ~",
  BD: "~@12 d3@3 ~, d2@9 ~ d2@5 ~, [g3,c4,d4,e4]@7 ~ [g3,c4,d4,e4]@7 ~, ~@2 d3@3 ~@3", // C
  BE: "~@10 d5@5 ~, b2, d5@6 g4@9 ~, ~ f#4@3", BF: "~@10 d5@5 ~, c3@15 ~, d5@6 g4@9 ~, ~@4 f#4@11 ~",
  BG: "~@10 d5@5 ~, g2@15 ~, d5@6 g4@9 ~, ~@4 f#4@11 ~", BH: "[f#2,a3,d4,f#4]@6 ~@2 [c3,g3,c4,e4] ~@3 [g3,b3,d4]@3 ~",
  BI: "d5@4 ~@6 d5@5 ~, b2, ~ f#4@3, ~@6 g4@9 ~", BJ: "~@5 d5@2 ~, c3@7 ~, d5@3 g4@4 ~, ~@2 f#4@5 ~",
  BK: "[a3,c4,g4]@3 ~@3 d3@2, d2@8 [a3,c4,g4]@7 ~, ~@6 d3@4 d2@5 ~", // Am7
  BL: "[a3,c4,f#4]@7 ~ a3@2 ~@2 a3@2 c4 ~, d2@7 ~, ~@8 [c4,f#4]@7 ~, ~@10 d3@5 ~", // F#dim Cdim
})).s("gm_piano").gain(0.4).pan(0.4)

// chords · string ensemble 2
const string_ensemble_2 = note(`<
  ~@16 A@3 B C@4 D@2 E@2 C@4 F@3 G@3 H@2 I J K@2 ~@3 L I J K@2 ~@3 L M N O P Q@2 R S T U V@2 W@3 X T U V@2 W@3 Y Z@6 AA
  AB@2 AC AD@2 AE@3 AF AG AC AD@2 AH@2 AI AJ AI AK AG AC AD@2 AL@3 AF AG AC AD@2 AL@3 AF AM@6 AN@2 AG AC AD@2 AL@3 AF AG
  AC AD@2 AL@3 AF AG AC AD@2 AL@3 AF AI
>`.pickRestart({
  A: "[d3 b2 [f#2,a3,c#4], f#4, [a3,d4]@2 ~]/3", B: "f#4 e4, [a2,g3,c#4]",
  C: "[d3@2 b2@2 [g2,b3]@2 ~ c#4, d4@7 ~, f#4@3 ~, a3@2 ~ [a2,g4]]/4", D: "[d3 b2, [a3,f#4]]/2",
  E: "[[f#2,a3]@16 ~@8 e4@7 ~, c#4, f#4@3 ~, ~ [a2,g3]]/2", F: "[a3,d4,f#4]/3",
  G: "[[c#3,e4]@8 ~@4 [a3,d4,f#4]@35 ~, [a3,c#4] ~@7]/3", H: "[d4@13 ~@3 c#4@16, [a3,e4]]/2", I: "f#5", J: "e5 d5",
  K: "[a5@15 ~]/2", L: "~ c#4, [a2,g4]", M: "[b4,d5]", N: "[c5,e5]", O: "[a4,d5,e5]", P: "c#5@4 d5@4 e5@4 a5@3 ~, a4 ~",
  Q: "[f4,g#4,c#5,g#5]/2", R: "[a#4,g5,a#5]", S: "[c5,e5,c6]", T: "[f5,c6]", U: "~ f6, c6, g6@3 ~", V: "[g5,c6]/2",
  W: "[f5@2 a4, a5]/3", X: "[a#4,a#5]", Y: "a#4, a#5@3 ~", Z: "[c5,c6]/6", AA: "[f5,g5,c6]", AB: "[[a5,d6] d6, g5]/2",
  AC: "~ g6, d6, a6@3 ~", AD: "[a5,d6]/2", AE: "[g5,b5]/3", AF: "c5, c6@3 ~", AG: "[g5,d6]", AH: "[g5,b5]/2",
  AI: "[b4,e5,g5]", AJ: "[a4,d5,f#5]", AK: "g5@4 f#5@3 ~, [a4,c5]", AL: "[g5@2 b4, b5]/3", AM: "[d5,d6]/6",
  AN: "[g5 f#5, [a5,d6]]/2", // D5
})).s("gm_string_ensemble_2").gain(0.33)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~@26 A B ~@2 C D E F@2 G H I ~@12 A B ~@2 C D ~@8 J K L ~@5 J K L ~@13 M N O ~@5 M N O ~@7 M N O ~@5 M N O ~@13 M N O
  ~@5 M N O ~@5 M N O ~@6
>`.pickRestart({
  A: "~@5 f#3 ~ c#4, ~@3 a3", B: "f#4@4 e4@3 ~", C: "~@8 g3@2 ~@2 d4@2 f#4 ~, ~@5 b3@3", D: "d4@8 c#4@7 ~",
  E: "~@4 c#4@2 ~@4 a4@5 ~, a4@3 d4@5", F: "[a4@4 c#4@2 ~@4 a4@5 ~ a4@4 c#4@2 ~@4 a4@5 ~, ~@3 d4@7 ~ d4@5]/2",
  G: "g4@7 ~ f#4 ~@3 e4 ~@3", H: "a4@4 c#4@2 ~@4 a4@5 ~, ~@3 d4@5", I: "a4@2 c#4 ~@2 a4@2 ~, ~@3 d4@4 ~",
  J: "[f3,c4]@13 ~@3", K: "[g3,e4]@7 ~ [f3,d4]@8", L: "[e3,c4]@7 ~", M: "[g3,d4]@13 ~@3", N: "[a3,f#4]@7 ~ [g3,e4]@8",
  O: "[f#3,d4]@7 ~", // D
})).s("gm_acoustic_guitar_nylon").gain(0.37).pan(0.3)

// other · string ensemble 1
const string_ensemble_1 = note("<~@35 A ~@23 B ~@23 C ~@41 D ~@3 E F@4 G@3 H I@4 G@3 H J@4 G@3 H ~>".pickRestart({
  A: "~@8 [b3,d4,g4] ~@7", B: "c#5 d5 e5 a5", C: "~@8 [f3,a#3,d4] ~@3 [f3,a3,c4]@3 ~",
  D: "~@8 [g3,c4,e4] ~@3 [g3,b3,d4]@3 ~", E: "~@6 [b4,b5] [c5,c6]",
  F: "[[d5,d6]@4 [b4,b5]@4 [c5,c6]@4 [d5,d6]@8 [b4,b5]@4 [c5,c6]@4 [d5,d6]@31 ~ [g4,g5]@2 [a4,a5]@2]/4", // D B C D B C D G …
  G: "[[b4,b5] [g4,g5] [a4,a5] [b4,b5]@2 [g4,g5] [a4,a5] [b4,b5]@5]/3", H: "[c5,c6]@6 [b4,b5] [c5,c6]",
  I: "[[d5,d6]@2 [b4,b5]@2 [c5,c6]@2 [d5,d6]@4 [b4,b5]@2 [c5,c6]@2 [d5,d6]@15 ~ g4 [a4,a5], ~@60 g5 ~@3]/4", // D B C D B C D A
  J: "[[d5,d6]@4 [b4,b5]@4 [c5,c6]@4 [d5,d6]@8 [b4,b5]@4 [c5,c6]@4 [d5,d6]@29 ~@3 g4@2 [a4,a5]@2, ~@60 g5 ~@3]/4", // D B C D B C D A
})).s("gm_string_ensemble_1").gain(0.44).pan(0.6)

// other · orchestral harp · Esus2 G Dmaj7 G C#m Gmaj7 Fsus2 Am …
const orchestral_harp = note(`<
  ~@31
  [~@10 [e3,f#3] [g3,a3,b3] [c#4,d4,e4,f#4] [g4,a4,b4] [c#5,d5,e5] [f#5,g5]]
  ~@31
  [~@10 [f3,g3] [a3,a#3,c4] [d4,e4,f4] [g4,a4,a#4] [c5,d5,e5] [f5,g5,a5]]
  ~@15
  [~@10 [f3,g3] [a3,a#3,c4] [d4,e4,f4] [g4,a4,a#4] [c5,d5,e5] [f5,g5,a5]]
  ~@75
>`).s("gm_orchestral_harp").gain(0.22)

// other · orchestral harp · soft notes · A#sus2
const orchestral_harp_soft = note("<~@31 [~@15 a5] [b5 ~@15] ~@31 [[a#5,c6] ~@15] ~@15 [[a#5,c6] ~@15] ~@74>")
  .s("gm_orchestral_harp").gain(0.13)

// other · pad warm
const pad_warm = note("<~@16 A B C D E B F G A B C D E B F G E F E H@2 F I@2 ~@82 J K J L@3 ~@27>".pickRestart({
  A: "d3", B: "b2", C: "f#2", D: "[a2,g3]", E: "d2", F: "g2", G: "a2", H: "[c#3@8 g2 ~@3 d3@8 d2@12]/2", I: "a2/2",
  J: "[g4,b4]", K: "[g4,c5]", L: "[[f#4,a4]@8 [g4,c5] ~@3 b4@20 c5@16, ~@12 g4@35 ~]/3",
})).s("gm_pad_warm").gain(0.12)

// chords · rock organ
const rock_organ = note("<~@55 A B C D@2 E@2 F G ~@91>".pickRestart({
  A: "~@13 [d3,e3] [f3,g3,a3] [b3,c4,d4]", B: "[d5,g5], [e4,f4] ~@15", C: "[e5,g5]", D: "[d5 c#5, g5]/2",
  E: "[f5@2 d#5 f5, g#5]/2", F: "[g5,c#6]", G: "[e5,c6]",
})).s("gm_rock_organ").gain(0.27)

// drums · kick
const kick = s("bd").struct(`<
  ~@32 A B A B A B A B 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 A E A B C D A B A E A B A F A B A E A
  B C D A B A E A B C D A B A E A B A B C D A B A E A B C D A B A E A B A F A B A C A B C D A B A E A B C D A B A E A B
  C D A B A E A
>`.pickRestart({
  A: "x ~@2 x", B: "x", C: "x ~@5 x!2", D: "x ~ x ~@2 x ~@2", E: "x!2 ~@2", F: "x!2 ~ x",
})).gain(0.44)

// drums · rim
const rim = s("rim").struct("<~@32 [~ x]!8 ~@115>").gain(0.37)

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

// drums · low tom
const low_tom = s("lt").struct("<~@63 A ~@23 B ~@17 C ~@15 B ~@23 A ~@9>".pickRestart({
  A: "~@2 x ~@4 x", B: "~@6 x!2", C: "~@7 x",
})).gain(0.5)

// drums · hihat
const hihat = s("hh").struct(`<
  ~@32 A@11 B A@3 B A@3 B A@3 B A@3 B A@3 B C A@2 B A@3 B C A@2 B A@3 B C A@2 D A@3 B C A@2 B A@3 B C A@2 B A@3 B A E C
  A@2 B A@3 B C A@2 B A@3 B C A@2 D A@4 C A@2 B A@3 B C A@2 B A@3 B C A@2 B A@3 B A
>`.pickRestart({
  A: "x!4", B: "x ~ x!3 ~ x ~", C: "~ x!3", D: "x ~ x!3 ~@3", E: "x!2 ~ x",
})).gain(0.31)

// drums · mid tom
const mid_tom = s("mt").struct("<~@63 [~@3 x] ~@41 [~@3 x] ~@39 [~@3 x] ~@9>").gain(0.5)

// drums · open hat
const open_hat = s("oh").struct("<~@129 [~@7 x] ~@25>").gain(0.37)

// drums · crash
const crash = s("cr").struct(`<
  ~@56 A ~@7 A ~@7 A ~@7 A ~@2 B ~@4 A ~@7 A ~@9 A ~@7 A ~@7 A ~@2 B ~@4 A ~@7 A ~@7 A ~@8
>`.pickRestart({
  A: "x", B: "~@3 x",
})).gain(0.31)

// drums · tambourine
const tambourine = s("tb").struct("<~@40 [~ x]!115>").gain(0.44)

// drums · cabasa
const cabasa = s("cabasa:4").struct(`<
  ~@32 A@32 B A@7 B A@7 B A@2 C A@4 B A@7 B A@8 D B A@7 B A@7 B A@2 C A@4 B A@7 B A@7 B A@8
>`.pickRestart({
  A: "x!8", B: "~ x!7", C: "~ x!3 ~ x!3", D: "x!4 ~ x!3",
})).gain(0.63)
// … 14 more lines

More by Antonello Venditti