Strudelify

Solo come me

Paola Turci

KeyG majorTempo67 bpm
0:00/0:00
// Solo come me — Paola Turci
// 67 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 67 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(67/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 · acoustic guitar steel
const acoustic_guitar_steel = note(`<
  A B C D E F D G F@2 H I J K@2 L M N K O P K Q R K Q K S T U@3 J K@2 L M N K O P K Q R K Q K S T U V W X P K Q R K Q K
  S Y U@4 ~
>`.pickRestart({
  A: "[b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] ~ [b3,d4,f#4] [b3,d4,f#4]@3 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4] ~", // Bm
  B: "[c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] ~ [c4,e4,g4] [c4,e4,g4]@3 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4] ~", // C
  C: "[d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] ~ [d4,f#4,a4] [c4,g4,a4]@3 [c4,g4,a4]@2 [c4,g4,a4]@2 [c4,g4,a4] ~", // D Am7
  D: "[b3,d4,g4]@7 ~@9", E: "[b3,e4,a4]@7 ~@9", F: "[c4,e4,g4]@7 ~@9", G: "[b3,e4,g4]@7 ~@9",
  H: "[b3,d4,g4]@7 ~ [c4,d4,g4]@7 ~", I: "[c4,d4,f#4]@7 ~@9",
  J: "[b3,d4,g4]!5 ~ [b3,d4,g4] [a3,d4,g4]@2 [a3,d4,g4]!2 [b3,d4,g4] [b3,d4,g4]@2 [b3,d4,g4]!2", // G Dsus4 G
  K: "[c4,e4,g4]!5 ~ [c4,e4,g4] [c4,e4,g4]@2 [c4,e4,g4]!3 [c4,e4,g4]@2 [c4,e4,g4]!2", // C
  L: "[b3,d4,g4]!3 [b3,d4,g4]@2 [b3,d4,g4]!2 [b3,d4,g4]@2 [b3,d4,a4]!3 [b3,d4,g4]@2 [b3,d4,g4] [b3,d4,f#4]", // G Bm7 G Bm
  M: "[b3,d4,g4]!4 [b3,d4,a4] ~ [b3,d4,a4] [b3,d4,a4]@2 [b3,d4,g4]!3 [b3,d4,g4]@2 [b3,d4,g4]!2", // G Bm7 G
  N: "[c4,e4,g4]!4 [c4,e4,a4] ~ [c4,e4,a4] [c4,e4,a4]@2 [c4,e4,a4]!3 [c4,e4,a4]@2 [c4,e4,a4]!2", // C Am
  O: "[b3,d4,g4]!5 ~ [b3,d4,g4]!2 [a3,d4,g4]!4 [a3,d4,f#4]@2 [a3,d4,f#4]!2", // G Dsus4 D
  P: "[b3,d4,g4]!5 ~ [b3,d4,g4] [c4,e4,g4]@2 [c4,e4,g4]!3 [c4,e4,g4]@2 [c4,e4,g4]!2", // G C
  Q: "[b3,d4,g4]!5 ~ [b3,d4,g4] [b3,d4,g4]@2 [b3,d4,g4]!3 [b3,d4,g4]@2 [b3,d4,g4]!2", // G
  R: "[c4,d4,g4]!3 [c4,d4,g4]@2 [c4,d4,g4]!2 [c4,d4,g4]@2 [c4,d4,g4]!3 [c4,d4,g4]@2 [c4,d4,g4]!2", // Csus2
  S: "[b3,e4,g4]!5 ~ [b3,e4,g4] [b3,e4,g4]@2 [b3,e4,g4]!3 [b3,e4,g4]@2 [b3,e4,g4]!2", // Em
  T: "[c4,e4,g4]!5 ~ [c4,e4,g4] [c4,d4,g4]@2 ~@7", U: "[c4,e4,g4]@5 ~ [b3,d4,g4]@7 ~@3",
  V: "[b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4]@2 [b3,d4,f#4] ~", // Bm
  W: "[c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4]@2 [c4,e4,g4] ~", // C
  X: "[a3,e4,f#4]@2 [a3,e4,f#4]@2 [a3,e4,f#4]@2 [a3,e4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4]@2 [a3,d4,f#4] ~", // F#m7 D
  Y: "[c4,e4,g4] ~@15", // C
})).s("gm_acoustic_guitar_steel").gain(0.36).pan(0.3)

// chords · epiano1
const epiano1 = note(`<
  A B C D E F G H I J K L M E N O G I P Q R S T S U T S@2 V ~@3 M E F O G W J Q R S T S U T S@2 V X@3 Y R S T S U T S@2
  Z ~@5
>`.pickRestart({
  A: "[d4,f#4,a4]@2 ~@2 [d4,f#4,a4] ~@2 [d4,f#4,a4]@3 [d4,f#4,a4] ~ [d4,f#4,a4]@2 ~@2", // D
  B: "[b3,c4,a4]@2 ~@2 [b3,c4,a4] ~@2 [c4,e4,a4]@3 [c4,e4,a4] ~ [c4,e4,a4]@2 ~@2", // F Am
  C: "[b3,d4,a4]@2 ~@2 [b3,d4,a4] ~@2 [c4,e4,g4]@3 [c4,e4,g4] ~ [c4,e4,g4]@2 ~@2", D: "[b3,d4,g4]@8 ~@7 c4",
  E: "[b3,c4]@13 ~@3, e4@11 ~@5", F: "[c4,d4,g4]@7 ~@9", G: "[b3,d4,g4]@7 ~@9", H: "[b3,d4,g4] ~",
  I: "[b3,c4,d4]@7 ~@9", J: "[c4,e4,g4]@7 ~@9", K: "[b3,d4,g4]@7 ~ [c4,d4,g4]@8", L: "[a3,d4,f#4]@7 ~@9",
  M: "[b3,d4,g4]@7 ~@8 c4", N: "[c4,d4,g4] ~", O: "[b3,d4,g4]@4 ~ [b3,d4,g4]@4 ~@7", P: "[c4,e4,g4] ~",
  Q: "[b3,d4,g4]@7 ~ [c4,d4,g4]@7 ~", R: "[b3,d4]@2 g3@2 [b3,d4]@2 g3@2 [c4,e4]@2 a3@2 [c4,e4]@2 a3 ~",
  S: "[c4,e4]@2 g3@2 [c4,e4]@2 g3@2 [c4,e4]@2 g3@2 [c4,e4]@2 g3 ~", // C
  T: "[b3,d4]@2 g3@2 [b3,d4]@2 g3@2 [b3,e4]@2 g3@2 [b3,e4]@2 g3 ~", // Bm E5
  U: "[c4,d4]@2 g3@2 [c4,d4]@2 g3@2 [c4,d4]@2 g3@2 [c4,d4]@2 g3 ~", V: "[c4,e4]@2 g3@2 [c4,e4]@2 g3 [a3,d4]@2 ~@7",
  W: "[b3,c4,d4] ~", // Bm
  X: "[[g3,c4,e4]@5 ~ [g3,b3,d4]@14 [g3,b3,d4]@7 ~ [b3,d4]@3 ~@5 [a3,c4,e4]@8 [g3,c4,e4]@3 ~, ~@7 g3@2 ~@3]/3", // C G Bm Am C
  Y: "b3@4 [b3,d4,f#4]@7 ~ [a3,d4,f#4]@3 ~", Z: "[c4,e4] ~@7",
})).s("gm_epiano1").gain(0.42).pan(0.2)

// other · pad warm
const pad_warm = note(`<
  A@2 B C@3 A@2 D E@2 F C@3 A@2 D E G H@8 I J@3 C@3 A@2 D E G H@8 I J K@2 L H@8 M J@3 N@2
>`.pickRestart({
  A: "g4/2", B: "a4", C: "g4/3", D: "e4", E: "g4", F: "f#4 ~", G: "g4@3 f#4", H: "g5", I: "g5@3 ~",
  J: "[e4,d5]@3 [d4,d5]@5", K: "g5/2", L: "[a4,a5]", M: "g5 ~@2 g5", N: "[[e4,d5]@3 [d4,d5]@13]/2",
})).s("gm_pad_warm").gain(0.41)

// bass · fretless bass
const bass = note(`<
  A B C D E F G H I J K L@8 M N O P Q R S T U V W X Y Z AA AB AC AD AE AF M N AG P Q R S T U V AH AI AJ AK N O P Q R S T
  U AL W X@2 AM@2
>`.pickRestart({
  A: "g1@5 d1 e1 g1@2 ~ g0@6", B: "a1@5 e1 g1 c2@3 c2@6", C: "b1@6 a1 d2@3 d2@6", D: "g1@7 e1@9", E: "a1@7 e1 a1@7 b1",
  F: "c2@3 c2", G: "g1@7 g1@2 ~ g1@4 f#1@2", H: "e1@7 e2@3 e1@4 g1 e1", I: "a1@7 e1 a1@5 ~ a1 b1",
  J: "c2@7 g1 c2@5 ~ c2 d2", K: "g2 d2",
  L: "[d2@8 d1@3 ~ a1@4 g1@2 g1@4 ~ g1 e1@2 e1@3 ~ f#1 g1 a1@2 a1@3 ~ e1 a1@2 a1!2 ~ a1@2 a1 b1 c2@2 c2@3 ~ g1 c2@2 c2 c2@2 c2@2 c2 d2 g1@2 g1@2 ~ g1@3 g1@4 g1@2 f#1@2 e1@2 e1@4 ~ e1@3 e1@4 f#1 g1 a1@2 a1@2 ~@2 e1 a1@2 a1@3 a1@2 a1 b1 c2@2 c2@2 ~@2 g1 c2@2 c2@3 c2@2 c2 d2, ~@3 g2@29]/8",
  M: "g1 ~ g1 ~ g1@3 ~ d2@2 c2 d2!3 c2 d2", N: "g1@2 g1@4 ~ g1 a1@2 a1@3 ~ a1 b1", O: "c2@2 c2@4 ~ c2@3 c2@3 ~ c2 d2",
  P: "g1@2 g1@3 ~ d2 e2 e2@4 e2@4", Q: "a1@2 a1@2 ~ e1 g1 a1 a1@2 a1@2 a1@2 b1@2",
  R: "c2@2 c2@5 g1 c2@2 c2@2 c2@2 c2 d2", S: "g1@2 g1@3 ~ d2 d#2 e2@4 e2@2 g1@2", T: "a1@2 a1@3 ~ g1 a1@3 a1@4 a1 b1",
  U: "c2@6 g1 c2@2 ~ c2@4 c2 d2", V: "a1@4 a1@2 g1 d2@2 ~@7", W: "c2@3 g1@5", X: "c2@3 g2@5", Y: "c2@6 g2@7 d2@3",
  Z: "g1@2 g1@4 ~ g1 e1@2 e1@3 ~ f#1 g1", AA: "a1@2 a1@3 ~ e1 a1@2 a1 a1@2 a1@2 a1 b1",
  AB: "c2@2 c2@3 ~ g1 c2@2 c2 c2@2 c2@2 c2 d2", AC: "g1@2 g1@2 ~ g1@3 g1@4 g1@2 f#1@2",
  AD: "e1@2 e1@4 ~ e1@3 e1@4 f#1 g1", AE: "a1@2 a1@2 ~@2 e1 a1@2 a1@3 a1@2 a1 b1",
  AF: "c2@2 c2@2 ~@2 g1 c2@2 c2@3 c2@2 c2 d2", AG: "c2@2 c2@4 ~ c2@3 c2@4 c2 d2",
  AH: "c2@2 c2!3 d2 g2@3 ~ d2 ~ g2@2 d2 e2", AI: "g2@2 g2@2 f#2 g2!2 g2@2 ~ g2@2 g2@2 d2!2",
  AJ: "a1 ~ a1@3 ~ a1 b1 c2 ~ c2@3 ~ c2 d2", AK: "b1@2 b1@4 f#2 b1 b1@2 b1@2 d2!4", AL: "a1 ~@2 [c2,g2]",
  AM: "[c2@3 g1@13]/2",
})).s("gm_fretless_bass").gain(0.54)

// chords · overdriven guitar
const overdriven_guitar = note(`<
  A@4 ~@2 B C ~@3 D@8 E F@2 G H@2 I@2 J K L M N O ~@2 B C P Q E F@2 G H@2 I@2 J K R S T U V@2 G H@2 I@2 W X L M Y Z@2
>`.pickRestart({
  A: "[[d4,d5]@12 [e4,e5]@2 [g3,g4]@12 [f#3,f#4]@2 [g3,g4]@2 [d4,d5]@13 ~ [c4,c5]@2 [b3,b4]@7 ~@11]/4", B: "~@6 g2 f#2",
  C: "e2@11 ~@5", D: "[~@12 g5@14 ~@50 g2@2 f#2@2 e2@11 ~@19 a2 b2 c3@15 ~, ~@3 g4@29]/8", E: "~@2 [d4,g4] [d4,f#4]",
  F: "[[g3,g4]@23 [c4,g4]@2 [d4,g4]!4 [c4,g4] [b3,g4] [c4,g4], d4 ~@31]/2", G: "[d4,g4]@3 [b3,e4]",
  H: "[a3@7 g3 a3 g3 ~@19 [a4,d5]!3, d4 d4, ~@5 a3@6 ~@5]/2", // D5
  I: "[g4@12 [b3,e4]@4 [a3,d4]@7 [a3,d4]!3 [a3,d4]@4 d4@2, d5@15 ~]/2", // E5 D5
  J: "[d4,g4]@2 [d4,g4]@2 [d4,g4]@3 [d4,g4]@2 [d4,g4] [d4,g4]@2 [d4,g4]@2 [d4,g4]@2", // G5
  K: "g4@2 g4@2 [d4,g4]@2 [d4,g4]!2 ~@8, d4 ~@3", L: "c4@2 c4!3 d4 b3@9 ~", M: "c4@2 c4!3 ~ b3@9 ~",
  N: "a3@2 a3!2 a3@2 g3@6 c3!2 b2 g2", O: "g2@3 ~", P: "~@14 a2 b2", Q: "c3@15 ~", R: "d5@2 d5!3 e5 d5@8 d5!2",
  S: "g4!4 [g4,b4] [g4,c5] [g4,d5] g4@3 [g4,b4] [g4,c5] [g4,d5] g4@2 e4", T: "g4@2 a4 g4 a4@2 a4 g4@7 ~ d5",
  U: "a5 a4!2 d5 a4!2 d5@3 d5 a4!2 d5 a4!2 [a4,d5]", V: "[[g3,d4,g4]@23 [c4,g4]@2 [d4,g4]!4 [c4,g4] [b3,g4] [c4,g4]]/2",
  W: "[d4,g4] ~ [d4,g4]@2 [d4,g4]@3 [d4,g4]@2 [d4,g4] [d4,g4]@2 [d4,g4]@2 [d4,g4]@2", // G5
  X: "[g3,c5]@3 [g3,b4]@3 [g3,c5]@10", Y: "c4@2 c4!2 c4@2 b3@6 ~@4", Z: "[c4@2 c4!2 c4@2 b3@22 ~@4]/2",
})).s("gm_overdriven_guitar").gain(0.51).pan(0.7)

// chords · overdriven guitar
const overdriven_guitar_2 = note(`<
  ~@3 A B A@4 ~@6 C@2 ~@3 D@2 E@2 F G H I@2 J K@2 ~@3 C@2 ~@3 D@2 E@2 F G H I@2 J L M N D@2 E@2 F O H I@2 J K@2 P@2
>`.pickRestart({
  A: "g4@15 ~", B: "g4", C: "[~@10 [e4,a4]@2 [d4,g4]@13 ~@7]/2",
  D: "[g3@7 ~@21 g4@4, g4@11 ~ g4@7 ~ g4@7 ~@5, ~ a3 c4!2]/2",
  E: "[~@30 f#4 g4, b3!2 c4!2, ~@4 g4@7 ~ g4@8 g4@7 ~@5]/2", F: "~ a3@3, g4", G: "~ a3@2 b3, g4", H: "[c4,g4]",
  I: "[g5@23 ~@9, c4 ~]/2", J: "[g3,a5]@3 g5@5, ~@6 g3 ~@9", K: "[g3,a5]@3 [g3,g5]@5", L: "f#4@5 e4@2 d4", M: "c4 e4",
  N: "[b3,e4]", O: "~@4 a3@8 b3@3 ~, g4", P: "[[g3,a5]@3 [g3,g5]@11 ~@2]/2",
})).s("gm_overdriven_guitar").gain(0.35).pan(0.3)

// chords · electric guitar muted
const electric_guitar_muted = note(`<
  ~@3 A B C A@2 B D ~@2 E F G E H F I J ~@9 K@3 E F G E H F I J ~@9 K ~@12 K@3 L ~
>`.pickRestart({
  A: "~@12 [b4,d5,g5] ~@3", B: "~@12 [b4,c5,g5] ~@3", C: "~@12 [c5,e5,g5] ~@3", D: "~@12 [c5,d5,g5] ~@3",
  E: "~@4 [b4,d5,g5] ~@7 [b4,d5,g5] ~@3", F: "~@4 [b4,c5,g5] ~@7 [b4,c5,g5] ~@3",
  G: "~@4 [c5,e5,g5] ~@7 [c5,e5,g5] ~@3", H: "~@4 [a4,d5,g5] ~@7 [b4,d5,g5] ~@3",
  I: "~ e4 [e4,g4,c5] ~ [e4,g4,c5]!2 ~ [e4,g4,c5]@2 e4 [e4,g4,c5] ~ [e4,g4,c5]!2 ~@2", // C
  J: "~ d4 [d4,g4,b4] ~ [d4,g4,b4]!2 ~ d4 ~@8", K: "g3@5 ~ g3@6 ~@2 g3!2", L: "g3@5 ~ g3@6 ~@4",
})).s("gm_electric_guitar_muted").gain(0.42).pan(0.7)

// chords · rock organ
const rock_organ = note("<~@9 A@3 ~@55>".pickRestart({
  A: "[~@24 a4@17 ~@7, d5@41 ~@7]/3",
})).s("gm_rock_organ").gain(0.34).pan(0.7)

// chords · acoustic guitar steel
const acoustic_guitar_steel_2 = note(`<
  A B C ~ D E F G ~@5 D E F G ~@3 H I J I@2 J K I L ~@4 D E F G ~@3 H I J I@2 J K I L ~@4 H I J I@2 J K I M ~@5
>`.pickRestart({
  A: "d4@2 g3!2 d4@2 g3!2 ~ g3!3 g3@2 g3!2, g3 ~@3 g3 ~@7 d4@4",
  B: "e4@2 a3!2 e4@2 a3!2 ~ a3!4 ~ a3!2, a3 ~@3 a3 ~@3 e4@3 ~@5",
  C: "b3@2 b3!2 [b3,f#4]@2 b3 a3 ~ a3!3 e4@2 a3!2, f#4@4 ~@4 e4@3 ~ a3 ~@3", D: "~@13 e3 f#3 g3", E: "c3@5 ~@11",
  F: "~@6 g3!2", G: "g3 ~", H: "[d4,g4]@2 b3@2 [d4,g4]@2 b3 ~ [e4,g4]@2 c4 ~ [e4,g4]@2 c4 ~",
  I: "[e4,g4]@2 c4@2 [e4,g4]@2 c4 ~ [e4,g4]@2 c4 ~ [e4,g4]@2 c4 ~", // Em
  J: "[d4,g4]@2 b3@2 [d4,g4]@2 b3 ~ [e4,g4]@2 b3 ~ [e4,g4]@2 b3 ~", // G5 Em
  K: "[e4,a4]@2 c4@2 [e4,a4]@2 c4 ~ [e4,a4]@2 c4 ~ [e4,a4]@2 c4 ~", L: "[e4,a4]@2 c4@2 [e4,a4]@2 c4 [d4,a4]@2 ~@7",
  M: "[e4,a4] ~@7", // A5
})).s("gm_acoustic_guitar_steel").gain(0.41).pan(0.8)

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

// drums · rim
const rim = s("rim").struct("<~@3 [~ x ~ x]!8 [~ x ~@2] ~@55>").gain(0.6)

// drums · snare
const snare = s("sd").struct("<A@3 ~@9 A@16 B A@2 C A@16 B A@12 ~ A@2 C D ~>".pickRestart({
  A: "~ x ~ x", B: "~@4 x ~@2 x ~@8", C: "~@3 x!2 ~@7 x ~@3", D: "~@3 x!2 ~@11",
})).gain(0.6)

// drums · low tom
const low_tom = s("lt").struct("<~@19 [~@15 x] ~@19 [~@15 x] ~@12 [~@7 x!2 ~ x!2 ~@3 x] ~@14>").gain(0.45)

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

// drums · mid tom
const mid_tom = s("mt").struct("<~@11 A ~@7 B ~@8 A ~@10 B ~@8 A ~@3 C ~@8 A ~@5>".pickRestart({
  A: "~@3 x", B: "~@11 x ~@2 x ~", C: "~@7 x",
})).gain(0.6)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@2 A ~@2 A B ~@7 A B ~@6 A B ~ B ~@8 A B ~@6 A B ~ B ~@5 A B ~@2 A B ~ B ~@8
>`.pickRestart({
  A: "~@3 x", B: "~@7 x",
})).gain(0.3)

// drums · high tom
const high_tom = s("ht").struct("<~@19 A ~@8 B ~@10 A ~@8 B ~@3 C ~@14>".pickRestart({
  A: "~@5 x ~@2", B: "~@11 x ~@4", C: "~@6 x ~@2 x ~@3 x ~@2",
})).gain(0.53)

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

// drums · ride bell
const ride_bell = s("rd").struct("<~@15 A ~@19 A ~@13 B C@2 D ~@14>".pickRestart({
// … 7 more lines

More by Paola Turci