Strudelify
Sorvolando Eilat cover art

1993 · Le Canzoni

Sorvolando Eilat

Fiorella Mannoia

KeyB minorTempo94 bpm
0:00/0:00
// Sorvolando Eilat — Fiorella Mannoia
// 94 bpm, 4/4, key B minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 94 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 10 ms behind the beat; the grid follows it, so its parts stay together.
setcpm(94/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, A@4 for four bars: edit a riff to change every repeat.

// bass · electric bass finger
const bass = note(`<
  ~@8 A B A C D E F G F H I B A J D K L M N O L M N P Q R S T A B A U D K V W V W L X Y Z Y AA Y AB AC AD L M N O L M N
  P L AE N AF L M N AG L AE L AE L AE L AE Q R AH AI Q R S T AJ@2 AK@4
>`.pickRestart({
  A: "~@3 g1@2 ~ g1 ~@9", B: "~@3 f#1@2 ~ f#1 ~@9", C: "~@3 f#1@2 ~ f#1@2 ~@6 f#1@2", D: "e1@3 e1@13",
  E: "f#1@2 ~ f#1@2 ~@3 f#1@8", F: "b0@2 ~ b0 ~@2 b0@2 e1@8", G: "f#1@2 ~ f#1 ~@2 f#1@2 ~@2 e2 f#2 f#2@2 ~@2",
  H: "f#1@2 ~ f#1 ~@2 f#1@2 ~@2 e2 f#2 f#2@4", I: "g1@2 ~ g1 ~@2 g1@8 ~@2", J: "~@3 f#1@3 f#1 ~@5 d1 f#1 g1 f#1",
  K: "~@3 c#2 f#2 b2 e3@2 a2@7 ~, f#1", L: "b0@3 b0 ~@2 b0 ~ f#1@6 f#1!2", M: "e1@2 ~ e1 ~@2 e1@3 a1 b1 f#2 e2!2 d2@2",
  N: "b1@2 ~ b1 ~@2 b1 ~ f#1@6 ~ f#1", O: "e1 ~@2 e1 ~@2 e1 ~ b1 a1 d2 f#2 e2@2 ~@2", P: "e1 ~@2 e1 ~@2 e1@6 d2 e2@3",
  Q: "b1 a1", R: "g1 f#1", S: "e1 f#1", T: "g1", U: "~@3 f#1@2 ~ f#1@2 ~@4 c#2@2 g1@2", V: "b1@3 b1 ~@2 b1 ~ e1@6 ~@2",
  W: "f#1@3 f#1 ~@2 f#1@3 c#2 f#2 a2 f#2@3 ~", X: "e1@2 ~ e1 ~@5 a2 d3 g3 f#3 d3 a2@2, ~@6 e1@5 ~@5",
  Y: "d2@3 a2@5 a1@3 e2@5", Z: "e1@3 b1@3 g2@6 d2 e2 a2 e2", AA: "e1@3 b1@3 g2@3 a1 d2 g2 f#2 d2 b1 e2",
  AB: "e1@3 b1@3 g2@6 d2 e2@3", AC: "f#1@3 c#2@3 f#2@6 f#1@4", AD: "g1@3 d2@3 g2@2 a1@8", AE: "e1@2 ~ e1 ~@2 e1@6 d2@4",
  AF: "e1 ~@2 e1 ~@2 e1@2 b1 f#2 d3 b2@5", AG: "e1 ~@2 e1 ~@2 e1@2 d3 e3 d1 e1 f#1@2 a1@2", AH: "e1@8 d2@5 a1 d2 a1",
  AI: "c#2@3 d2 e2 f2@2 f#2@2 c#2 f#1@2 c#2 f#2@3", AJ: "a1/2", AK: "[b1@25 ~@7]/4",
})).s("gm_electric_bass_finger").gain(0.64)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  A@2 B C D@2 E@2 ~@24 F G H I ~@36 J K L M@2 N@2 O P@2 B Q R S T U V@2 W@3 ~
>`.pickRestart({
  A: "[~@5 d4@2 ~@3 f#3 f#3@2 ~@5 f#3 f#3@2 ~@7 a4@4, b3@5 ~@3 c#4@5 e4@3 d4@5 f#4@2 ~ e4@8, ~@3 f#3@6 ~@5 f#3@4 ~@4 f#3@10]/2",
  B: "g4@7 ~ f#4@5 c#4@3", C: "e4@9 ~@7", D: "[~@3 d4@5 ~@3 e4@7 ~ d4 ~ d4@3 e4@3 a4@3 e4@2, b3@2 c#4@2 ~ f#4 ~@2]/2",
  E: "[~@3 d4@3 b3@2 c#4@3 ~@5 b3@15 ~, f#4@8 ~@3 e4@5 ~@16, ~@14 a3@5 ~@13]/2",
  F: "~@11 f#3@5, d4@7 ~ c#4@7 ~, ~@3 f#3@7 ~@6", G: "~@3 e3@5 ~@3 d3@5, b3 a3", H: "~@3 g3@4 ~ e4@3 d4@5, d4 a3",
  I: "[f#3,b3]@7 ~", J: "c#4 d4 ~ d4 ~ d4 ~@2 c#4 d4!2 d4@2 d4 ~@2",
  K: "c#4 d4 ~ d4 ~ d4@2 ~ [e4,f4] d4 [e4,f4] d4 [e4,f4] d4 b3!2", L: "b3 d4!3 ~@3 c#3 d3 b2 c#3 [d3,f#3] f#3 a3!2 b3",
  M: "[d4!2 e4 d4 e4@2 g4 g4@6 b3 d4 e4@3 f4 [d4,e4] b3 d4 f#4 ~ d5!2 e5 d5 e5@3 g5]/2", // Dsus2
  N: "[f#5 d5 e5 b4 d5 b4 c#5 d5 c#5 a4 e4 ~ d4 ~ d4 c#4@2 ~ b3 ~ a3 b3@2 ~@5 e4 f#4 e4 d4]/2",
  O: "[a3,b3]@2 d4 e4 d4@2 ~@2 [e4,f#4] a4@3 f#4 d4@3, ~@13 e4 ~@2", // Asus2 Esus2
  P: "[[a3,b3] ~@4 d4@2 ~@3 f#3 f#3@2 ~@5 f#3 f#3@2 ~@7 a4@4, ~ b3@7 c#4@5 e4@3 d4@5 f#4@2 ~ e4@8, ~@3 f#3@6 ~@5 f#3@4 ~@4 f#3@10]/2", // Asus2
  Q: "e4@9 ~ d4 b3 a#3 c#4 d4 ~", R: "b3@2 c#5 e5 c#5 d5 b3@2 a4 b4@2 e4@2 b4 [c#4,a4]@2, ~@3 d4@3 ~@2 c#4@4 ~@4",
  S: "[d4,a4]@3 ~ f#4@2 d4@2 ~@3 a4@3 e4@2, ~@3 d4@2 ~@3 e4@5 ~@3", // D5
  T: "~@3 d4@3 b3@2 f#5@2 ~ [e4,e5]@3 a3@2, f#4@4 c#4@3 ~, ~@8 f5 ~@7", U: "a3 b3@14 ~", V: "[a3 b3@21 ~@9 a4]/2",
  W: "[b4@3 ~]/3",
})).s("gm_acoustic_guitar_nylon").gain(0.72).pan(0.6)

// other · lead 3 calliope
const lead_3_calliope = note("<~@4 A B C D ~@6 E@2 F@3 ~@2 G@3 H@2 ~@41 I J@4 ~@12 A B K L@6 ~>".pickRestart({
  A: "b5@3 a5", B: "f#5@3 a5", C: "d5@8 c#5@3 e5@3 d5@2", D: "b4", E: "[b5@7 a5]/2", F: "[f#5@43 ~@5]/3",
  G: "[~@8 [a4,a5]@3 [f#4,f#5]@3 [b4,b5]@6 [a4,a5]@2 [f#4,f#5]@18 [e4,e5]@4 [d4,d5]@4, ~@14 a#5 ~@25 d#5 ~@7]/3", // A F# B A F# E D
  H: "[[b3,b4]@3 ~]/2", I: "~@5 f#5 g5 d6 ~ d5 e5 b5 ~ a4 b4 f#5", J: "[b4@12 e5 d5 e5 f#5@49]/4",
  K: "d5@8 c#5@3 e5@3 a4@2", L: "[b4@47 ~]/6",
})).s("gm_lead_3_calliope").gain(0.39)

// other · string ensemble 2
const string_ensemble_2 = note("<~@6 A@2 ~@56 B@4 ~@26>".pickRestart({
  A: "[~@15 [b3,c#4,d4]@16 ~]/2", B: "[b3@4 f#4@3 e4@4 ~ f#4@16 ~@3 b3@5 f#4@3 a4@4 e4@4 d4@14 ~@3]/4",
})).s("gm_string_ensemble_2").gain(0.63).pan(0.4)

// other · string ensemble 2
const string_ensemble_2_2 = note("<~@18 A@2 B@2 C D E@2 F@2 G@2 H@4 ~@2 I@4 ~@2 G@2 J@2 K@2 ~@46>".pickRestart({
  A: "[~@15 [c#4,e4]@16 ~]/2", B: "[[d4,f#4]@15 ~ e4@16, ~@15 c#4@16 ~]/2", C: "[d4,f#4]", D: "[c#4,e4]",
  E: "[[b4,b5]@23 [a4,a5]@9]/2", F: "[[f#4,f#5]@31 ~]/2", G: "[[b4,b5,b6]@3 [a4,a5,a6]]/2",
  H: "[[f#4,f#5]@51 ~@13, f#6@31 ~@33]/4", // F#
  I: "[[d4,f#4]@15 [c#4,e4]@10 ~@6 [d4,f#4]@15 ~ [c#4,e4]@11 ~@6, b3@25 ~@6 b3@27 ~@6]/4", J: "[[f#4,f#5,f#6]@31 ~]/2",
  K: "[[f#5,f#6]@3 [a5,a6]]/2", // F# A
})).s("gm_string_ensemble_2").gain(0.32).pan(0.6)

// other · string ensemble 2
const string_ensemble_2_3 = note("<~@46 A B ~@7 C D@2 E@2 F@20 G@2 ~@12>".pickRestart({
  A: "b3 f#4 a4 e4", B: "d4", C: "~@3 [c#5,c#6]", D: "[[b4,b5]@3 [a4,a5]]/2", E: "[f#4,f#5]/2",
  F: "[[b4,b5]@24 [a4,a5]@7 [f#4,f#5]@32 ~]/4", G: "[[b4,b5]@3 ~]/2",
})).s("gm_string_ensemble_2").gain(0.4).pan(0.9)

// chords · epiano2
const epiano2 = note(`<
  A B C D E B F G H I J I K L M L M L N@3 I K L O P O P O P O P Q R S T U L J L V W X L X L O Y Z AA Z AB@2 AC@2 AD O AE
  O Y O AE O Y O AE O Y O AE O Y O AE O Y O AE O Y A B C D E B F G AF@2 AG@3 ~
>`.pickRestart({
  A: "[b3,d4,f#4] [a2,b3,c#4,f#4]", B: "[g2,b3,d4,f#4] [f#2,a3,b3,e4]", C: "[e2,b3,d4,g4] [d2,a3,c#4,f#4]",
  D: "[c#2,g3,b3,e4]@9 [f#2,a3,a#3,d4] ~@2 [f#2,a3,a#3,d4]@4", E: "[b2,b3,d4,f#4] [a2,b3,c#4,f#4]",
  F: "[e2,d4,f#4,g4] [f#2,a3,b3,e4]", G: "[b2,a3,d4,f#4]", H: "[g2,b3,d4,f#4]", I: "[f#2,a3,b3,e4]",
  J: "[g2,a3,d4,f#4]", K: "[a3,d4,f#4]", L: "[f#2,a3,b3,e4]@15 ~", M: "[b2,a3,d4,f#4]@8 [e2,b3,d4,f#4,g4]@7 ~",
  N: "[~@2 [g2,a3,d4,f#4], [g2,b3,d4,f#4]@8 [f#2,a3,b3,e4,e5]@8 f#5@3 ~@5, ~@6 [a4,a5]@8 [a4,a5]@5 ~@5]/3", // D Gmaj7 F#m7 A
  O: "[b2,a3,d4,f#4] [f#2,a3,b3,e4]", P: "[e2,a3,d4,f#4]", Q: "~@3 f#3@4 ~@4 f#3@4 ~, d4@8 c#4@7 ~",
  R: "~@3 e3@5 ~@3 d3@5, b3 a3", S: "~@3 g3@5 e4@2 ~ d4@4 ~, d4 a3", T: "[f#3,b3]", U: "[g2,a3,d4,f#4]@15 ~",
  V: "[e2,b3,d4,f#4]@15 ~", W: "[f#2,a3,b3,e4]@2 ~ [f#2,a3,b3,e4] ~@2 [f#2,a3,b3,e4]@9 ~",
  X: "[b2,a3,d4,f#4] [e2,f#3,d4]", Y: "[e2,f#3,g3,d4]@15 ~", Z: "~@3 a4@5 ~@3 a4@5, [d3,a3,d4,f#4] [a2,a3,c#4,e4]",
  AA: "[e2,a3,d4,g4]", // Em7
  AB: "[~@19 a4@5 ~@3 a4@5, [e2,g4]@11 [b4,b5]@3 [a4,a5]@2 [d3,a3,d4,f#4]@8 [a2,a3,c#4,e4]@8, [a3,d4]@9 [d5,d6]@15 ~@8, ~@3 [g5,g6]@9 ~@4, ~@7 [f#5,f#6]@17 ~@8]/2", // Em B A D A D5 D G …
  AC: "[a3 [f#2,a3,b3,c#4,e4], [e2,d4,g4]]/2", AD: "[g2,b3,d4,f#4] [a2,a3,c#4,e4]", AE: "[e2,f#3,g3,d4]",
  AF: "[a2,g3,b3,c#4,f#4]/2", AG: "[[b2,a3,d4,f#4]@19 ~@5]/3",
})).s("gm_epiano2").gain(0.56)

// chords · marimba · E5
const marimba = note("<~@64 [~@2 [b4,e5] ~@3 [b4,e5] ~@3 [b4,e5] ~@3 [b4,e5] ~]!16 ~@14>")
  .s("gm_marimba").gain(0.56).pan(0.3)

// chords · synth strings 1
const synth_strings_1 = note(`<
  A@4 B@4 C@4 D E F G@2 H C@4 D E I J I J I J I J K@3 L@5 J M F G@2 H N J O@6 P@2 I J I J I J I J I J I J I J I J I J I
  J I J I J A@4 Q@3 R@6 ~
>`.pickRestart({
  A: "[[b2,d4]@8 [a2,c#4]@8 [g2,g3,d4,f#4]@8 [f#2,a3,b3,c#4,e4]@7 [e2,b3,d4,g4]@9 [d2,a3,c#4]@7 ~ [c#2,g3]@8 [f#2,a3,a#3,d4]@8, b3@24 ~@7 f#4@16 ~ e4@16, f#3@16 ~@31 b3@8 ~@9]/4", // Bm A Gmaj7 F#m7 Em7 Dmaj7 C#dim D
  B: "[[b2,d4]@8 [a2,c#4]@8 [g2,d4]@8 [f#2,a3,b3,c#4,e4]@7 [e2,b3,d4,f#4]@8 ~ [f#2,a3,c#4]@7 [b2,b3,d4,f#4]@16 ~, [b3,f#4]@24 ~@15 e4@8 ~@17]/4", // Bm A G5 F#m7 Bm F#m Bm B5
  C: "[[g2,b3,d4,f#4]@16 [f#2,c#4,e4]@16 [g2,d4,f#4]@15 ~ [f#2,b3]@16, a3 a3, ~@16 b3@31 [c#4,e4]@17]/4", // Gmaj7 F#7 Gmaj7 B5 C#m
  D: "[e2,g3,a3,b3,d4,f#4]", E: "[f#2,a3,b3,c#4,e4]", F: "[b2,a3,d4,f#4] [e2,f#3,g3,b3,d4]",
  G: "[[f#2,c#4,e4]@15 ~ [b2,d4]@8 [e2,f#3,g3,b3,d4]@8, a3@3 ~, ~@15 f#4@8 ~@9]/2", H: "[f#2,a3,c#4,e4]@15 ~",
  I: "[b2,c#4,d4,f#4] [f#2,b3,c#4,e4], a3", J: "[e2,f#3,g3,b3,d4]",
  K: "[[b2,b3,d4]@8 [a2,c#4]@7 ~@17 [g3,b3]@8 [f#2,a3,c#4,e4]@8, f#4@20 e4@8 ~@3 e2@8 ~@9, ~@15 g2@8 ~ [f#2,a3]@8 ~@16, ~@16 b3@8 ~@3 d4@12 ~@9]/3", // Bm A G F#m7 F#m
  L: "[[g2,b3]@16 g2@15 ~ f#2@16 [g2,d4,f#4]@16 [f#2,c#4,e4]@16, [d4,f#4]@31 [c#4,e4]@16 ~@33, ~@16 [a3,b3]@63 ~]/5", // G Gmaj7 F#7 D C#m Asus2
  M: "[f#2,a3,b3,c#4,e4], d#4 ~@15", N: "[b2,c#4,d4,f#4] [f#2,b3,c#4,e4], a3@15 ~",
  O: "[[d3,d4,f#4]@8 [a2,b3,c#4,e4]@7 ~ [e2,a3,b3,g4]@16, a3@15 [d4,f#4]@16 ~]/2", // D A Em D
  P: "[[f#2,a3,c#4,e4]@2 [g2,b3,d4] [a2,a3,c#4,e4], f#4]/2", // F#m7 G A
  Q: "[[b2,d4]@8 [a2,c#4]@8 [g2,d4]@8 [f#2,a3,b3,c#4,e4]@7 [e2,b3,d4,f#4]@8 ~ [f#2,a3,c#4]@8, [b3,f#4]@24 ~@15 e4@8 ~]/3", // Bm A G5 F#m7 Bm F#m B5
  R: "[[g2,b3,d4]@16 [a2,g3,c#4]@33 [b2,d4]@42 ~@5, f#4@31 ~, ~@16 b3@75 ~@5]/6", // G A7 Bm
})).s("gm_synth_strings_1").gain(0.32)

// drums · kick
const kick = s("bd").struct(`<
  ~@8 A@4 B C D E@2 F G A@3 B C E@7 H I@3 J A@4 B C E@6 K@6 L D@3 E@10 M E M E M E M E M E M G J@4 N J@2 O@2 ~@5
>`.pickRestart({
  A: "~@3 x ~@2 x ~@9", B: "x ~@2 x ~@12", C: "x ~@2 x ~@7 x ~@4", D: "x ~@2 x!2 ~@3", E: "x ~@2 x ~@2 x ~ x ~@7",
  F: "x ~@2 x ~@2 x ~ x ~@6 x", G: "x ~@2 x ~@2 x ~@9", H: "x ~@2 x ~@2 x ~ x ~@3 x ~ x ~", I: "~@3 x", J: "~ x ~ x",
  K: "x ~@6 x!2 ~@7", L: "x ~@2 x ~@4", M: "x ~@2 x ~@2 x ~ x ~@5 x!2", N: "x!2 ~ x", O: "x",
})).gain(0.8)

// drums · snare
const snare = s("sd").struct("<~@13 A B C B D ~@5 A B@7 E ~@9 A B@5 F B@3 G B@3 E B@19 H B@3 E ~@14>".pickRestart({
  A: "~@3 x", B: "~ x ~ x", C: "~@2 x ~@2 x!2 ~", D: "~@4 x ~@4 x ~@6", E: "~ x ~@2", F: "~@4 x ~@7 x!2 ~@2",
  G: "~@4 x ~@7 x ~ x!2", H: "~@4 x ~@7 x ~@2 x",
})).gain(0.72)

// drums · low tom
const low_tom = s("lt").struct("<~@17 A ~@13 A B@3 ~@20 C ~@24 D@3 E D@3 ~@7>".pickRestart({
  A: "~@3 x", B: "~@7 x ~@6 x ~", C: "~@7 x", D: "~@7 x ~@4 x ~ x ~", E: "~@7 x ~@2 x ~ x ~ x ~",
})).gain(0.56)

// drums · hihat
const hihat = s("hh").struct("<A@13 B A@9 B C A@7 ~@4 A@5 B A@5 B A@7 D E@7 F E@7 G E@8 ~@14>".pickRestart({
  A: "x!3 ~ x!3 ~ x!3 ~ x!3 ~", B: "x!3 ~ x!3 ~ x!2 ~@6", C: "~ x!2 ~ x!3 ~ x!3 ~ x!3 ~", D: "x!3 ~ x!3 ~@9", E: "x!16",
  F: "x!12 ~@4", G: "x!10 ~@6",
})).gain(0.4)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<A@13 B A@9 B A@8 ~@4 A@5 B A@5 B A@7 B ~@38>".pickRestart({
  A: "~@3 x ~@3 x ~@3 x ~@3 x", B: "~@3 x ~@3 x ~@8",
})).gain(0.24)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@13 A ~@3 B ~@5 A ~@7 C D@3 ~@6 A ~@5 E ~@7 F ~@15 C ~@7 G H@3 I H@3 ~@7
>`.pickRestart({
  A: "~@13 x!2 ~", B: "~@11 x ~@4", C: "~@10 x!2 ~@4", D: "~ x ~ x", E: "~@7 x", F: "~@12 x!2 ~@2",
  G: "~@9 x ~@2 x ~@3", H: "~@4 x ~@2 x ~@4 x ~@3", I: "~@4 x ~@2 x ~ x ~@2 x ~@3",
})).gain(0.56)

// drums · open hat
const open_hat = s("oh").struct("<~@13 A ~@9 A ~@17 A ~@5 A ~@7 B ~@7 C ~@7 D ~@22>".pickRestart({
  A: "~@5 x ~@2", B: "~ x", C: "~@3 x", D: "~@5 x ~ x",
})).gain(0.48)

// drums · high tom
const high_tom = s("ht").struct("<~@17 A ~@37 A ~@15 B ~@7 C ~@14>".pickRestart({
  A: "~@5 x ~@2", B: "~@9 x ~@6", C: "~@3 x ~@4",
})).gain(0.56)

// drums · crash
const crash = s("cr").struct(`<
  ~@7 A ~@4 B ~ B ~@3 B ~@3 B ~ B ~@3 B ~@2 C ~@3 A ~@4 B@3 ~@5 B ~@5 D ~ B ~@3 B ~@3 B ~@3 B ~@2 A E ~@3 B ~@3 B ~@3 B
  ~@2 B@2 ~@5
>`.pickRestart({
  A: "~@3 x", B: "x", C: "~@7 x", D: "x ~@2 x ~@4", E: "x!2 ~@2",
})).gain(0.48)

// drums · ride
const ride = s("rd").struct("<~@8 A@16 B A@7 ~@3 C A@19 D A@24 ~@7 E F G ~@4>".pickRestart({
  A: "x!8", B: "~ x!7", C: "~@2 x!3 ~@2 x ~@2 x!3 ~@3", D: "x!5 ~@3", E: "~@10 x!6", F: "x!4 ~@2 x!10", G: "x!5 ~@11",
})).gain(0.48)

// drums · ride · soft notes
const ride_soft = s("rd").struct("<~@87 [~@2 x!8 ~@6] [~@3 x!4 ~@9] [~@5 x!7 ~@4] ~@4>").gain(0.24)

// drums · tambourine
const tambourine = s("tb").struct("<~@48 [x!16]!7 [x!9 ~@7] ~@38>").gain(0.32)

// drums · congas
const congas = s("conga:13").struct(`<
  ~@8 A B ~ B ~@2 C@4 A B A B ~@2 C@8 ~@4 A B ~ B ~@2 D@6 ~@8 C@31 ~@7
>`.pickRestart({
  A: "~ x ~@6", B: "~@5 x ~@2", C: "~ x ~@3 x ~@2", D: "~ x!2 ~@2 x!2 ~",
})).gain(0.77)

// drums · congas
const congas_2 = s("conga:18").struct("<~@18 [~@7 x] ~ [~@7 x] ~@73>").gain(0.77)
// … 23 more lines

More by Fiorella Mannoia