Strudelify
Tutti Frutti cover art

Here's Little Richard

Tutti Frutti

Little Richard

KeyF majorTempo188 bpm
0:00/0:00
// Tutti Frutti — Little Richard
// 188 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 118 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(188/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 · acoustic bass · "ACOU BASS"
const bass = note(`<
  ~ A B C D E F G B H I J ~ A B K B L M N B O P@2 ~ Q B K B R S N B T E U ~ A B K B L M N B O P@2 ~ Q B K B R S N B T E
  U ~ A V K W X Y Z V AA AB AC B K B K B R S N B T E U ~ A B K B L M N B O P@2 ~ Q B K B R S N B T E U ~ P ~@8
>`.pickRestart({
  A: "~ f1 a1 c2", B: "d2 f2 d2 c2", C: "a1@3 ~ f1@3 ~ a1@4 c2@4, g1 ~@15",
  D: "d2@4 f2@3 ~ eb2@3 ~ d2@3 ~, ~@4 a2 ~@11", E: "c2@3 ~ bb1@4 d2@4 f2@4", F: "g2@3 ~ bb2@3 ~ g2@3 ~ f2@3 ~",
  G: "d2@3 ~ f1@4 a1@4 c2@3 ~", H: "bb1@3 ~ c2@3 ~ e2@3 ~ g2@4", I: "c2@3 ~ bb1@4 d2@4 f2@3 ~", J: "bb2@3 ~ f1@3 ~@9",
  K: "a1 f1 a1 c2", L: "a1 bb1 ab1 g1", M: "f1 bb1 ab1 g1", N: "f1@3 ~ f1@4 a1@4 c2@4", O: "a1@2 f1 ~@5",
  P: "~@2 f1 ~@5", Q: "~@3 [a1,c2] f1@4 a1@4 c2@4", R: "a1 bb1 d2 f2", S: "d2 bb1 ab1 g1", T: "a1 c2 e2 g2",
  U: "d2@4 f1@3 ~@9", V: "d2@4 f2@3 ~ d2@3 ~ c2@3 ~", W: "d2@3 ~ eb2@4 d2@3 ~ c2@4", X: "a1 bb1 c2 d2",
  Y: "f2@4 bb2@3 ~ ab2@4 g2@3 ~", Z: "f2 f1 a1 c2", AA: "a1@4 c2@4 e2@4 g2@3 ~", AB: "a2@4 bb1@4 d2@3 ~ f2@4",
  AC: "g2@4 f1@4 a1@4 c2@3 ~",
})).s("gm_acoustic_bass").gain(0.5)

// chords · piano · "A.PIANO"
const piano = note(`<
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z U@2 AA AB AC AD AE AF K AG AH AI AJ AK AL AM AN AO AK AP AQ AR AS
  AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS@2 BT BU BV BW BX BY BZ CA CB CC CD CE CF
  CG CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU CV CW CX CY ~ CZ@8 ~
>`.pickRestart({
  A: "~@11 g7 [c7,d7,e7,f7] [d6,e6,f6,g6,a6,b6] [g5,a5,b5,c6] [b4,c5,d5,e5,f5]", // Dm7 Em7 Cmaj7 Bdim
  B: "[d4,e4,f4,g4,a4] [f3,g3,a3,b3,c4] [b2,c3,d3,e3] [e2,f2,g2,a2] [b1,c2,d2,f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Dm F Cmaj7 Fmaj7 Bm7b5 F Bb Fdim …
  C: "[bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Fdim F
  D: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [bb4,d5] ~ [f4,ab4,b4] ~ [a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Fdim Am F
  E: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [bb4,d5] ~ [f4,ab4,b4] ~ f4 [a4,c5] [f4,a4,c5] ~, ~@4 f4 ~@3", // Bb Fdim F Bb Fdim Am F
  F: "[bb4,d5] ~ [f4,ab4,b4] ~ [d5,f5] [bb4,gb5] [bb4,d5,f5] ~ [bb4,eb5,g5] ~ [db5,e5,f5] ~ [d5,f5] ~ [bb4,d5,f5] ~, ~@5 bb4 ~@2", // Bb Fdim Dm Ebm Bb Eb Db Dm …
  G: "[bb4,eb5,g5] ~ [db5,e5] ~ [d5,f5] ~ [bb4,d5,f5] ~ [eb5,g5] ~ [db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~, ~ bb4 ~@2 bb4!2 ~@2", // Eb Dbm Dm Bb Eb Dbm Bb
  H: "[eb5,g5] ~ [bb4,d5,f5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~, bb4 ~@7", // Eb Bb F Bb Fdim F
  I: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim Am F Bb F
  J: "[f4,ab4,bb4,d5] ~ [f4,a4,c5] ~ [b4,c5,e5,g5] ~ [e5,g5] ~ [c5,f5,a5] ~ [c5,eb5,gb5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~", // Bb7 F Cmaj7 Em F Cdim C
  K: "[c5,f5,a5] ~ [c5,e5,g5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,eb5,g5] ~ [db5,eb5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~, ~@5 bb4 ~@2", // F C Bb Eb Dbm Bb
  L: "[bb4,eb5,g5] ~ [bb4,db5,eb5,g5] ~ [f4,a4,b4,c5] ~@11", // Eb Eb7 F
  M: "~@12 [b6,c7,d7,e7,f7,g7] [b5,c6,d6,e6,f6,g6,a6] [c5,d5,e5,f5,g5,a5] [e4,f4,g4,a4,b4]", // Cmaj7 Bm7b5 Dm7 Em
  N: "[c4,d4] [d3,e3,f3,g3,a3] [f2,g2,a2,b2,c3] e2 [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Csus2 Dm F Bb Fdim F
  O: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Fdim Am F
  P: "[bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Fdim F
  Q: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [ab4,b4] ~ [a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Abm Am F
  R: "[f4,bb4,d5] ~ [a4,c5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,eb5,g5] ~ [bb4,db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Bb Am Bb Eb Bbdim Bb
  S: "[bb4,eb5,g5] ~ [bb4,db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,eb5,g5] ~ [bb4,db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Eb Bbdim Bb Eb Bbdim Bb
  T: "[bb4,eb5,g5] ~ [bb4,d5,f5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [a4,c5] ~", // Eb Bb F Bb Fdim F Am
  U: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim F Bb Fdim F
  V: "[f4,bb4,d5] ~ [f4,a4,c5] ~ [f1,f2,f4,c5]@2 ~@10, ~@4 f5 ~@11", W: "~@2 [f2,f4,c5,f5] ~@5, ~@4 f1 ~@11",
  X: "~@2 [f1,f2,f4,c5,f5] ~@5", // F5
  Y: "~@4 [f7,g7] [a6,b6,c7,d7,e7] [e6,f6,g6] [b5,c6,d6] [e5,f5,g5,a5] [b4,c5,d5] a4 [d4,f4] [a3,b3,c4] [e3,f3,g3] [b2,c3,d3] [g2,a2,e3]", // Fsus2 Am Em Bm Fmaj7 Bm Dm Am …
  Z: "d3 [b2,c3] [f2,g2,a2] [c2,d2,e2] [b1,f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Cmaj7 F C F Bb Fdim F
  AA: "[bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [a4,b4,c5] ~, ~@7 f4", // Bb Fdim F Bb Fdim F Am
  AB: "[bb4,d5] ~ [f4,a4,c5] ~ [bb4,d5,e5,f5] ~ [bb4,d5] ~ [bb4,eb5,g5] ~ [bb4,db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Bb F Bb Eb Bbdim Bb
  AC: "[bb4,eb5,g5] ~ [bb4,db5,d5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~ [bb4,eb5,g5] ~ [bb4,db5,e5] ~ [bb4,d5,f5] ~ [bb4,d5,f5] ~", // Eb Bbdim Bb Eb Bbdim Bb
  AD: "[eb5,g5] ~ [bb4,d5,f5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Eb Bb F Bb Fdim F
  AE: "[f4,bb4,d5] ~ [f4,ab4,b4] ~ [a4,c5] ~ [f4,a4,c5] ~ [f4,bb4,d5] ~ [f4,ab4,b4,c5] ~ [f4,a4,c5] ~ [f4,a4,c5] ~", // Bb Fdim Am F Bb Fm F
  AF: "[f4,bb4,d5] ~ [f4,a4,c5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~ [c5,f5,a5] [e5,g5] [eb5,gb5] ~ [c5,e5,g5] ~ [c5,e5,g5] ~", // Bb F C F Em Ebm C
  AG: "[bb4,eb5,g5] ~ [bb4,d5,f5,g5] ~ [f4,c5,f5]@2 ~@10", // Eb Gm7 F5
  AH: "~@12 [a1,b1,c2] [d2,e2,f2,g2,a2,b2,c3] [d3,e3,f3,g3,a3,b3] [c4,d4,e4,f4,g4,a4]", // Am Dm7 Em7 Dm7
  AI: "[b4,c5,d5,e5,f5] [g5,a5,b5,c6,d6] [e6,f6,g6,a6] [b6,c7,d7,e7] [f5,a5,c6,f7,g7] ~ [a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Bdim G Fmaj7 Cmaj7 F Am Bb Abm …
  AJ: "[bb5,d6] ~ [f5,ab5,b5] ~ [a5,c6] ~ [a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Bb Fdim Am Bb Abm Am
  AK: "[bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Bb Abm Am Bb Abm Am
  AL: "[bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ a5 ~", // Bb Abm Am Bb Abm Am
  AM: "[bb5,d6] ~ [a5,c6] ~ [bb5,d6,f6] ~ d6 ~ [eb6,g6] ~ db6 ~ [d6,f6] ~ [bb5,d6,f6] ~", // Bb Am Bb Eb Dm Bb
  AN: "[bb5,eb6,g6] ~ [bb5,db6,e6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,eb6,g6] ~ [bb5,db6,e6] ~ [d6,f6] ~ [bb5,d6,f6] ~", // Eb Bbdim Bb Eb Bbdim Dm Bb
  AO: "[eb6,g6] ~ [d6,f6] ~ [f5,a5,c6] ~ [a5,c6] ~ [f5,bb5,d6] ~ [ab5,b5] ~ [f5,a5,c6] ~ [a5,c6] ~", // Eb Dm F Am Bb Abm F Am
  AP: "[bb5,d6] ~ [a5,c6] ~ [f2,f3,f5,c6]@2 ~@10, ~@4 f6 ~@11", AQ: "~@2 [f3,f5,c6,f6] ~@5, ~@4 f2 ~@11",
  AR: "~@2 [f2,f3,f5,c6,f6] ~@5", // F5
  AS: "~@4 [f8,g8] [a7,b7,c8,d8,e8] [e7,f7,g7] [b6,d7] [e6,f6,g6,a6] [b5,c6,d6] a5 d5 [g4,a4,b4,c5] [e4,f4] [b3,d4] e4", // Fsus2 Am Em Bm Fmaj7 Bm Cmaj7 Fmaj7 …
  AT: "d4 [b3,c4] [f3,g3,a3] [c3,d3,e3] [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Cmaj7 F C F Bb Abm Am
  AU: "[bb5,d6] ~ [ab5,b5] ~ [f5,a5,c6] ~ [a5,c6] ~ [f5,bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [f5,a5,c6] ~", // Bb Abm F Am Bb Abm Am F
  AV: "[bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [f5,a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Bb Abm Am F Bb Abm Am
  AW: "[bb5,d6] ~ [f5,ab5,b5] ~ [a5,c6] ~ [a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [b5,c6] ~", // Bb Fdim Am Bb Abm Am Cmaj7
  AX: "[bb5,d6] ~ [a5,c6] ~ [bb5,d6,e6] ~ [bb5,d6] ~ [bb5,eb6,g6] ~ [bb5,db6,e6] ~ [d6,f6] ~ [bb5,d6,f6] ~", // Bb Am Em7b5 Bb Eb Bbdim Dm Bb
  AY: "[bb5,eb6] ~ [db6,d6,e6] ~ [d6,f6] ~ [d6,f6] ~ [bb5,eb6,g6] ~ [bb5,db6,e6] ~ [bb5,d6,f6] ~ [d6,f6] ~", // Eb5 Dbm Dm Eb Bbdim Bb Dm
  AZ: "[eb6,g6] ~ [bb5,d6,f6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [ab5,b5] ~ [a5,c6] ~ [a5,c6] ~", // Eb Bb F Bb Abm Am
  BA: "[bb5,d6] ~ [f5,ab5,b5] ~ [a5,c6] ~ [f5,a5,c6] ~ [bb5,d6] ~ [f5,ab5,b5] ~ [a5,c6] ~ [f5,a5,c6] ~", // Bb Fdim Am F Bb Fdim Am F
  BB: "[bb5,d6] ~ [f5,a5,c6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~ [f6,a6] e6 [eb6,gb6] ~ [c6,e6,g6] ~ [e6,g6] ~", // Bb F C F Ebm C Em
  BC: "[f6,a6] ~ [c6,e6,g6] ~ [bb5,d6,f6] ~ [d6,f6] ~ [bb5,eb6,g6] ~ [bb5,db6,eb6,e6] ~ [d6,f6] ~ [d6,f6] ~", // F C Bb Dm Eb Bbdim Dm
  BD: "[bb5,eb6,g6] ~ g6 ~ [f5,c6,f6]@2 ~@10", // Eb F5
  BE: "~@12 [a2,c3,d3] [e3,f3,g3,a3,b3,c4] [d4,e4,f4,g4,a4,b4] [c5,d5,e5,f5,g5,a5]", // D7 Cmaj7 Em7 Dm7
  BF: "[b5,c6,d6,e6,f6] [g6,a6,b6,c7,d7] [e7,f7,g7,a7] [b7,c8,d8,e8] [f6,a6,c7,f8,g8] ~ [a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [a6,c7] ~", // Bdim G Fmaj7 Cmaj7 F Am F Am
  BG: "[f6,a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~", // F Am F Am F Am
  BH: "[a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~ [f6,a6,c7] ~ [f6,bb6,d7] ~ [f6,ab6,b6] ~ [f6,a6,c7] ~ [f6,a6,c7] ~", // Am F Bb Fdim F
  BI: "[f6,bb6,d7] ~ [f6,ab6,b6] ~ [f6,a6,c7] ~ [f6,a6,c7] ~ [f6,bb6,d7] ~ [ab6,b6] ~ [f6,a6,b6,c7] ~ [f6,a6,c7] ~", // Bb Fdim F Bb Abm F
  BJ: "[f6,bb6,d7] ~ [a6,c7] ~ [ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~, ~ f6 ~@6", // Bb Am Ab Fm Ab Fm
  BK: "[f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~", // Fm
  BL: "[f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~", // Fm F Am
  BM: "[a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [a6,c7] ~ [f6,a6,c7] ~", // Am F Am F
  BN: "[f6,a6,c7] ~ [f6,a6,c7] ~ [e6,g6,c7] ~ [e6,g6,c7] ~ [e6,g6,c7] ~ [e6,g6,c7] ~ [e6,g6,c7] ~ [e6,g6,c7] ~", // F C
  BO: "[e6,g6,c7] ~ [e6,g6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,ab6,c7] ~", // C Fm
  BP: "[f6,ab6,c7] ~ [f6,ab6,c7] ~ [f6,a6,c7] ~ [f6,a6,c7] ~ [f6,bb6,d7] ~ [f6,ab6,c7] ~ [f6,a6,c7] ~ [f6,a6,c7] ~", // Fm F Bb Fm F
  BQ: "[f6,bb6,d7] ~ [ab6,c7] ~ [f6,a6,c7] ~ [a6,c7] ~ [bb6,d7] ~ [ab6,c7] ~ [f6,a6,c7] ~ [f6,a6,c7] ~", // Bb Ab F Am Bb Ab F
  BR: "[f6,bb6,d7] ~ [f6,a6,c7] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // Bb F Bb Fdim F
  BS: "[f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // Bb Fdim F Bb Fdim F
  BT: "[bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [a5,b5,c6] ~, ~@7 f5", // Bb Fdim F Bb Fdim F Am
  BU: "[bb5,d6] ~ [f5,a5,c6] ~ [bb5,d6,e6,f6] ~ [bb5,d6] ~ [bb5,eb6,g6] ~ [bb5,db6,e6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~", // Bb F Bb Eb Bbdim Bb
  BV: "[bb5,eb6,g6] ~ [bb5,db6,d6,e6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,eb6,g6] ~ [bb5,db6,e6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~", // Eb Bbdim Bb Eb Bbdim Bb
  BW: "[eb6,g6] ~ [bb5,d6,f6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // Eb Bb F Bb Fdim F
  BX: "[f5,bb5,d6] ~ [f5,ab5,b5] ~ [a5,c6] ~ [f5,a5,c6] ~ [f5,bb5,d6] ~ [f5,ab5,b5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // Bb Fdim Am F Bb Fm F
  BY: "[f5,bb5,d6] ~ [f5,a5,c6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~ [c6,f6,a6] [e6,g6] [eb6,gb6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~", // Bb F C F Em Ebm C
  BZ: "[c6,f6,a6] ~ [c6,e6,g6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,eb6,g6] ~ [bb5,db6,eb6,e6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~", // F C Bb Eb Bbdim Bb
  CA: "[bb5,eb6,g6] ~ [bb5,d6,f6,g6] ~ [f5,c6,f6]@2 ~@10", // Eb Gm7 F5
  CB: "~@12 [a2,b2,c3,d3] [e3,f3,g3,a3,b3,c4] [d4,e4,f4,g4,a4,b4] [c5,d5,e5,f5,g5,a5]", // D7 Cmaj7 Em7 Dm7
  CC: "[b5,c6,d6,e6,f6] [g6,a6,b6,c7,d7] [e7,f7,g7,a7] [b7,c8,d8,e8] [f5,f8,g8] ~ [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~", // Bdim G Fmaj7 Cmaj7 Fsus2 Am F Am
  CD: "[f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~", // F Am
  CE: "[f5,a5,c6] ~ [a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~", // F Am F Am F Am F Am
  CF: "[f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [bb5,d6] ~ [ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // F Bb Abm F
  CG: "[f5,a5,c6] ~ [f5,a5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~ [ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~", // F Fm Ab Fm
  CH: "[f5,ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~ [ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~ [f5,ab5,c6] ~", // Fm Ab Fm
  CI: "[f5,ab5,c6] ~ [f5,ab5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~ [a5,c6] ~", // Fm F Am
  CJ: "[a5,c6] ~ [a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6]@3 [g5,b5]", // Am F G
  CK: "[c5,d5,e5,f5] [g4,a4,b4] [b3,c4,d4,e4,f4] [f3,g3,a3] [f1,f2]@3 ~@9, ~@4 [d3,e3] ~@11", // Dm7 G Bdim F Dsus2
  CL: "~@5 [f1,f2]@2 ~@9, ~@4 [f4,f5]@3 ~@9", CM: "~@5 [f1,f2,f4,f5]@2 ~@9, ~@5 ab1 ~@10",
  CN: "~@4 c2 [d2,e2,f2] [g2,a2,b2] [c3,d3,e3] [f3,g3,a3] [b3,c4,d4] [e4,f4,g4] [a4,b4,c5] [d5,e5,f5] [g5,a5,b5] [c6,d6,e6] [d5,e5,f6,g6,a6]", // Dm G C F Bm Em Am Dm …
  CO: "[f5,g5,a5,b6,c7] [b5,c6,d6] [e6,f6,g6] [a6,b6,c7] [f5,a5,c6] ~ a5 c6 [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [a5,c6] ~", // F Bm Em Am F Am
  CP: "[a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~ [a5,c6] ~, f5 ~@7", // Am
  CQ: "[f5,bb5,d6] ~ [f5,ab5,b5] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~ [f5,a5,c6] ~", // Bb Fdim F
  CR: "[a5,c6] ~ [a5,c6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,eb6,f6] ~ [a5,eb6,f6] ~ [a5,eb6,f6] ~", // Am F F7
  CS: "[a5,eb6,f6] ~ [a5,eb6] ~ [ab5,c6,db6] ~ [ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,eb6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,eb6,f6] ~, ~ f6 ~@6", // F7 Adim Dbmaj7 Fm Fm7 Fm Fm7
  CT: "[ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,f6] ~ [ab5,c6,eb6,f6] ~ [ab5,c6,eb6,f6] ~", // Fm Fm7
  CU: "[ab5,c6,eb6,f6] ~ [ab5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~", // Fm7 Fm F
  CV: "[a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~ [a5,c6,f6] ~", // F
  CW: "[a5,c6] ~ [a5,c6,f6] ~ [c6,d6,e6,g6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~ [c6,e6,g6] ~", // Am F C
  CX: "[c6,e6,g6] ~ [c6,e6,g6] ~ [bb5,d6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~ [bb5,d6,f6] ~, ~ f6 ~@6", // C Bb
  CY: "[bb5,d6,f6] ~ [bb5,d6,f6] ~ [a5,c6,f6]@3 ~@9, ~@4 g5 ~@11", CZ: "[~ [f3,f5,c6,f6]@31, ~@2 a5 ~@61]/8",
})).s("gm_piano").gain(0.3).pan(0.6)

// chords · piano · "A.PIANO" · soft notes
const piano_soft = note(`<
  ~@2 A B ~ C ~@2 D E ~@3 F G C H I ~ J ~ K ~@2 L ~@3 C M ~ N D O ~@2 P Q R S T U V W S X ~@2 Y Z AA AB AC AD AE AF AG
  AH AI AJ AK AL AM AN AO@2 ~ AP AQ ~@3 AR ~@3 AS AT ~ AU AV AW ~@2 AX AY@2 AZ BA BB BC BD BE ~@4 BF BG ~ BH BI ~@3 BJ
  ~@12
>`.pickRestart({
  A: "f4 ~@7 f4 ~@7", B: "~@8 f4 ~@3 f4 ~@3", C: "f4 ~@15", D: "~@4 f4 ~@11", E: "~@6 c5 ~@9", F: "b3 ~@15",
  G: "~@12 f4 ~@3", H: "~@10 f4 ~ f4 ~@3", I: "~@2 f4 ~@7 eb5 ~@5", J: "~@8 ab4 ~@5 f4 ~", K: "~@3 c2 ~@12",
  L: "~@10 g4 e4 ~@3 f3", M: "~@6 f5 ~@9", N: "bb4 ~@7", O: "~@10 c5 ~@5", P: "~@12 g1 ~@3",
  Q: "~@6 f5 ~ f5 ~ f5 ~ f5 ~ f5 ~", R: "f5 ~@3 f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~",
  S: "f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~", T: "f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ [f5,c6] ~",
  U: "f5 ~ f5 ~@3 [bb5,f6] ~ bb5 ~ [bb5,eb6,e6] ~ bb5 ~@3", V: "~@12 bb5 ~@3",
  W: "bb5 ~ bb5 ~@3 f5 ~ ab5 ~ f5 ~@3 f5 ~", X: "f5 ~ f5 c3 ~@12", Y: "~@7 c7 ~@2 g5 [e5,f5] ~@2 c4 [g3,a3,f4]",
  Z: "~@4 b2 ~@5 f5 ~ f5 ~ f5 ~", AA: "f5 ~ f5 ~@3 f5 ~@3 f5 ~ f5 ~@3", AB: "f5 ~ f5 ~ f5 ~@3 f5 ~ f5 ~ f5 ~ f5 ~",
  AC: "f5 ~@3 f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5@2, ~@14 a5 ~", AD: "~@2 f5 ~ f6 ~ f6 ~@5 bb5 ~@3",
  AE: "g6 ~ bb5 ~ bb5 ~ bb5 ~@7 bb5 ~", AF: "bb5@2 ~@8 f5 ~ f5 ~ f5 ~", AG: "f5 ~@3 f5 ~@3 f5 ~ c6 ~ f5 ~@3",
  AH: "f5 ~@7 c6 g6 c6 ~@3 c6 ~", AI: "c6 ~@5 bb5 ~@5 bb5 ~ bb5 ~", AJ: "~@2 [bb5,d6,f6] ~@13", AK: "~@12 [g2,b2] ~@3",
  AL: "~@6 f6 ~ f6 ~@3 f6 ~ [f6,d7] ~", AM: "~@2 f6 ~@3 f6 ~@5 f6 ~ f6 ~", AN: "f6 ~ f6 ~@13", AO: "~@10 f6 ~@5",
  AP: "~@6 f6 ~ f6 ~ f6 ~ f6 ~ f6 ~", AQ: "f6 ~ f6 ~@3 f6 ~ f6 ~ f6 ~ f6 ~@3", AR: "~@2 f6 ~@3 f6 ~ f6@3 ~@5",
  AS: "f5 ~@15", AT: "~@6 f6 ~@9", AU: "bb5 ~@7", AV: "~@4 f5 ~@11", AW: "~@10 c6 ~@5", AX: "~@12 g2 ~@3",
  AY: "~@14 f5 ~", AZ: "~@2 f5 ~@3 f5 ~@3 f5 ~@3 f5 ~", BA: "~@8 f5@3 ~@5", BB: "~@10 f5 ~@5", BC: "~@8 f5 ~@7",
  BD: "~@12 f5 ~ f5 ~", BE: "f5 ~ f5 ~@13", BF: "~@6 f5 ~@7 f5 ~", BG: "~@4 f5 ~ f5 ~ f5 ~ f5 ~ f5 ~ f5 ~",
  BH: "f5 ~ f5 ~@3 d6 ~@9", BI: "~@8 eb6 ~@7", BJ: "f6 ~@15",
})).s("gm_piano").gain(0.15).pan(0.6)

// other · tenor sax
const tenor_sax = note(`<
  ~ A B@2 C D E@2 F G@3 ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P
  ~@13 H C J N@2 C J F O@2 P ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P ~ Q ~@8
>`.pickRestart({
  A: "ab3@2 bb3@2 f3@3 ~@7 f3@2", B: "[~@4 f3@2 ~@5 f3@7 ~@2 f3@2 ~@8 f3@2]/2", C: "~@2 f3 ~@2 f3@3",
  D: "c4@4 f3@3 ~@7 f3@2", E: "[~@2 f3 ~@2 f3@4 bb3 f3 ~@4 f3]/2", F: "~@2 f3 ~@2 f3@2 ~",
  G: "[f3@4 g3@3 ~@7 g3@5 ~ ab3@3 ~@7 ab3@6 f3@3 ~@9]/3", H: "~@4 f3@3 ~@9", I: "~@4 f3@2 ~@4 f3@3 ~ f3@2",
  J: "ab3@2 bb3@2 f3@3 ~@9", K: "~@4 f3@2 ~@4 f3@2 ~@3 g3, ~@7 f3", L: "c4@3 ~ f3@4 ~@8", M: "~@4 f3@3 ~@4 f3@5",
  N: "[~@4 f3@2 ~@4 f3@8 c4@2 f3@3 ~@9]/2", O: "[f3@2 gb3@2 g3@3 ~@7 g3@6 f3@3 ~@9]/2", P: "g3@4 f3@3 ~@9",
  Q: "~@4 f4@3 ~@9",
})).s("gm_tenor_sax").gain(0.4).pan(0.6)

// bass · baritone sax · "BARITONSAX"
const bass_2 = note(`<
  ~ A B@2 C D E@2 F G@3 ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P
  ~@13 H C J N@2 C J F O@2 P ~ H I J I J K L M J H@2 ~ H C J N@2 C J F O@2 P ~ H ~@8
>`.pickRestart({
  A: "ab2@2 bb2@2 f2@3 ~@7 f2@2", B: "[~@4 f2@2 ~@5 f2@7 ~@2 f2@2 ~@8 f2@2]/2", C: "~@2 f2 ~@2 f2@3",
  D: "c3@4 f2@3 ~@7 f2@2", E: "[~@2 f2 ~@2 f2@4 bb2 f2 ~@4 f2]/2", F: "~@2 f2 ~@2 f2@2 ~",
  G: "[f2@4 g2@3 ~@7 g2@5 ~ ab2@3 ~@7 ab2@6 f2@3 ~@9]/3", H: "~@4 f2@3 ~@9", I: "~@4 f2@2 ~@4 f2@3 ~ f2@2",
  J: "ab2@2 bb2@2 f2@3 ~@9", K: "~@4 f2@2 ~@4 f2@2 ~@3 g2, ~@7 f2", L: "c3@3 ~ f2@4 ~@8", M: "~@4 f2@3 ~@4 f2@5",
  N: "[~@4 f2@2 ~@4 f2@8 c3@2 f2@3 ~@9]/2", O: "[f2@2 gb2@2 g2@3 ~@7 g2@6 f2@3 ~@9]/2", P: "g2@4 f2@3 ~@9",
})).s("gm_baritone_sax").gain(0.35)

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

// drums · snare
const snare = s("sd").struct(`<
  A B C D E D C D C@3 F G H C@2 I J C D C K L M N O C@2 P Q C D C@3 K R J C@2 I J C@3 F S@2 T C@2 D C@6 U F G J C@2 I J
  C V C@4 I J C@2 P Q C D C@3 K R J C@2 I J C@3 F S@2 T C@2 D C@6 U F ~ W ~@8
>`.pickRestart({
  A: "~@12 x!3 ~", B: "x!3 ~@5 x ~@7", C: "x!2", D: "x!2 ~@2 x ~@3", E: "x ~@2 x!2 ~ x!2", F: "x!2 ~@6", G: "~@12 x!4",
  H: "x!2 ~ x ~@4 x ~@7", I: "x ~@7 x ~@3 x!4", J: "x!4 ~@4 x ~@7", K: "x ~ x!2 ~@12", L: "~@2 x!2 ~@12", M: "~ x ~@6",
  N: "~@4 x ~ x!3 ~ x!6", O: "x!5 ~@3 x ~@7", P: "x ~@3 x!2 ~@2", Q: "~ x!2 ~", R: "~@4 x!12", S: "x", T: "~ x!3",
// … 44 more lines

More by Little Richard