Strudelify

My Love

Lionel Richie

KeyA♭ majorTempo73 bpm
0:00/0:00
// My Love — Lionel Richie
// 73 bpm, 4/4, key Ab major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 "Melody 1" recorder (copy of ch 12 "Strings" synth strings 1)
// note: Full arrangement: all 63 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(73/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 · "Bass"
const bass = note(`<
  A B C D E A F D E G H I J E J E J K A B L M I A N O E A P E H I Q I Q R S@2 R T R A I U V W X T G Y@2 Q E Q R H I P I
  H I Z ~
>`.pickRestart({
  A: "ab2@13 ~ ab2 ~", B: "ab2", C: "ab2@5 ~ ab2@2 g2@5 ~ g2@2", D: "f2@8 eb2@5 ~ eb2@2", E: "db2@5 ~ db2@2 eb2@8",
  F: "ab2 g2", G: "ab2@13 ~ ab2@2", H: "ab2@5 ~ ab2@2 ab2@8", I: "db2@5 ~ db2@2 eb2@5 ~ eb2@2",
  J: "ab2@8 ab2@5 ~ ab2@2", K: "db2 eb2", L: "ab2@5 ~ ab2@2 g2@8", M: "f2@5 ~ f2@2 eb2@8", N: "ab2@8 g2@5 ~ g2@2",
  O: "f2@13 ~ f2@2", P: "ab2!2", Q: "ab2@5 ~ ab2@2 ab2@5 ~ ab2@2", R: "db2@8 eb2@5 ~ eb2@2", S: "ab2@14 ab2 ~",
  T: "ab2@5 eb3 ab3 eb3", U: "ab2 g2 gb2@2", V: "f2@2 bb1 c2", W: "db2@13 ~ db2@2", X: "eb2@13 ~ eb2@2",
  Y: "db2@13 ~ db2 ~", Z: "ab2@13 ~@3",
})).s("gm_fretless_bass").gain(0.31)

// chords · piano
const piano = note(`<
  A@2 B C D E F G H I J K L M N O P Q A@2 R S Q I T U H I P V W Q X V Y D A@2 Z I AA E AB AC AD AE AF I AG AH AI AJ Z AK
  H AL AM AN D L Q E ~
>`.pickRestart({
  A: "[~@14 eb3@7 ~@7 bb3@2 ab3@2, ab2, ~@3 eb3 bb3@7 c4@2 eb3@3, ~ eb4@3, ~@2 ab3@5 ~]/2",
  B: "[ab3,c4,eb4]@6 ab2 ~@3 [bb3,c4,eb4,g4]@3 ~ [bb3,c4,eb4,g4] ~, ab2@5 ~@11", // Ab Cm7
  C: "[c4,eb4,f4,ab4]@6 f3 ~ [g3,c4,eb4]@8, f3@5 ~@11", D: "[ab3,eb4,f4] [ab3,db4,f4]",
  E: "bb3@5 ~ c4@9 ~, [ab2,ab3,eb4]", F: "[ab3,c4,eb4]@6 ab2 ~ [bb3,c4,eb4,g4]@5 ~ [bb3,c4,eb4,g4] ~, ab2@5 ~@11",
  G: "[c4,eb4,f4,ab4] [g3,c4,eb4]", H: "[ab3,eb4,f4]@8 [ab3,db4,f4]@6 eb3 ~, ~@8 eb3@5 ~@3",
  I: "c4@6 bb3@9 ~, [ab2,ab3,eb4]@15 ~", J: "[ab3,c4,eb4]@8 ~@2 [g3,bb3,eb4]@3 ~ [g3,bb3,eb4] ~",
  K: "[ab3,db4,f4]@8 [ab3,db4,f4]@6 eb3 ~, ~@8 eb3@5 ~@3", // Db
  L: "[ab3,c4,eb4]@6 ab2 ~ [bb3,eb4,g4]@6 ab2 ~, ab2@5 ~@3 ab2@5 ~@3", // Ab Eb
  M: "[ab3,eb4,f4]@8 ~@2 [ab3,db4,f4]@3 ~ [ab3,db4,f4] ~", N: "[ab3,c4,eb4] [g3,bb3,eb4]",
  O: "[ab3,db4,f4]@5 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@6 eb3 ~, ~@8 eb3@5 ~@3", // Db
  P: "[ab3,c4,eb4]@6 ab2 ~ [g3,bb3,eb4]@8, ab2@5 ~@11", // Ab Eb
  Q: "[ab3,eb4,f4]@6 db3 ~ [ab3,db4,f4]@6 eb3 ~, db3@5 ~@3 eb3@5 ~@3", // Fm7 Db
  R: "[ab3,c4,eb4]@8 [bb3,c4,eb4,g4]@6 g2 ~, ~@8 g2@5 ~@3", // Ab Cm7
  S: "[c4,eb4,f4,ab4]@5 ~ [c4,eb4,f4,ab4] ~ [g3,c4,eb4]@6 eb3 ~, ~@8 eb3@5 ~@3", // Fm7 Cm
  T: "[ab3,c4,eb4]@6 ab2 ~ [bb3,c4,eb4,g4]@6 g2 ~, ab2@5 ~@3 g2@5 ~@3", U: "ab4@6 g4@9 ~, [f3,f4,c5]@15 ~",
  V: "[ab3,db4,f4]@6 db3 ~ [ab3,db4,f4]@6 eb3 ~, db3@5 ~@3 eb3@5 ~@3", // Db
  W: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4] ~ [bb3,eb4,g4]@6 ab2 ~, ~@8 ab2@5 ~@3", // Ab Eb
  X: "[ab3,c4,eb4]@6 ab2 ~ [g3,bb3,eb4]@5 ~ [g3,bb3,eb4] ~, ab2@5 ~@11", // Ab Eb
  Y: "[ab3,c4,eb4]@8 [g3,bb3,eb4]@6 ab2 ~, ~@8 ab2@5 ~@3", // Ab Eb
  Z: "~@2 [ab3,db4,f4]@3 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@5 ~ [ab3,db4,f4] ~", // Db
  AA: "~@2 [ab3,db4,f4]@3 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@6 eb3 ~, ~@8 eb3@5 ~@3", // Db
  AB: "[ab3,db4,f4]@6 db3 ~ [ab3,db4,f4]@5 ~ [ab3,db4,f4] ~, db3@5 ~@11", // Db
  AC: "[ab2,ab3,c4,eb4]@4 [g2,g3,c4,eb4]@4 ~@2 [bb3,c4,e4,g4]@3 ~ [bb3,c4,e4,g4] ~", // Ab Cm C7
  AD: "[c4,eb4,f4,a4]@2 [bb2,db4,f4,ab4,bb4] [c3,bb3,c4,eb4,g4]", AE: "f4@6 eb4@9 ~, [db3,db4,ab4]@15 ~",
  AF: "[f4,ab4,db5]@6 [eb4,ab4,db5]@9 ~, eb3", AG: "[gb3,bb3,eb4]@6 [f3,bb3,eb4]@9 ~, ab2",
  AH: "eb4@5 ~ f4@9 ~, [db3,db4,ab4]", AI: "eb4@5 ~ e4@9 ~, [db3,db4,ab4]",
  AJ: "[ab3,c4,eb4]@6 ab2 ~ [g3,bb3,eb4]@6 ab2 ~, ab2@5 ~@3 ab2@5 ~@3", // Ab Eb
  AK: "[ab3,c4,eb4]@5 ~ [ab3,c4,eb4] ~ [g3,bb3,eb4]@8", AL: "~@2 [ab3,c4,eb4]@3 ~ [ab3,c4,eb4] ~ [g3,bb3,eb4]@8",
  AM: "~@2 [ab3,db4,f4]@3 ~ [ab3,db4,f4] ~ [ab3,db4,f4]@8", AN: "[ab3,c4,eb4]@8 ~@2 [bb3,eb4,g4]@3 ~ [bb3,eb4,g4] ~",
})).s("gm_piano").gain(0.14).pan(0.4)

// chords · electric guitar jazz · "Guitar"
const electric_guitar_jazz = note(`<
  A@2 B C D E F G H I J K L H M D J D N@2 O P H E Q R S T U S L D U K J D V@2 S I K E W X Y Z AA AB AC AD AE U D L AF M
  H AG H AH AI AB ~
>`.pickRestart({
  A: "[~@14 eb3 ab3, ab2@9 ~ ab2@7 ~ ab2@7 ~ ab2@4 ~@2, ~@2 eb3@9 ~ eb3@7 ~ eb3@7 ~@5, ~@4 ab3@9 ~ bb3@7 ~@11, ~@3 eb4@8 eb4@4 ~]/2",
  B: "~@6 ab3 ~@3 bb3@4 eb4 ~, [ab2,bb3] [g2,g4], ~ eb3@3 ~@4", C: "~@2 c4@4 f4 ~@3 g3@4 c4 ~, [f3,ab4] [eb3,eb4]",
  D: "~@6 f4@2 ~@6 db4 ~, db3 [db3,eb4], f4@3 ~@5, ~ ab3@3 ~ ab3@3, ~ db4 ~@2", // Dbsus2
  E: "~@3 bb3 c4 bb3 ab3 eb3, ~ ab2@7, ~@3 eb3@10 ~@3, ~@4 ab3@7 ~@5",
  F: "~@6 ab3 ~@7 g4@2, [ab2,bb3] g2, ~ eb3@3 g4@3 ~, ~@5 bb3@3, ~@3 eb4", // Absus2
  G: "~@3 ab4 ~@3 eb4, f3 eb3, ab4@3 ~@3 c4@2, ~ c4@3 ~ g3@3, ~@2 f4@2 eb4@3 ~",
  H: "~@2 ab3@4 db4 ~@7 db4 ~, [db3,f4] [db3,eb4], ~@5 ab3@3", // Db Dbsus2
  I: "~@6 bb3@3 ~ c4@5 ~, ab2@15 ~, c4@4 ab3@11 ~, ~@2 eb3@13 ~",
  J: "~@6 ab3 ~@7 g4@2, [ab2,bb3] ab2, ~ eb3@3 g4@3 ~, ~@5 bb3@3, ~@3 eb4", // Absus2
  K: "~@6 db4 ~@3 ab3@4 db4 ~, [db3,eb4] [eb3,f4], ~ ab3@3 ~@4", // Dbsus2 Ebsus2
  L: "~@6 c4@2 ~@2 bb3@4 eb4 ~, ab2 [ab2,g4], c4@3 ~@5, ~ eb3@3 ~@4, ~ ab3 ~@2", // Abmaj7
  M: "~@3 c4 ~@3 g4, ab2!2, c4@3 ~ g4@3 ~, ~ eb3@3 ~@2 eb4@2, ~@2 ab3@2 ~ bb3@3",
  N: "[~@14 c4@7 ~ eb3 f3 ab3@2 ~ ab3@3 ab3@2, ab2@9 ~ ab2@17 ~@5, ~@2 eb3@9 ~ eb3@8 ~@12, ~@2 bb3@5 ~@9]/2",
  O: "~@6 c4@2 ~@2 bb3@4 eb4 ~, ab2 [g2,g4], c4@3 ~@5, ~ eb3@3 ~@4, ~ ab3 ~@2", // G
  P: "~@2 c4@4 f4 ~@7 eb4@2, [f3,ab4] eb3, ~@4 eb4@3 ~, ~@5 g3@3, ~@3 c4", // Fm
  Q: "~@3 c4 ~@3 g4, ab2 g2, c4@3 ~ g4@3 ~, ~ eb3@3 ~@2 eb4@2, ~@2 ab3@2 ~ bb3@3",
  R: "~@6 f4 ~, f3@7 ~, ab4@4 f4@7 ~@5, ~ c4@3 ~ c4@2 ~, ~@6 ab4@9 ~",
  S: "~@6 f4@2 ~@2 ab3@4 db4 ~, db3 [eb3,f4], f4@3 ~@5, ~ ab3@3 ~@4, ~ db4 ~@2", // Ebsus2
  T: "bb3 ~@5 eb4@2, ab2, ~@2 eb4@7 ~ eb3@6, ~ ab3@3, ~@3 bb3@3 ~@2",
  U: "~@6 c4@2 ~@6 eb4 ~, ab2 ~, c4@3 ~@2 bb3@3, ~ eb3@3 [eb3,f4]@4, ~ ab3 ~@2", // Ebsus2
  V: "[ab2 ~@12 ab2 ~ bb3, bb3@3 c4@4 bb3@4 c4@4 ~, ~@2 eb3@9 ~ eb3@7 ~ eb3@7 ~ eb3@4, ~@4 ab2@5 ~ ab2@8 ab2@7 ~@7]/2",
  W: "~@6 db4 ~@7 f4@2, [db3,eb4] eb3, ~ ab3@3 f4@3 ~, ~@5 ab3@3, ~@3 db4", // Dbsus2
  X: "[ab2,c4]@2 [g2,eb4]@2 ~@3 e4, ~ gb3, ~@4 e4@3 ~, ~@5 g3@3, ~@3 c4", // Ab Cm
  Y: "~@3 a4 [bb2,db4]@2 [c3,eb4]@2, f3 ~, a4@3 ~@5, ~ c4@3 ~@4, ~ f4 ~@2", // Bbm Cm
  Z: "~@6 db4 ~, db3@7 ~, f4@4 db4@7 ~@5, ~ ab3@3 ~ ab3@2 ~, ~@6 f4@9 ~",
  AA: "~@6 db4 ~, eb3@7 ~, f4@4 db4@7 ~@5, ~ ab3@3 ~ ab3@2 ~, ~@6 f4@9 ~",
  AB: "~@4 ab3@2 bb3@9 ~, ab2@15 ~, bb3 ~@3, ~@2 eb3@7 ~@7",
  AC: "f4 ~@5 bb4@2, ab2, ~@2 bb4@7 ~ bb3@6, ~ eb4@3, ~@3 f4@3 ~@2",
  AD: "~@3 eb4 f4 eb4 db4 ab3, ~ db3@7, ~@3 ab3@10 ~@3, ~@4 db4@7 ~@5",
  AE: "~@6 db4 ~, db3@7 ~, e4@4 db4@7 ~@5, ~ ab3@3 ~ ab3@2 ~, ~@6 e4@9 ~",
  AF: "~@3 f4 ~@3 f4, db3 eb3, f4@3 ~ f4@3 ~, ~ ab3@3 ~ ab3@3, ~ db4 ~ db4",
  AG: "~@2 eb3@4 ab3 ~@7 g4@2, [ab2,c4] ab2, ~@4 g4@3 ~, ~@5 bb3@3, ~@3 eb4", // Ab
  AH: "~@2 eb3@4 ab3 ~@3 bb3@4 eb4 ~, [ab2,c4] [ab2,g4]", // Ab Abmaj7
  AI: "~@2 ab3@4 db4 ~@7 f4@2, [db3,f4] eb3, ~@4 f4@3 ~, ~@5 ab3@3, ~@3 db4", // Db
})).s("gm_electric_guitar_jazz").gain(0.21).pan(0.6)

// bass · electric bass finger · "Bass"
const bass_2 = note(`<
  ~@2 A B C D A B E F G H G I G H G J K@2 A B C D A B C F G H G L G H G J M N O P O P O Q R S T D@2 U V G H G L G H G J
  M W X ~
>`.pickRestart({
  A: "ab3 [g3,bb3]", B: "[f3,ab3]@8 [eb3,g3]@4 g3 ab3@3", C: "ab3!2 ab3@2", D: "ab3", E: "ab3!2", F: "ab3@3 eb2",
  G: "ab2@7 ab2 ab2@4 ab2@4", H: "db2@8 eb2@7 eb2", I: "db2@7 db2 eb2@4 eb2 f2@3", J: "db2@7 db2 eb2@4 eb2@4",
  K: "[ab2@7 ~]/2", L: "db2@8 eb2@4 eb2 f2@3", M: "ab2", N: "ab2@4 ab2@4 ab2@4 bb2 c3@3", O: "db3@3 db3 eb3@2 eb3@2",
  P: "ab2@6 ab2@2 ab2@4 bb2 c3@3", Q: "ab2 g2 gb2@2", R: "f2@2 [bb2,f3] [c3,g3]", S: "[db3,ab3]", T: "[eb3,ab3]",
  U: "ab3!4", V: "ab3@4 ab3@4 ab3@4 eb3 f3@3", W: "db3 eb3", X: "[ab2,eb3]",
})).s("gm_electric_bass_finger").gain(0.31)

// bass · electric bass finger · "Bass"
const bass_3 = note("<~@4 A ~@3 A ~@13 A ~@3 A ~@22 B C ~@12>".pickRestart({
  A: "db3 eb3", B: "db3", C: "db3 ~",
})).s("gm_electric_bass_finger").gain(0.31)

// other · synth strings 1 · "Strings"
const synth_strings_1 = note(`<
  ~ A B C D E F G H I@3 J@4 K@2 L ~ M N O P Q R S T@3 U@4 V@2 L ~ W X@2 Y Z AA AB AC AD AE AF AG@4 AH@6 AI@2 AJ ~
>`.pickRestart({
  A: "ab5@3 bb5@2 c6@3 bb5@3 c6@2 f6@3", B: "~@4 c5!2 c5@4 c5@4 c5!2, eb6", C: "c5 ab4!3 ab4@4 ab4@3 bb4 ~@4",
  D: "~@6 eb4!2 ab4!4 ab4@2 ab4@2", E: "~ f4 eb4@2 ~@12", F: "~@6 c5 eb5 eb5@2 eb5 c5 eb5 c5 eb5 c5",
  G: "f5@2 c5@3 bb4 ab4 f4 bb4@4 c5@2 ~@2", H: "~@5 f4!2 ab4 bb4@2 ab4@2 ab4@2 ab4@2",
  I: "[ab4@8 ~@5 eb5@2 eb5@2 bb4 c5@10 ~ eb5@2 eb5@2 eb5 db5@4 db5 c5@2 bb4 ab4@3 ab4@2 ~]/3",
  J: "[~@2 bb4 c5 c5@5 bb4 ab4@18 ~ f5@2 eb5@2 c5 ab4@10 ~ eb5@2 eb5@2 eb5 db5@4 db5 c5@2 bb4 ab4@3 ab4@2 ~]/4",
  K: "[~@2 bb4 c5 c5@5 bb4 ab4@14 c5 ab4@5 ab4@2, ~@25 bb4 ~@6]/2", L: "ab4 ab4@15, ~ bb4 ~@14",
  M: "~@4 c5@2 c5 c5@2 c5@2 c5@4 c5", N: "c5@5 ab4!4 bb4@3 ~@4", O: "~@6 f4!2 ab4@3 ab4 ab4@2 bb4 ab4",
  P: "f4 eb4@2 f4@2 ~@11", Q: "~@5 ab4 c5 eb5 eb5@3 eb5!3 ~ c5", R: "f5@6 c5@2 bb4 ab4 ab4@2 bb4 c5@3",
  S: "~@6 f4 ab4 bb4 [bb4,c5] ab4@4 bb4@2", // Bbsus2
  T: "[bb4@2 ab4@10 ~ f5@2 eb5@2 bb4 c5@10 ~ eb5@2 eb5@2 db5 db5@4 db5 c5@2 bb4 ab4@3 ab4@2 ~]/3",
  U: "[~ f5@2 c5 eb5@22 ~@3 f5@2 eb5@2 c5 ab4@10 ~ eb5@2 eb5@2 db5 db5@4 db5 c5 bb4 ab4@3 ab4@2 ~@2]/4",
  V: "[~@2 bb4 c5 c5@5 bb4 ab4@13 bb4 [bb4,c5] ab4@5 ab4@2]/2", W: "~@5 ab4!3 f5@4 f5 eb5!2 bb4",
  X: "[c5@2 eb5@6 ~@4 c5@2 ab4@6 ~@2 ab5!4 f5 eb5@3 f5@2]/2", Y: "[ab4,c5] ab4@2 ~@5",
  Z: "~@5 db5!3 f5@2 f5@2 f5@2 c5 db5", AA: "[c5,eb5]@3 c5 eb5@3 f5 c5@8", AB: "~@5 bb4!2 c5 db5 db5@3 ~ eb5 ~ db5",
  AC: "c5@2 bb4 ab4@5 ~@6 bb4@2", AD: "bb4@3 c5 ~@10 c5!2", AE: "bb4 ab4@8 ~@7", AF: "~@14 c5 bb4",
  AG: "[c5 f4 ab4@27 f5@2 eb5@2 bb4 c5@10 ~ eb5@2 eb5@2 db5 db5@4 db5 c5@2 bb4 ab4@3 ab4@2 ~]/4",
  AH: "[~ f5@2 c5 eb5@24 ~ f5@2 eb5@2 c5 ab4@10 ~ eb5@2 eb5@2 db5 db5@4 db5 c5 bb4 ab4@3 ab4@6 bb4 c5 c5@5 bb4 ab4@13 bb4 [bb4,c5] ab4@5 ab4@2]/6", // Bbsus2
  AI: "[ab4 ab4@24 ~@5 ab4@2, ~ bb4 ~@30]/2", AJ: "bb4 ab4@7",
})).s("gm_synth_strings_1").gain(0.3).pan(0.6)

// drums · kick
const kick = s("bd").struct("<[x!2]!31 x [x!2]!28 x [x!2] ~>").gain(0.25)

// drums · kick · soft notes
const kick_soft = s("bd").struct(`<
  A@2 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A@3 ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A
  ~@3
>`.pickRestart({
  A: "~@7 x",
})).gain(0.04)

// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!31 ~ [~ x ~ x]!28 ~@3>").gain(0.18)

// drums · snare
const snare = s("sd").struct("<~@31 [x!3 ~ x ~ x ~ x ~ x ~ x ~@3] ~@28 [x ~@7 x ~@2 x!3 ~@2] [x!5 ~@3] ~>").gain(0.25)

// drums · clap
const clap = s("cp").struct("<[~ x ~ x]!61 [~ x ~@2] ~>").gain(0.04)

// drums · low tom
const low_tom = s("lt").struct("<~@60 [~@7 x] ~@2>").gain(0.25)

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

// drums · hihat · soft notes
const hihat_soft = s("hh").struct(`<
  ~ A@3 ~@3 A ~ A@2 ~ A ~@5 A@2 ~ A@2 ~ A@2 ~ A@3 ~@3 A@2 ~@2 A@2 ~@2 A ~@3 A@3 ~@2 A@2 ~@5 A ~ A ~@3
>`.pickRestart({
  A: "~ x ~@6",
})).gain(0.04)

// drums · mid tom
const mid_tom = s("mt").struct("<~@60 [~@5 x ~@10] ~@2>").gain(0.25)

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

// drums · high tom
const high_tom = s("ht").struct("<~@60 [~ x ~@6] ~@2>").gain(0.25)

// drums · crash
const crash = s("cr").struct("<x ~@31 x ~@30>").gain(0.25)

// drums · tambourine
const tambourine = s("tb").struct("<~@31 [~@4 x!2 ~@2] ~@28 [~@4 x!2 ~@2] [~ x] ~>").gain(0.04)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<[x!8]!61 [x!5 ~@3] ~>").gain(1.27)

stack(
  bass, piano, electric_guitar_jazz, bass_2, bass_3, synth_strings_1, kick, kick_soft, rim, snare, clap, low_tom, hihat,
// … 2 more lines

More by Lionel Richie