Strudelify
Rosamunde cover art

Die schönsten Melodien der letzten 100 Jahre

Rosamunde

Last

KeyB♭ majorTempo112 bpm
0:00/0:00
// Rosamunde — Last
// 112 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 73 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112/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 · clarinet
const clarinet = note(`<
  ~ A B C D E B F G H B I J K B F L M N O P Q R S T U N O P V R W X Y Z AA AB ~ AC AD AE ~ AF AG@2 AH@2 AI@5 AJ@2 AK AL
  Z AM AN ~ AC AO AE ~ AF AG@2 AP@2 AQ AR AS AT
>`.pickRestart({
  A: "~@6 d5 db5 d5 ~ bb4@2 ~@2 d5 db5", B: "d5 ~ bb4@3 ~ d5 db5 d5 ~ d5 ~ d5@2 ~ d5",
  C: "d5 ~@2 db5 ~@2 c5 b4 c5 ~ eb5 ~ eb5@2 ~ eb5, ~@2 c5@3 ~@11", D: "eb5 ~ c5@3 ~ c5 b4 c5 ~ c5@3 ~ c5 a4",
  E: "[bb4,b4] ~ bb4@3 ~ [db5,d5]!2 d5 ~ bb4@3 ~ d5 db5", F: "d5 ~ c5@4 ~@2 c5 ~ c5 ~ c5@2 ~ c5",
  G: "a4 ~ a4@5 ~ a4 ~ c5 ~ a4@2 ~ a4", H: "f4 ~ f4@3 ~ d5 db5 d5 ~ bb4@3 ~ d5 db5",
  I: "d5 ~ c5@3 ~ c5 b4 c5 ~ c5 ~ eb5@2 ~ eb5", J: "d5 ~ c5@3 ~ c5 b4 c5 ~ c5@3 ~ c5 a4",
  K: "bb4 ~ bb4@3 ~ d5 db5 d5 ~ bb4@3 ~ d5 db5", L: "a4 ~ a4@3 ~@3 f4@2 eb4 ~ d4 ~ c4 ~", M: "bb3 ~@7",
  N: "~@10 [a4,c5] [bb4,d5] [c5,eb5] ~ [d5,f5] ~", O: "[eb5,g5] [d5,gb5] [eb5,g5]@2 ~@12",
  P: "~@10 [f4,bb4] [a4,c5] [bb4,d5] ~ [d5,g5] ~", Q: "[d5,f5]@3 ~@13", R: "~@5 eb5 d5 c5", S: "a4@3 ~@13",
  T: "~@5 bb4 g4 f4", U: "bb4@3 ~@13", V: "[d5,f5] ~@3", W: "a4 ~@7", X: "~@5 f4 g4 f4", Y: "bb4 ~@15",
  Z: "~@10 [c4,eb4] [d4,f4] [eb4,g4] ~ [eb4,g4] ~", // Cm Dm Eb
  AA: "~@2 [eb4,g4] [f4,ab4] [g4,bb4] ~ [g4,ab4,bb4] ~@5 [g4,bb4]@2 [bb4,d5]@2", // Eb Fm Gm Bb
  AB: "[c5,eb5] ~ [c5,eb5] ~ [ab4,c5] [g4,b4] [ab4,c5] ~ [c5,eb5] ~ [c5,eb5] ~ [ab4,c5] [g4,b4] [ab4,c5] ~", // Cm Ab G Ab Cm Ab G Ab
  AC: "~@10 [bb3,d4] [c4,eb4] [d4,f4] ~ [d4,f4] ~", // Bb Cm Dm
  AD: "~@2 [d4,f4] [eb4,g4] [f4,ab4] ~ [f4,ab4] ~@5 [f4,ab4]@2 [g4,bb4] ~", // Dm Eb Fm Gm
  AE: "[bb4,d5] ~ [bb4,d5] ~ [ab4,c5] [g4,b4] [ab4,c5]@2 ~@8", AF: "~@4 g4@3 ~",
  AG: "[g4@7 ~ g4 ~ g4@11 ~@3 g4 ~ g4@3 ~ g4 ~]/2", AH: "[g4 ~ g4@3 ~ g4@2 ab4@12 ~@4 d4 ~ d4@2 f4 ~ f4 ~]/2",
  AI: "[f4@5 ~ f4 ~ f4@2 eb4@9 ~ bb3@2 d4@2 eb4@11 ~ d4 ~ d4 ~ eb4@10 ~@2 eb4@2 ~@2 [c4,eb4,g4]@16 g4@2 f4@2 eb4@2 d4@2]/5", // Cm
  AJ: "[eb4@2 d4@2 c4@3 ~ [bb3,d4,f4]@15 ~ f4@2 eb4@2 d4@2 c4@2]/2", AK: "bb3@2 ~@6 bb4@2 b4@2 bb4@3 ~",
  AL: "bb4@2 d5@2 bb4@3 ~ eb5 ~@7",
  AM: "~@2 [eb4,g4] [f4,ab4] [g4,bb4] ~ [g4,bb4] ~@3 [g4,bb4,d5] ~ [c5,eb5] ~ [c5,eb5] ~", // Eb Fm Gm Cm
  AN: "[ab4,c5] [g4,b4] ab4@2 ~@12, ~@2 c5 ~@13", // Ab G
  AO: "~@2 [d4,f4] [eb4,g4] [f4,ab4] ~ [f4,ab4] ~@5 [f4,ab4]@2 [g4,bb4]@2", // Dm Eb Fm Gm
  AP: "[g4 ~ g4@3 ~ g4@2 ab4@13 ~@3 d4 ~ d4@2 f4 ~ f4 ~]/2", AQ: "f4@5 ~ f4 ~ f4@2 eb4@6", AR: "~@4 bb3@2 d4@2 eb4@7 ~",
  AS: "d4@3 ~ d4 ~ d4@2 bb3@8", AT: "~@4 bb3 ~@11",
})).s("gm_clarinet").gain(0.35)

// bass · tuba
const bass = note(`<
  A B C D E C F D E G C H E G I D J K L M N O E@2 P Q L R N S T E P U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM
  AN AO AP AQ W AR AS AT Z AU AV AC AW AX AY AZ BA BB BC BD
>`.pickRestart({
  A: "~@8 f1 ~@3 f1 ~@3", B: "f1 ~@3 f1 ~@3 bb1 ~@3 f1 ~@3", C: "bb1 ~@3 f1 ~@3 bb1 ~@3 f1 ~@3",
  D: "f1 ~@3 f1 ~@3 c2 ~@3 f1 ~@3", E: "c2 ~@3 f1 ~@3 c2 ~@3 f1 ~@3", F: "bb1 ~@3 bb1 ~@3 bb1 ~@3 f1 ~@3",
  G: "bb1 ~@3 f1@2 ~@2 bb1 ~@3 f1 ~@3", H: "f1 ~@3 f1 ~@3 c2 ~@3 f1@2 ~@2", I: "bb1 ~@3 bb1 ~@3 bb1 ~@3 f1@2 ~@2",
  J: "c2 ~@3 f1 ~@3 f1@8", K: "bb1 ~@3 bb1 ~@3 f1 ~@3 c2 ~ f2 ~", L: "~@8 c2 ~@3 f1 ~@3",
  M: "c2 ~@3 f1@2 g1 ~ bb1 ~@3 g1 ~ bb1 ~, ~@4 gb1 ~@11", N: "~@8 bb1 ~@3 f1 ~@3", O: "bb1 ~@3 f1 ~@3 c2 ~@3 f1 ~@3",
  P: "c2 ~@3 f1 ~@3 bb1 ~@3 f1 ~@3", Q: "bb1 ~@3 bb1@2 ~@2 f1@2 ~@2 c2@2 f2@2",
  R: "c2 ~@3 f1@2 g1 ~ bb1 ~@3 g1@2 bb1 ~", S: "bb1 ~@3 f1 ~@3 c2@2 ~@2 f1 ~@3", T: "c2@2 ~@2 f1 ~@3 c2 ~@3 f1 ~@3",
  U: "bb1 ~@3 bb1 ~@3 eb2@4 c2@4", V: "bb1@4 g1@3 ~ eb1 ~@3 bb1 ~@3", W: "eb2 ~@3 bb1 ~@3 eb2 ~@3 bb1 ~@3",
  X: "eb2 ~@3 bb1 ~@3 f2@3 ~ d2@3 ~", Y: "c2@3 ~ bb1@2 ~@2 f2@2 ~@2 bb1 ~@3", Z: "f2@2 ~@2 bb1 ~@3 f2 ~@3 bb1 ~@3",
  AA: "f2 ~@3 bb1 ~@3 f2 ~@3 bb1 ~@3", AB: "f2 ~@3 bb1 ~@3 eb2@3 ~ f2@3 ~",
  AC: "eb2@2 d2@2 c2@2 bb1@2 eb2@2 ~@2 bb1 ~@3", AD: "eb2@2 ~@2 bb1 ~@3 eb2@2 ~ f2 g2 ~ eb2 ~",
  AE: "f2@2 ~@2 eb2 ~@3 eb2 ~@3 bb1 ~@3", AF: "eb2 ~@3 bb1 ~@3 ab1@2 ~@2 bb1@3 ~",
  AG: "c2@3 ~ eb2@3 ~ f2@2 ~@2 bb1@2 ~@2", AH: "f2 ~@3 bb1@2 ~@2 eb2 ~@3 bb1@2 ~@2",
  AI: "eb2 ~@3 bb1@2 ~@2 eb2@2 ~@2 bb1@2 ~@2", AJ: "f2@2 ~@2 bb1 ~@3 eb2 ~@3 bb1 ~@3",
  AK: "eb2 ~@3 eb2 ~@3 c2@3 d2 eb2@2 d2@2", AL: "c2 d2 eb2 f2 g2@11 ~", AM: "g2 ~ g2 ~ g2 ~@3 bb1@3 c2 d2@2 c2 ~",
  AN: "bb1 c2 d2 eb2 f2@12, ~@4 gb2 ~@11", AO: "bb1 ~@3 bb1 ~@3 bb1 ~ b1 ~ bb1@3 ~",
  AP: "bb1 ~ d2 ~ bb1@3 ~ eb2@3 ~ c2@3 ~", AQ: "bb1@3 ~ g1@3 ~ eb2 ~@3 bb1 ~@3",
  AR: "eb2 ~@3 bb1@2 ~@2 eb2 ~@3 bb1 ~@3", AS: "eb2 ~@3 bb1 ~@3 f2 ~@3 d2@3 ~", AT: "c2@3 ~ bb1@3 ~ f2@2 ~@2 bb1@2 ~@2",
  AU: "f2 ~@3 bb1 ~@3 f2@2 ~@2 bb1 ~@3", AV: "f2@2 ~@2 bb1@2 ~@2 eb2 ~@3 f2@2 ~@2",
  AW: "eb2 ~@3 bb1 ~@3 eb2@3 f2 g2@2 eb2@2", AX: "f2@2 ~@2 eb2 ~@3 eb2@2 ~@2 bb1 ~@3",
  AY: "eb2@2 ~@2 bb1 ~@3 ab1@2 ~@2 bb1@3 ~", AZ: "c2@3 ~ eb2@2 ~@2 f2@2 ~@2 bb1 ~@3",
  BA: "f2@2 ~@2 bb1 ~@3 eb2@2 ~@2 bb1 ~@3", BB: "eb2 ~@3 bb1 ~@3 eb2@2 ~@2 bb1@2 ~@2",
  BC: "f2@2 ~@2 bb1@2 ~@2 eb2 ~@3 bb1@2 ~@2", BD: "eb2 ~@3 eb1@2 ~@10",
})).s("gm_tuba").gain(0.6)

// chords · accordion
const accordion = note(`<
  A B C D E F G H I J K L M N O P Q R ~ S ~ T U@2 V W ~ X ~ Y Z AA AB AC AD AE@2 AF@2 AG@2 AH@2 AI@2 AJ@2 AK@2 AL AM AN
  AO AP AQ AR AS AT@2 AU@2 AV@2 AW@2 AX@2 AY@2 AZ@2 BA BB
>`.pickRestart({
  A: "~@8 [a3,c4,eb4,f4] ~@3 [a3,c4,eb4,f4] ~@3", // F7
  B: "[a3,c4,eb4,f4] ~@5 [d4,f4] [db4,e4] [d4,f4] ~ [bb3,d4]@2 ~@2 [d4,f4] [db4,e4]", // F7 Dm Dbm Dm Bb Dm Dbm
  C: "[d4,f4] ~ [bb3,d4]@2 ~@2 [d4,f4] [db4,e4] [d4,f4] ~ [d4,f4,bb4] ~ [d4,f4,c5]@2 ~ [d4,f4,bb4]", // Dm Bb Dm Dbm Dm Bb Dm7 Bb
  D: "[d4,f4,bb4] ~ [c4,eb4,a4]@3 ~ [c4,a4] [b3,ab4] [c4,a4] ~ [eb4,g4,bb4] ~ [eb4,a4,c5]@2 ~ [d4,f4,bb4]", // Bb Adim F E F Eb Adim Bb
  E: "[eb4,g4,bb4] ~ [c4,eb4,a4]@3 ~ [c4,a4] [b3,ab4] [c4,a4] ~ [c4,eb4,g4]@3 ~ [c4,eb4,g4] [d4,gb4]", // Eb Adim F E F Cm D
  F: "[d4,f4,g4] ~ [bb3,d4,f4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4]", // G7 Bb Dm Dbm Dm Bb Dm Dbm
  G: "[d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [d4,f4,bb4] ~ [d4,f4,c5]@2 ~ [d4,f4,bb4]", // Dm Bb Dm Dbm Dm Bb Dm7 Bb
  H: "[d4,f4,bb4] ~ [c4,eb4,a4]@4 ~@2 [c4,f4,a4] ~ [c4,f4,a4] ~ [f4,a4]@2 ~ [eb4,g4], ~@12 [eb4,e4] ~@3", // Bb Adim F Eb Emaj7
  I: "[eb4,g4] ~ [a3,f4]@5 ~ [a3,f4]@2 [eb4,g4] ~ [a3,f4]@3 [a3,eb4]", // Eb Dm Eb Dm Adim
  J: "[a3,eb4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4]", // Adim Bb Dm Dbm Dm Bb Dm Dbm
  K: "[d4,f4] ~ bb3@4 [d4,f4] [db4,e4] [d4,f4] ~ [d4,f4,bb4] ~ [d4,f4,c5]@2 ~ [d4,f4,bb4], ~ d4 ~@6", // Dm Dbm Dm Bb Dm7 Bb
  L: "[d4,f4,bb4] ~ [c4,eb4,a4]@3 ~ [c4,a4] [b3,eb4,ab4] [c4,a4] ~ [eb4,g4,bb4] ~ [eb4,a4,c5]@2 ~ [d4,f4,bb4]", // Bb Adim F Abm F Eb Adim Bb
  M: "[eb4,g4,bb4] ~ [c4,eb4,a4]@3 ~ [c4,a4] [b3,ab4] [c4,a4] ~ [eb4,g4]@3 ~ [eb4,g4] [c4,gb4]", // Eb Adim F E F Eb Cdim
  N: "[bb3,d4,g4] ~ [bb3,d4,f4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4]", // Gm Bb Dm Dbm Dm Bb Dm Dbm
  O: "[d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [d4,f4,bb4] ~ [d4,f4,c5]@3 [d4,f4,bb4]", // Dm Bb Dm Dbm Dm Bb Dm7 Bb
  P: "[d4,f4,bb4] ~ [c4,eb4,a4]@3 ~@3 [c4,a4] ~ [c4,a4] ~ [c4,a4]@2 ~ [eb4,g4]", // Bb Adim F Eb
  Q: "[eb4,g4] ~ [a3,f4]@4 ~@2 [a3,f4] ~ [g3,eb4] ~ [f3,db4,d4] ~ [eb3,c4] ~", // Eb Dm Cm Db Cm
  R: "[d3,bb3] ~@3 [bb3,d4,f4]@2 gb4 ~ [a3,c4,eb4,g4]@2 ~@2 [a3,c4]@2 [a3,c4,eb4,g4]@2, ~@12 [eb4,gb4] ~@3", // Gm Bb Am7b5 Am Am7b5 Ebm
  S: "~@4 [a3,c4,eb4] ~ [g3,db4,e4] ~ [bb3,d4] ~@3 [db4,e4]@2 [bb3,d4,f4]@2, ~@8 f4@2 ~@2 bb3 ~@3", // Adim Dbdim Bb Dbm Bb
  T: "~ [g4,bb4] [a4,c5] [g4,bb4] [f4,a4]@3 [a4,c5]", // Gm Am Gm F Am
  U: "[[eb4,g4]@5 ~ [eb4,f4] ~ [f4,a4]@10 [g4,bb4]@2 [a4,c5]@2 [g4,bb4]@2 [f4,a4]@5 ~ c5@2, ~@30 a4 ~]/2", // Eb Ebsus2 F Gm Am Gm F
  V: "[eb4,g4]@5 ~ [eb4,gb4] ~ [d4,f4]@8", // Eb Ebm Dm
  W: "~@4 [d4,f4]@2 [bb3,d4,gb4] ~ [a3,c4,eb4,g4] ~@3 [a3,c4,eb4,gb4]@2 [a3,c4,eb4,g4]@2, ~@4 bb3 ~@11", // Dm Bbaug Am7b5 Adim Am7b5
  X: "~@4 [c4,eb4]@2 [g3,db4,e4] ~ [bb3,d4,f4]@2 ~@2 [db4,e4]@2 [bb3,d4,f4]@2, ~@4 a3 ~@7 bb3 ~@3", // Cm Dbdim Bb Dbm Bb
  Y: "~@2 [g4,bb4]@2 [a4,c5]@2 [g4,bb4]@2 [f4,a4]@5 ~ [a4,c5]@2", Z: "[eb4,g4]@5 ~ eb4@2 [f4,a4]@8, ~@6 f4 ~@9",
  AA: "~@2 [g4,bb4]@2 [a4,c5]@2 [g4,bb4]@2 [f4,a4]@5 ~ [a4,c5] ~", AB: "[eb4,g4]@5 ~ [eb4,f4] ~ [d4,f4,bb4]@8",
  AC: "~@2 bb4!4 bb4@3 ~@7", AD: "~@7 gb4 [g4,bb4]@7 [gb4,a4], ~@8 a4 ~@7",
  AE: "[[g4,bb4]@7 ~ g4@2 [ab4,c5]@13 ~ [g4,bb4]@2 [ab4,c5]@4 [g4,bb4]@2, ~@8 bb4 ~@23]/2", // Gm Ab Gm Ab Gm
  AF: "[[ab4,c5]@2 [g4,bb4]@4 gb4@2 [f4,ab4]@14 ~ [g4,b4] [ab4,c5]@7 [g4,b4], ~@6 a4 ~@25]/2", // Ab Gm Fm G Ab G
  AG: "[[ab4,c5]@7 ~ [ab4,c5]@2 [bb4,d5]@13 ~ c5@2 [bb4,d5]@4 [ab4,c5]@2, ~@24 ab4 ~@7]/2", // Ab Bb Ab
  AH: "[[bb4,d5]@2 [ab4,c5]@4 ab4@2 [g4,bb4]@11 ~@5 [eb4,g4,bb4]@7 ~, ~@6 b4 ~@25]/2", // Bb Ab Gm Eb
  AI: "[[eb4,g4,bb4]@7 ~ [eb4,g4,bb4] ~ [eb4,g4,c5]@10 ~@4 [eb4,g4,bb4] ~ [eb4,g4,c5]@3 ~ [eb4,g4,bb4] ~]/2", // Eb Cm Eb Cm Eb
  AJ: "[[eb4,g4,c5] ~ [eb4,g4,bb4]@3 ~ g4@2 [eb4,ab4,c5]@14 ~@2 [f3,f4]@2 [g3,g4]@2 [ab3,ab4]@2 [bb3,bb4]@2, ~@6 eb4 ~@25]/2", // Cm Eb Ab F G Ab Bb
  AK: "[[d4,d5]@5 ~ [c4,c5] ~ [c4,c5]@2 [bb3,bb4]@10 [g3,eb4]@2 [ab3,f4]@2 [bb3,g4]@8]/2", // D C Bb Cm Db Eb
  AL: "[d4,ab4]@3 ~ [d4,f4] ~ [d4,g4] ~ [g3,eb4] ~ eb4!3 ~ eb4 ~", AM: "eb4 ~@3 [g3,bb3,eb4] ~@3 c4@3 d4 eb4@2 d4@2",
  AN: "c4 d4 eb4 f4 g4@3 ~ [eb4,g4]@2 [d4,f4]@2 [c4,eb4] ~ [b3,d4] ~", AO: "c4@2 d4 ~ c4@2 ~@2 [bb3,d4,f4]@8",
  AP: "bb3 c4 d4 eb4 f4@3 ~ [d4,f4]@2 eb4@2 [bb3,d4] ~ [a3,c4] ~, ~@10 c4 ~@5", // Dm Bb Am
  AQ: "bb3@2 ~@2 [bb2,bb3] [b2,b3] [bb2,bb3] ~", // Bb B Bb
  AR: "[bb2,bb3]@2 [d3,d4]@2 [bb2,bb3]@2 ~@2 [eb3,g3,bb3,eb4] ~ [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~", // Bb D Bb Eb
  AS: "~@2 [g3,bb3,eb4] ~@5 [g4,bb4]@7 ~, ~@8 [gb4,a4] ~@7", // Eb Gm Gbm
  AT: "[[g4,bb4]@7 ~ [g4,bb4]@2 [ab4,c5]@13 ~ [g4,bb4]@2 [ab4,c5]@4 bb4@2, [gb4,a4] ~@29 g4 ~]/2", // Gm Ab Gm Ab Gbm
  AU: "[[ab4,c5]@2 [g4,bb4]@3 ~ [gb4,a4] ~ [f4,ab4]@12 ~@4 [ab4,c5]@7 [g4,b4], ~@24 [g4,b4] ~@7]/2", // Ab Gm Gbm Fm Ab G
  AV: "[[ab4,c5]@7 ~ [ab4,c5]@2 [bb4,d5]@14 [ab4,c5]@2 [bb4,d5]@4 [ab4,c5]@2]/2", // Ab Bb Ab Bb Ab
  AW: "[[bb4,d5]@2 [ab4,c5]@3 ~ [ab4,b4] ~ [g4,bb4]@12 ~@4 [eb4,g4,bb4]@7 ~]/2", // Bb Ab Abm Gm Eb
  AX: "[[eb4,g4,bb4]@7 ~ [eb4,g4,bb4]@2 [eb4,g4,c5]@12 ~@2 [g4,bb4]@2 [eb4,g4,c5]@3 ~ [eb4,g4,bb4] ~, ~@24 eb4 ~@7]/2", // Eb Cm Gm Cm Eb
  AY: "[[eb4,g4,c5] ~ [eb4,g4,bb4]@3 ~ g4@2 [eb4,ab4,c5]@16 [f3,f4]@2 [g3,g4]@2 [ab3,ab4]@2 bb4@2, ~@6 eb4 ~@23 bb3 ~]/2", // Cm Eb Ab F G Ab
  AZ: "[[d4,d5]@5 ~ [c4,c5] ~ c5@2 [bb3,bb4]@9 ~ [g3,eb4]@2 [ab3,f4]@2 [bb3,eb4,g4]@7 ~, ~@8 c4 ~@23]/2", // D C Bb Cm Db Eb
  BA: "[d4,ab4]@3 ~ [d4,f4] ~ [bb3,g4] ~ g3@2 eb4!3 ~ eb4 ~, ~@8 eb4 ~@7", BB: "[g3,bb3,eb4] ~@3 [g3,eb4]@3 ~@9",
})).s("gm_accordion").gain(0.5).pan(0.3)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  ~ A B C D B@2 C@2 B@2 C D B@2 D C E F G A H C H I J F G A H C H I K L M L N B@3 O L@2 P@2 Q R S R T U V W X Y Z L@2 N
  B@3 O L@3 AA AB R S R AC
>`.pickRestart({
  A: "~@10 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~", B: "~@2 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~",
  C: "~@2 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~", // Adim
  D: "~@2 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~@3 [f4,a4,c5] ~", E: "[d4,f4,bb4] ~@3 [d4,f4,bb4]@2 ~@10",
  F: "~@10 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~", G: "~@2 [eb4,a4,c5] ~@13",
  H: "~@2 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~", // Bb Adim
  I: "~@2 [eb4,a4,c5] ~@3 [eb4,a4,c5] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~", J: "~@2 [d4,f4,bb4] ~@13",
  K: "[d4,f4,bb4] ~@3 [d4,f4,bb4] ~@5 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~", // Bb Eb
  L: "~@2 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~", // Eb
  M: "~@2 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,ab4,bb4] ~@3 [eb4,g4,bb4] ~", // Eb Ebsus4 Eb
  N: "~@2 [eb4,g4,bb4] ~@3 [eb4,a4,c5] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~", // Eb Adim Bb
  O: "~@2 [d4,f4,bb4] ~@3 [d4,f4,ab4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~", // Bb Ddim Eb
  P: "[~@2 g4 ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,ab4,c5] ~@3 [eb4,ab4,c5] ~, ~ [eb4,bb4]@2 ~@13, ~@3 c-1@24 ~@5]/2", // Eb Ab Eb5
  Q: "~@2 [eb4,ab4,c5] ~@3 [eb4,ab4,c5] ~@3 [c4,d4,f4,bb4] ~@3 [d4,f4,bb4] ~", // Ab Bb
  R: "~@2 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~", // Bb Eb
  S: "~@2 [eb4,g4,bb4] ~@3 [d4,f4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~", T: "[eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@11",
  U: "~@8 g4@2 f4@2 eb4@2 d4 ~", V: "eb4@2 d4 ~ c4@2 ~@10", W: "~@8 f4 ~ eb4 ~ d4 ~ c4 ~", X: "bb3 ~@7",
  Y: "~@10 [g4,bb4,eb5] ~@3 [eb4,g4,bb4] ~", Z: "~@2 [bb3,eb4,g4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~",
  AA: "~@2 [eb4,g4,bb4] ~@3 [eb4,g4,bb4] ~@3 [eb4,ab4,c5] ~@3 [eb4,ab4,c5] ~", // Eb Ab
  AB: "~@2 [eb4,ab4,c5] ~@3 [eb4,ab4,c5] ~@3 [d4,f4,bb4] ~@3 [d4,f4,bb4] ~", AC: "[eb4,g4,bb4] ~@3 [g3,bb3,eb4]@2 ~@10",
})).s("gm_electric_guitar_jazz").gain(0.22).pan(0.7)

// chords · trumpet
const trumpet = note(`<
  A B ~@2 C D E F G H ~@2 C D E I J K ~ L ~ M N O P Q ~ R ~ M N S T U V ~@7 W X@2 Y@2 Z AA AB@2 AC AD AE AF AG AH ~@7 W
  AI@2 AJ@2 AK AA AL AM
>`.pickRestart({
  A: "~@8 [a3,eb4,f4] ~@3 [a3,eb4,f4] ~@3", B: "[a3,f4] ~@15, eb4 ~@7", C: "~@8 f3 ~ f3!3 ~ a3 ~",
  D: "bb3 ~ f3 ~ bb3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4]", // Dm Dbm Dm Bb Dm Dbm
  E: "[d4,f4] ~ [bb3,d4]@3 ~ [d4,f4] [db4,e4] [d4,f4] ~ [d4,bb4] ~ [d4,c5]@2 ~ [d4,bb4]", // Dm Bb Dm Dbm Dm Gm D7 Gm
  F: "[d4,bb4] ~ [c4,a4]@5 ~ [c4,a4] ~ [c4,a4] ~ [c4,a4]@2 ~ [eb4,g4]", // Gm F Eb
  G: "[eb4,g4] ~ [a3,f4]@4 ~@2 [a3,f4] ~ [eb4,g4] ~ [a3,f4]@2 ~ [a3,eb4]", H: "[a3,eb4] ~ [bb3,d4]@3 ~@11",
  I: "[d4,bb4] ~ [c4,a4]@4 ~@2 [c4,a4] ~ [c4,a4] ~ [c4,a4]@2 ~ [eb4,g4]", // Gm F Eb
  J: "[eb4,g4] ~ [a3,f4]@5 ~ [f3,a3,f4] ~ [eb3,eb4] ~ [d3,d4] ~ [c3,c4] ~", // Eb Dm F Eb D C
  K: "[bb2,bb3]@2 ~@2 [bb3,d4,f4]@2 gb4@2 [a3,c4,eb4,g4]@2 ~@2 [a3,c4,eb4,gb4] ~ [a3,c4,eb4,g4]@2", // Bb Am7b5 Adim Am7b5
  L: "~@4 [a3,c4,eb4] ~ [g3,db4,e4] ~ [bb3,d4,f4]@2 ~@2 [db4,e4]@2 [bb3,d4,f4] ~, ~@12 bb3 ~@3", // Adim Dbdim Bb Dbm Bb
  M: "~ [g3,bb3] [a3,c4] [g3,bb3] [f3,a3]@3 [a3,c4]", N: "[eb3,g3]@5 ~ [eb3,f3]@2 [f3,a3]@8",
  O: "~@2 [g3,bb3]@2 [a3,c4]@2 [g3,bb3]@2 [f3,a3]@5 ~ [a3,c4]@2", P: "[eb3,g3]@5 ~ gb3@2 [d3,f3]@8, ~@6 eb3 ~@9",
  Q: "~@4 [bb3,d4,f4]@2 gb4 ~ [c4,eb4,g4]@2 ~@2 [a3,c4,eb4,gb4] ~ [a3,c4,eb4,g4]@2, ~@8 a3 ~@7", // Bb Cm Adim Am7b5
  R: "~@4 [a3,c4,eb4] ~ [g3,db4,e4] ~ [bb3,d4,f4]@2 ~@2 [db4,e4]@2 [d4,f4]@2, ~@12 bb3 ~ bb3 ~", // Adim Dbdim Bb Dbm Dm
  S: "~@2 [g3,bb3] ~ [a3,c4]@2 g3@2 [f3,a3]@5 ~ [a3,c4] ~, ~@6 bb3 ~@9", T: "[eb3,g3]@5 ~ [eb3,f3] ~ [d3,bb3]@8",
  U: "~@4 [d4,bb4] ~@5 [eb4,g4,bb4] ~@3 [bb3,eb4,g4] ~", V: "~@2 [g3,bb3,eb4] ~@3 [eb3,g3,bb3] ~@9",
  W: "~@8 [eb4,g4,bb4]@7 ~", // Eb
  X: "[[eb4,g4,bb4]@7 ~ [eb4,bb4] ~ [eb4,g4,c5]@11 ~@3 [eb4,g4,bb4]@2 [eb4,g4,c5]@3 ~ [eb4,g4,bb4] ~, ~@4 g4 ~@11]/2", // Eb Eb5 Cm Eb Cm Eb
  Y: "[[g4,c5]@2 [eb4,g4,bb4]@3 ~ [bb3,g4]@2 [eb4,ab4,c5]@13 ~@3 [f3,f4]@2 g3@2 [ab3,ab4]@2 [bb3,bb4] ~, eb4 ~@5 eb4 ~@19 g4 ~@5]/2", // C5 Eb Ab F Ab Bb
  Z: "[d4,d5]@5 ~ [c4,c5] ~ [c4,c5]@2 bb4@6, ~@10 bb3 ~@5", AA: "~@4 eb4@2 ab3@2 [bb3,g4]@7 ~, ~@4 g3 ~ f4 ~@9",
  AB: "[[d4,ab4]@4 [d4,f4] ~ [d4,g4] ~ [g3,eb4]@10 ~@2 [g3,eb4]@2 ~@10]/2", AC: "~@4 g4 f4 eb4 d4",
  AD: "eb4 ~ d4 ~ c4@3 ~@9", AE: "~@4 f4 eb4 d4 c4",
  AF: "bb3 ~@3 bb3 ~@3 bb2@2 [b2,b3] ~ bb3@2 ~@2, ~@8 bb3 ~@3 bb2 ~@3", // B
  AG: "[bb2,bb3] ~ [d3,d4] ~ [bb2,bb3]@2 ~@2 [eb3,g3,eb4] ~ [eb3,g3,eb4] ~@3 [eb3,g3,eb4] ~", // Bb D Bb Eb
  AH: "~@2 [eb3,g3,eb4] ~@3 [eb3,g3,eb4] ~@9", // Eb
  AI: "[[eb4,g4,bb4]@7 ~ [eb4,g4,bb4]@2 [eb4,g4,c5]@13 ~ [eb4,g4,bb4]@2 [eb4,g4,c5]@3 ~ [eb4,g4,bb4] ~]/2", // Eb Cm Eb Cm Eb
  AJ: "[[eb4,g4,c5]@2 [eb4,g4,bb4]@3 ~ [bb3,eb4,g4] ~ [eb4,ab4,c5]@15 ~ [f3,f4]@2 [g3,g4]@2 [ab3,ab4]@2 [bb3,bb4]@2]/2", // Cm Eb Ab F G Ab Bb
  AK: "[d4,d5]@5 ~ [c4,c5] ~ [c4,c5] ~ [bb3,bb4]@6", AL: "[d4,ab4]@3 ~ f4@2 [d4,g4] ~ [g3,eb4]@8, ~@4 d4 ~@11",
  AM: "~@4 [g3,eb4] ~@11", // Cm
})).s("gm_trumpet").gain(0.36).pan(0.7)

// drums · kick
const kick = s("bd").struct("<A B C@16 A C A C@5 A C A C@21 D B D B E B C@16 F>".pickRestart({
  A: "~@2 x!2", B: "x ~ x!2", C: "x!4", D: "x!3 ~", E: "x!2", F: "x!2 ~@2",
})).gain(0.71)

// drums · snare
const snare = s("sd").struct(`<
  ~ A B@3 A B@3 C B@3 D B@3 E F G F B@4 H F G F B@4 I J B@3 A B@3 A B@3 A B G K L ~ M ~ N O J B@3 J B@3 A B@3 J B@3 L
>`.pickRestart({
  A: "~@2 x!3 ~ x ~@3 x ~@3 x ~", B: "~ x ~ x ~ x ~ x", C: "~@2 x!3 ~ x!2 ~@2 x ~@3 x ~",
  D: "~@2 x ~ x!4 ~@2 x ~@3 x ~", E: "x ~ x!6 ~@2 x ~@3 x ~", F: "~@5 x ~ x", G: "~ x ~ x ~ x!3",
  H: "x ~ x!6 ~@4 x ~ x ~", I: "x ~ x!3 ~@5 x ~@3 x ~", J: "~ x!3 ~ x ~ x", K: "~@2 x ~ x ~ x ~@3 x ~@3 x!2",
  L: "x ~ x!3 ~@11", M: "~@2 x!3 ~ x ~@9", N: "~@2 x!3 ~ x ~@3 x ~ x ~@3", O: "~ x!2 ~ x!2 ~ x",
})).gain(0.64)
// … 14 more lines

More by Last