Strudelify
Tell Her About It cover art

1983 · An Innocent Man

Tell Her About It

Billy Joel

KeyB♭ majorTempo181 bpm
0:00/0:00
// Tell Her About It — Billy Joel
// 181 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 8 trumpet (copy of ch 9 trombone)
// note: Full arrangement: all 181 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(181/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 · electric bass finger
const bass = note(`<
  ~@2 A B C D A B C D A B C D A B C E F G H I J@2 H K A B C D A B C E F G H I L M N O P Q R S T@2 U@2 P Q R S T@2 V@2 A
  B C D A B C D A B C D A B C E F G H I L M N O P Q R S T@2 U@2 P Q R S T@2 W X Y Z AA@2 AB AC AD@2 Y Z AA@2 AB AC AE AF
  A B C D A B C E F G H I L M N O P Q R S T@2 U@2 P Q R S T@2 V@2 AG AH AI@2 AG AH AI@2 AG AH AI@2 AG AH AI@2 AG AH AI@2
  AG AH AI@2 AG AH AI@2 AG AH AI@2 AJ B AK
>`.pickRestart({
  A: "bb1@3 ~ bb1@3 ~@9", B: "~@7 bb1 f1@3 g1 bb1@3 f1", C: "ab1@3 ~ ab1@3 ~@9", D: "~@7 bb1 f1@3 g1 bb1@2 ~ g1",
  E: "~@7 bb1 f1@3 g1 bb1@2 ~ c2", F: "d2@3 ~ d2@3 ~ d2@3 ~@4 ab1", G: "db2@3 ab1 db2@3 ab1 db2@5 ~@3",
  H: "c2@3 ~ c2@3 ~ c2@3 ~@4 c2", I: "~@3 c2 ~@3 g1 c2@3 g1 d2@3 a1",
  J: "[eb2@3 ~ eb2@3 ~ eb2@5 ~@2 d2@3 ~ d2@3 ~ a1 d2@8]/2", K: "c2@3 ~ c2@3 ~ f1@3 ~ f1@3 ~",
  L: "eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~", M: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~", N: "c2@3 ~ c2@3 ~ c2@3 ~ c2@3 ~",
  O: "bb1@3 ~ bb1@3 ~ c2@3 ~ c2@3 ~", P: "f1@3 ~ f1@3 ~ f1@7 ~", Q: "f1@3 f1 ~@3 f1 f1@3 ~ f1@3 ~",
  R: "a1@3 ~ a1@3 ~ a1@7 ~", S: "a1@3 a1 ~@3 a1 a1@3 ~ a1@3 c2", T: "[d2@3 ~ d2@3 ~ d2@5 ~@2 c2@4 ~ c2@3 c2 c2@7 ~]/2",
  U: "[g1@3 ~ g1@3 ~ g1@5 ~@2 c2@3 ~ c2 ~@3 c2 c2@3 c2 c2@4]/2",
  V: "[g1@3 ~ g1@3 ~ g1@5 ~@2 c2@3 ~ c2 c2@3 ~ c2@3 c2 c2@4]/2", W: "g1@3 ~ g1@3 ~ g1@5 ~@3", X: "c3@7 ~ bb2@7 ~",
  Y: "ab2", Z: "f2", AA: "[gb2@3 ab2]/2", AB: "bb2", AC: "eb2", AD: "[f2@25 ~@2 g2@5]/2",
  AE: "c3@3 ~ c3@3 ~ c3@3 ~ c3@3 ~", AF: "f2@3 ~ f2@3 ~ f2@3 ~ f2@3 ~", AG: "bb1@3 ~ bb1@3 ~ bb1@5 ~@2 bb1",
  AH: "g1 ~@2 g1 ~@3 g1!2 ~@2 g1!2 ~@3", AI: "[ab1 ~@3 ab1 ~@3 ab1@7 eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2@3 ~ eb2]/2",
  AJ: "bb1 ~@3 bb1 ~@11", AK: "ab1 ~@3 ab1 ~@3 eb2@3 ~ ab1 ~@2 bb1",
})).s("gm_electric_bass_finger").gain(0.45)

// chords · piano
const piano = note(`<
  ~@2 A@2 B C A@2 B D E@2 F G H@2 I@3 J K@2 L M N O E@2 F P H@2 I@3 J K@2 L M N Q R@2 S@2 T U V W X@2 S@2 T U Y Z AA@2
  AB C A@2 B D E@2 F P H@2 I@3 J K@2 L M N Q R@2 S@2 T U V W X@2 S@2 T U Y Z AC AD AE@2 AF AG AH@2 AC AD AE@2 AF AI AJ
  AK E@2 F P H@2 I@3 J K@2 L M N Q R@2 S@2 T U V W X@2 S@2 T U Y Z AL AM AN AO AL AM AN AO AL AM AN AO AL AM AN AO AL AM
  AN AO AL AM AN AO AL AM AN AO AL AM AN AO AP@2 AQ
>`.pickRestart({
  A: "[[bb2,bb3,d4,f4]@31 ~]/2", B: "[ab2,ab3,c4,eb4]@15 ~", C: "[eb2,g3,bb3,eb4]@15 ~",
  D: "eb2@9 ~@2 eb2 g2@3 ab2, [g3,bb3,eb4]", E: "[[f3,bb3,d4]@31 ~]/2", F: "[ab3,c4,eb4]@15 ~",
  G: "[g3,bb3,eb4]@6 ~ [eb5,g5,bb5]@8 ~", H: "[[f3,bb3,d4]@14 ~ [bb3,d4,f4]@16 ~]/2",
  I: "[[eb3,ab3,c4]@7 ~ [ab3,c4,eb4]@6 ~@6 g4@3 ~ bb4@3 ~ eb5@3 ~ [f4,a4,d5]@15 ~, ~@5 [g3,bb3,eb4]@6 ~@5]/3", // Ab Dm Eb
  J: "[f4,ab4,db5]@15 ~", K: "[[eb4,g4,c5]@19 ~ [c4,eb4,g4]@3 ~ [eb4,g4,bb4]@3 ~ [f4,a4,c5]@3 ~]/2",
  L: "[eb4,gb4,bb4]@15 ~", M: "[d4,f4,a4]@15 ~", N: "[c4,eb4,g4]@15 ~", O: "[c2,g3,c4,eb4]@7 ~ [f2,a3,c4,eb4]@7 ~",
  P: "[g3,bb3,eb4]@15 ~", Q: "[bb2,f3,bb3,d4]@7 ~ [c3,g3,c4,e4]@7 ~", R: "[f3,a3,c4]/2", S: "[a3,c4,e4]/2",
  T: "[a3,d4,f4]", U: "[a3,c4,f4]", V: "[bb3,d4,f4]", W: "[c4,e4,g4]", X: "[a3,c4,f4]/2", Y: "[bb3,d4,f4]@15 ~",
  Z: "[c3,bb3,d4,f4]@7 ~ [c3,g3,c4,e4]@7 ~", AA: "[[bb3,d4,f4]@29 ~@3, bb2@31 ~]/2",
  AB: "[ab3,c4,eb4]@13 ~@3, ab2@15 ~", AC: "ab2", AD: "f2", AE: "[gb2@3 ab2]/2", AF: "bb2", AG: "eb2",
  AH: "[f2@25 ~@2 g2@5]/2", AI: "eb3", AJ: "c3@3 ~ c3@3 ~ c3@3 ~ c3@3 ~",
  AK: "[a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~ [a3,c4,f4]@3 ~", AL: "[f3,bb3,d4]", AM: "[g3,bb3,d4]",
  AN: "[ab3,c4,eb4]", AO: "[g3,bb3,eb4]", AP: "[[bb3,d4,f4]@7 ~]/2",
  AQ: "[c4,eb4,ab4]@7 ~ [bb4,eb5,g5]@5 ~@2 [d5,f5,bb5]", // Ab Eb Bb
})).s("gm_piano").gain(0.4)

// chords · electric guitar clean
const electric_guitar_clean = note(`<
  ~@2 A B C D A B C D E@2 F G E@2 F G H I J K L M N O E@2 F G E@2 F G H I J K L M N P Q@2 R@2 S T U V Q@2 R@2 S T U P A
  B C D A B C D E@2 F G E@2 F G H I J K L M N P Q@2 R@2 S T U V Q@2 R@2 S T U P W X Y@2 Z AA AB AC W X Y@2 Z AA AD AE A
  B C D A B C D H I J K L M N P Q@2 R@2 S T U V Q@2 R@2 S T U P E U F G E U F G E U F G E U F G E U F G E U F G E U F G
  E U F G AF AG AH
>`.pickRestart({
  A: "f3 ~@3 g3 ~@3 f3 ~@3 g3 ~@2 f3", B: "~@3 f3 g3 ~@3 f3 ~@3 g3 ~@3", C: "eb3 ~@3 f3 ~@3 eb3 ~@3 f3 ~@2 eb3",
  D: "~@3 eb3 f3 ~@3 eb3 ~@3 f3 ~@3", E: "~@4 [f3,bb3,d4] ~@7 [f3,bb3,d4] ~@3",
  F: "~@4 [ab3,c4,eb4] ~@7 [ab3,c4,eb4] ~@3", G: "~@4 [g3,bb3,eb4] ~@7 [g3,bb3,eb4] ~@3",
  H: "~@4 [f3,a3,d4] ~@7 [f3,a3,d4] ~@3", I: "~@4 [f3,ab3,db4] ~@7 [f3,ab3,db4] ~@3",
  J: "~@4 [eb3,g3,c4] ~@7 [eb3,g3,c4] ~@3", K: "~@4 [eb3,g3,c4] ~@7 [f3,a3,d4] ~@3",
  L: "~@4 [gb3,bb3,eb4] ~@7 [gb3,bb3,eb4] ~@3", M: "~@4 [a3,d4,f4] ~@7 [a3,d4,f4] ~@3",
  N: "~@4 [g3,c4,eb4] ~@7 [g3,c4,eb4] ~@3", O: "~@4 [g3,c4,eb4] ~@7 [a3,c4,f4] ~@3",
  P: "~@4 [f3,bb3,d4] ~@7 [g3,c4,e4] ~@3", Q: "~@4 [f3,a3,c4] ~@7 [f3,a3,c4] ~@3",
  R: "~@4 [e3,a3,c4] ~@7 [e3,a3,c4] ~@3", S: "~@4 [d3,f3,a3] ~@7 [d3,f3,a3] ~@3",
  T: "~@4 [c3,f3,a3] ~@7 [c3,f3,a3] ~@3", U: "~@4 [g3,bb3,d4] ~@7 [g3,bb3,d4] ~@3",
  V: "~@4 [g3,c4,e4] ~@7 [g3,c4,e4] ~@3", W: "~@4 [c4,eb4,ab4] ~@7 [c4,eb4,ab4] ~@3",
  X: "~@4 [c4,f4,ab4] ~@7 [c4,f4,ab4] ~@3", Y: "~@4 [db4,gb4,bb4] ~@7 [db4,gb4,bb4] ~@3",
  Z: "~@4 [db4,f4,bb4] ~@7 [db4,f4,bb4] ~@3", AA: "~@4 [eb4,g4,bb4] ~@7 [eb4,g4,bb4] ~@3",
  AB: "~@4 [f4,ab4,c5] ~@7 [f4,ab4,c5] ~@3", AC: "~@4 [f4,ab4,c5] ~@7 [eb4,g4,bb4] ~@3",
  AD: "~@4 [bb3,e4,g4] ~@7 [bb3,e4,g4] ~@3", AE: "~@4 [c4,f4,a4] ~@7 [c4,f4,a4] ~@3",
  AF: "f4 ~@3 g4 ~@3 f4 ~@3 g4 ~@2 f4", AG: "~@3 f4 g4 ~@3 f4 ~@3 g4 ~@3", AH: "f4 ~@3 g4 ~@3 eb4 ~@2 eb4 g4 ~@2 bb4",
})).s("gm_electric_guitar_clean").gain(0.3)

// other · alto sax
const alto_sax = note(`<
  ~@2 A@2 B C D@2 B C ~@8 E F G H I J K L ~@3 M@3 N ~ E F O@2 P Q R S ~ T U V@2 W X Y Z T AA AB@2 AC AD AE A@2 B C D@2 B
  C ~ AF@2 AG@3 AH ~ E F G H P Q AI S ~ T U V@2 W X AJ Z T U AB@2 AC AK AL ~@15 AM ~ AN@2 AG@3 AH ~ E F AO@2 P Q AP AQ ~
  T U AR@2 W X Y Z T U AB@2 AC AS AT ~@8 AU AV@3 AU ~@2 AW@3 AX ~ AY@2 AX AZ BA BB@3 BA BB@3 BC@2 BD
>`.pickRestart({
  A: "[~@12 [bb3,bb4]@19 ~]/2", B: "[bb3,bb4] ~ [ab3,ab4] ~ [ab3,ab4] ~@3", C: "~@4 [bb3,bb4]@2 ~@5 [g3,g4]@2 ~@3",
  D: "[[bb3,bb4]@31 ~]/2", E: "d4", F: "db4", G: "c4", H: "~ c4 db4 d4", I: "eb4", J: "d4@15 ~",
  K: "~@4 [g3,g4] ~@3 [bb3,bb4]@3 [c4,c5] ~@3 [bb3,bb4]", L: "[d4,d5] ~@3 [c4,c5] ~@3 [bb3,bb4]@3 [g3,g4] ~@4",
  M: "[~@7 [bb3,bb4]@27 ~@2 [d4,f4,bb4]@2 ~@5 [d4,f4,bb4]@2 ~@3]/3", N: "[c4,eb4,bb4]@3 ~ [c4,eb4,ab4]@2 ~@10",
  O: "[c4@19 ~ c4@4 db4@4 d4@4]/2", P: "[eb3,eb4]", Q: "[d3,d4]", R: "[c3,c4]", S: "[bb3,d4,f4]@7 ~ [c4,e4,g4]@7 ~",
  T: "[c3,c4]@3 [d3,d4] ~@3 [f3,f4] ~@3 [a3,a4] ~@3 [f3,f4]", U: "[e4,a4,c5] ~ [e4,a4,c5] ~ [e4,a4,c5] ~@3",
  V: "[~@4 a3@3 ~ g3@3 f3 c3@2 ~ d3@17]/2", W: "c3@15 ~", X: "[d3,g3,bb3] ~ [d3,g3,bb3] ~ [d3,g3,bb3] ~@3",
  Y: "~@3 d3 c3 ~@2 c3 a2 ~@3 g2 ~@3", Z: "f2@15 ~", AA: "[e4,a4,c5] ~@3 [e4,a4,c5] ~@3 [e4,a4,c5] ~@7",
  AB: "[~@4 a3@3 ~ g3@3 f3 c3 ~@2 [d2,d3]@17]/2", AC: "[c2,c3]@15 ~", AD: "[d3,f3,bb3]@13 ~@2 [d3,f3,bb3]",
  AE: "[d3,f3,bb3] ~@2 [d3,f3,bb3]!2 ~@11", AF: "[~@8 [f3,f4]@3 [g3,g4] [bb3,bb4] ~@2 [c4,c5]@5 [bb3,bb4] ~@11]/2",
  AG: "[~@7 [bb3,bb4]@27 ~@2 [d4,f4,bb4] ~@6 [d4,f4,bb4] ~@4]/3", AH: "[c4,eb4,bb4]@4 [c4,eb4,ab4] ~@11",
  AI: "[c3,c4]@15 ~", AJ: "~@3 d3 c3@2 ~ c3 a2@2 ~@2 g2 ~@3", AK: "[d3,f3,bb3]@13 ~@3",
  AL: "[d3,f3,bb3]@2 ~@2 [d3,f3,bb3]@3 ~@9", AM: "[f3,f4] ~ [f3,f4] ~ [f3,f4] ~ [f3,f4] ~",
  AN: "[~@8 [f3,f4]@3 [g3,g4] [bb3,bb4] ~@2 [c4,c5]@4 [c4,db4,c5,db5] [bb3,bb4] ~@11]/2", // F G Bb C Dbmaj7 Bb
  AO: "[c4@9 ~ c4@2 db4@2 d4@2]/2", AP: "[c3,c4]@7 ~", AQ: "[bb3,d4,f4]@7 ~ [c4,e4,g4]@6 ~@2",
  AR: "[~@4 a3@3 ~ g3@3 f3 c3 ~@2 d3@17]/2", AS: "[d3,f3,bb3]@13 ~@2 [c3,f3,bb3]",
  AT: "[c3,f3,bb3]@3 [c3,f3,bb3] [c3,f3,bb3]@3 ~@9", AU: "[d4,f4,bb4] ~ [d4,f4,bb4] ~ [d4,f4,bb4] ~@3",
  AV: "[~@3 f3 g3@2 ~ bb3@41]/3", AW: "[~@3 [f3,f4] [g3,g4]@2 ~ [bb3,bb4]@41]/3",
  AX: "[c4,eb4,bb4] ~ [c4,eb4,ab4] ~ [c4,eb4,ab4] ~@3", AY: "[[bb3,bb4]@3 [f3,f4] [g3,g4]@3 [bb3,bb4]@25]/2",
  AZ: "~@11 [f3,f4] [g3,g4]@3 [f3,f4]", BA: "[d4,f4,bb4] ~ [d4,f4,bb4] ~ [f4,bb4] ~@3",
  BB: "[~@3 [f3,f4] [g3,g4]@3 [bb3,bb4]@40 ~]/3", BC: "[~@15 [d4,f4,bb4]@16 ~]/2",
  BD: "[c4,eb4,bb4] ~@3 [c4,eb4,ab4] ~@3 [bb3,eb4,g4] ~@6 [d4,f4,bb4]", // Cm7 Ab Eb Bb
})).s("gm_alto_sax").gain(0.4)

// chords · brass section
const brass_section = note(`<
  ~@2 A@2 B C D@2 B C ~@14 E F ~@3 G@3 H ~@8 I ~ J K ~@3 L M N J K ~@3 O P A@2 B C D@2 B C ~ Q@2 R@3 H ~@8 I ~ J K ~@3 L
  S N J K ~@3 T U ~@15 V ~ W@2 R@3 H ~@8 I ~ J K ~@3 L M N J K ~@3 O P ~@8 X Y@3 X ~@2 Z@3 AA ~ AB@2 AA AC AD AE@3 AD
  AE@3 AF@2 AG
>`.pickRestart({
  A: "[~@3 [bb4,d5,f5,bb5]@5]/2", B: "[bb4,c5,eb5,bb5] ~ [ab4,c5,eb5,ab5] ~ [ab4,c5,eb5,ab5] ~@3",
  C: "~@4 [bb4,d5,f5,bb5]@2 ~@5 [g4,bb4,eb5,g5]@2 ~@3", D: "[bb4,d5,f5,bb5]/2",
  E: "~@4 [g3,g4]@2 ~@2 [bb3,bb4]@2 ~ [c4,c5] ~@3 [bb3,bb4]", // G Bb C Bb
  F: "[d4,d5]@2 ~@2 [c4,c5]@2 ~@2 [bb3,bb4]@2 ~ [g3,g4] ~@4", // D C Bb G
  G: "[~@7 [bb3,bb4]@26 ~@3 [d4,f4,bb4] ~@6 [d4,f4,bb4] ~@4]/3", H: "[c4,eb4,bb4]@4 [c4,eb4,ab4] ~@11",
  I: "[d4,f4,bb4]@7 ~ [e4,g4,c5]@7 ~", J: "[c4,c5]@3 [d4,d5] ~@3 [f4,f5] ~@3 [a4,a5] ~@3 [f4,f5]",
  K: "[e5,a5,c6] ~ [e5,a5,c6] ~ [e5,a5,c6] ~@3", L: "[bb3,d4,g4] ~ [bb3,d4,g4] ~ [bb3,d4,g4] ~@3",
  M: "~@3 d4 c4 ~@2 c4 a3 ~@3 g3 ~@3", N: "f3@15 ~", O: "[d4,f4,bb4]@13 ~@2 [d4,f4,bb4]",
  P: "[d4,f4,bb4] ~@2 [d4,f4,bb4]!2 ~@11", Q: "[~@8 [f3,f4]@3 [g3,g4] [bb3,bb4] ~@2 [c4,c5]@5 [bb3,bb4] ~@11]/2",
  R: "[~@7 [bb3,bb4]@27 ~@2 [d4,f4,bb4] ~@6 [d4,f4,bb4] ~@4]/3", S: "~@3 d4 c4@2 ~ c4 a3@2 ~@2 g3@2 ~@2",
  T: "[d4,f4,bb4]@13 ~@3", U: "[d4,f4,bb4]@3 ~ [d4,f4,bb4]@3 ~@9", V: "[f4,f5] ~ [f4,f5] ~ [f4,f5] ~ [f4,f5] ~",
  W: "[~@8 [f3,f4]@3 [g3,g4] [bb3,bb4] ~@2 [c4,c5]@4 [c4,db4,c5,db5] [bb3,bb4] ~@11]/2", // F G Bb C Dbmaj7 Bb
  X: "[d5,f5,bb5] ~ [d5,f5,bb5] ~ [d5,f5,bb5] ~@3", Y: "[~@3 [f3,f4] [g3,g4]@2 ~ [bb3,bb4]@41]/3",
  Z: "[~@3 [f4,f5] [g4,g5]@2 ~ [bb4,bb5]@41]/3", AA: "[c5,eb5,bb5] ~ [c5,eb5,ab5] ~ [c5,eb5,ab5] ~@3",
  AB: "[[bb4,bb5]@3 [f4,f5] [g4,g5]@3 [bb4,bb5]@25]/2", AC: "~@11 [f4,f5] [g4,g5]@3 [f4,f5]",
  AD: "[d5,f5,bb5] ~ [d5,f5,bb5] ~ [f5,bb5] ~@3", AE: "[~@3 [f4,f5] [g4,g5]@3 [bb4,bb5]@40 ~]/3",
  AF: "[~@15 [d5,f5,bb5]@16 ~]/2", AG: "[c5,eb5,bb5]@2 ~@2 [c5,eb5,ab5]@2 ~@2 [bb4,eb5,g5]@2 ~@5 [d5,f5,bb5]",
})).s("gm_brass_section").gain(0.4)

// drums · kick
const kick = s("bd").struct("<~@2 [x!4]!178 [x ~@3 x ~@3 x ~@3 x ~@2 x]>").gain(0.45)

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

// drums · hihat
const hihat = s("hh").struct("<[x!2] [x!4]!177 [~ x ~ x]!2 [~@4 x ~@7 x ~@2 x]>").gain(0.35)

// drums · crash
const crash = s("cr").struct(`<
  ~@34 A ~@7 A ~@7 A ~@7 A ~@23 A ~@7 A ~@23 A ~@7 A ~@7 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@5 B
>`.pickRestart({
  A: "x", B: "~@15 x",
})).gain(0.35)

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

stack(bass, piano, electric_guitar_clean, alto_sax, brass_section, kick, snare, hihat, crash, tambourine)

More by Billy Joel