Strudelify

America

L. Bernstein

KeyD majorTempo200 bpm
0:00/0:00
// America — L. Bernstein
// 200 bpm, 6/8, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2154926; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 156 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(200/3)

// 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.

// other · clarinet · "Bb Clarinet"
const clarinet = note(`<
  ~@4 A B A C D E F G@3 ~@2 H I ~@2 J K L M ~ N A B A C D E F O@2 P Q R@2 S@2 T U V W X@2 Y Z AA@2 AB@2 T AC V W AD AE
  AF AE AG AH AI AJ AK ~@4 H I ~@2 J K L M ~ N A B A C D E F G@3 ~ AL Q R@2 S@2 AM U AN W X@2 AO Z AA@2 AB@2 AM AC V W
  AD AE AF AE AG AH AI AJ AK ~@4 H I ~@2 J K L M ~ AP AQ AR AQ AS AT AU AV AW AX AY AX AZ BA BB BC BD BE BF BG BH
>`.pickRestart({
  A: "g4 ~@2 g4 ~ g4 ~@2 c5 ~@2 c5 ~ c5 ~@2", B: "a4@5 f4@5 ~ c4@5", C: "d5@5 b4@5 ~ g4@5",
  D: "a#4 ~@2 a#4 ~ a#4 ~@2 d#5 ~@2 d#5 ~ d#5 ~@2", E: "d5@5 a#4@5 ~ f4@5",
  F: "d#4 ~@2 d#4 ~ d#4 ~@2 g#4 ~@2 g#4 ~ g#4 ~@2", G: "[g4@5 e5@3 ~@3 c4@37]/3", H: "e4@3 a4@2 g4@3 e4@3 a4@2 g4@3",
  I: "e4@5 e4@3 c4@8", J: "b5@3 a5@5 ~@8", K: "a4@3 d5@2 c5@3 a4@3 d5@2 c5@3", L: "a4@5 a4@3 f4@8", M: "f4@3 ~@13",
  N: "b4@3 ~@13", O: "[g4@5 e5 ~@5 c4@21]/2", P: "~@11 c5@2 c#5@3", Q: "d#5@3 d#5@2 d#5@3 d#5@3 d#5@2 d#5@3",
  R: "d#5@3 f5@2 f#5@3 g#5@3 f#5@2 f5@3", S: "[d#5@3 ~@2 d#5@3 d5@24]/2", T: "~@11 d5@2 d#5@3",
  U: "f5@3 d5@2 a#4@3 f5@3 d5@2 a#4@3", V: "a5 a#5@4 a5 a#5@4 ~ a5 a#5@4", W: "a5 a#5@2 g#5@2 f5@3 a5 a#5@2 g#5@2 f5@3",
  X: "[g5@3 ~@2 g5@3 e5@24]/2", Y: "~@11 c5@2 d5@3", Z: "e5@3 e5@2 e5@3 e5@3 e5@2 e5@3",
  AA: "e5@3 f5@2 g5@3 a5@3 g5@2 f5@3", AB: "[e5@3 ~@2 e5@3 d5@24]/2", AC: "e5 f5@2 d5@2 a#4@3 e5 f5@2 d5@2 a#4@3",
  AD: "a5 a#5@2 ~@2 a#5@3 g#5@3 ~ c#5@2 d5@2, ~@11 c5@2 ~@3", AE: "d#5@3 d#5@2 d#5@3 g#5@3 g#5@2 g#5@3",
  AF: "f5@5 c#5@5 ~ g#4@5", AG: "a#5@5 g5@5 ~ d#5@5", AH: "f#5@3 f#5@2 f#5@3 b5@3 b5@2 b5@3", AI: "a#5@5 f#5@5 ~ c#5@5",
  AJ: "b4@3 b4@2 b4@3 e5@3 e5@2 e5@3", AK: "d#5 [e5,f5] [f#5,g5] g#5 [a5,a#5] c6@3 ~@8, ~@5 b5 ~@10",
  AL: "~@11 c5 ~ c#5 ~@2", AM: "~@11 d5 ~ d#5 ~@2", AN: "a#5@5 a5 a#5@4 ~ a5 a#5@4", AO: "~@11 c5 ~ d5 ~@2",
  AP: "g3 ~@2 b3 ~ d4 ~@2 g4 ~@2 b4 ~ d5 ~@2", AQ: "g5 ~@2 g5 ~ g5 ~@2 c6 ~@2 c6 ~ c6 ~@2",
  AR: "a5@3 ~@2 f5@3 ~@3 c5@3 ~@2", AS: "d6@3 ~@2 b5@3 ~@3 g5@3 ~@2", AT: "a#5 ~@2 a#5 ~ a#5 ~@2 d#6 ~@2 d#6 ~ d#6 ~@2",
  AU: "d6@3 ~@2 a#5@3 ~@3 f5@3 ~@2", AV: "d#5 ~@2 d#5 ~ d#5 ~@2 g#5 ~@2 g#5 ~ g#5 ~@2", AW: "g5@5 e6@3 ~@3 c4@5",
  AX: "b4@3 b4 ~ b4 ~@2 e5@3 e5 ~ e5 ~@2", AY: "c#5@5 a4@5 ~ e4@5", AZ: "f#5@5 d#5@5 ~ b4@5",
  BA: "d5@3 d5 ~ d5 ~@2 g5@3 g5 ~ g5 ~@2", BB: "f#5@5 d5@5 ~ a4@5", BC: "g4@3 g4 ~ g4 ~@2 c5@3 c5 ~ c5 ~@2",
  BD: "b4@5 g#5@3 ~@3 g#4@2 a4@3", BE: "b4@3 b4 ~ b4 ~@2 b4@3 b4 ~ b4 ~@2", BF: "b4@3 c#5 ~ d5@3 e5 ~@2 d5@2 c#5 ~@2",
  BG: "b4@3 c#5 ~ d5 ~@2 e5@3 d5 ~ c#5 ~@2", BH: "b4@5 e5@3 e4@3 ~@5",
})).s("gm_clarinet").gain(0.45)

// other · clarinet · "Bb Clarinet"
const clarinet_2 = note(`<
  A B A B C D C E F G H I A B A B ~@2 J K@2 L M N ~ O C D C E F G P Q@2 R S T@2 U@2 V W X Y Z@2 AA AB AC@2 AD@2 V AE X Y
  AF AG AH AG AI AJ AK AL AM A B A B ~@2 J K@2 AN AO N ~ AP C D C E F G H AQ@3 ~ AR S T@2 U@2 AS W AT Y Z@2 AU AB AC@2
  AD@2 AS AE X Y AF AG AH AG AI AJ AK AL AM A B A B ~@2 J K@2 L M AV ~ AW AX AY AX AZ BA BB BC BD BE BF BE BG BH BI BJ
  BK BL BM BN BO
>`.pickRestart({
  A: "~@3 e4 ~ e4 ~@5 e4 ~ e4 ~@2", B: "~@3 e4 ~@4 e4 ~@4 e4 ~@2", C: "e4 ~@2 e4 ~ e4 ~@2 g4 ~@2 g4 ~ g4 ~@2",
  D: "f4@5 c4@5 ~ a3@5", E: "b4@5 g4@5 ~ d4@5", F: "g4 ~@2 g4 ~ g4 ~@2 a#4 ~@2 a#4 ~ a#4 ~@2", G: "a#4@5 f4@5 ~ d4@5",
  H: "c4 ~@2 c4 ~ c4 ~@2 d#4 ~@2 d#4 ~ d#4 ~@2", I: "e4@5 c5@3 ~@3 c4@5", J: "e4@3 a4@2 g4@3 c5@3 a4@2 g4@3",
  K: "[b4@5 b4@3 a4@16 b4@3 a4@5]/2", L: "f4 ~@2 f4 ~ f4 ~@2 f4 ~@2 f4 ~ f4 ~@2", M: "f4 ~@4 a4 g#4 g4 f4@8",
  N: "d3@3 ~@13", O: "f#5 g5@2 d5@2 b4@3 g4@3 f4@2 d4@3", P: "c4 ~@2 c4 ~ c4 ~@2 d#4 ~@2 c4 ~ d#4 ~@2",
  Q: "[e4@5 c5 ~@5 c4@21]/2", R: "~@11 c4@2 c#4@3", S: "d#4@3 d#4@2 d#4@3 d#4@3 d#4@2 d#4@3",
  T: "d#4@3 f4@2 f#4@3 g#4@3 f#4@2 f4@3", U: "[d#4@3 ~@2 d#4@3 d4@24]/2", V: "~@11 d4@2 d#4@3",
  W: "f4@3 d4@2 a#3@3 f4@3 d4@2 a#3@3", X: "a4 a#4@4 a4 a#4@4 ~ a4 a#4@4", Y: "a4 a#4@2 g#4@2 f4@3 a4 a#4@2 g#4@2 f4@3",
  Z: "[g4@3 ~@2 g4@3 e4@24]/2", AA: "~@11 c4@2 d4@3", AB: "e4@3 e4@2 e4@3 e4@3 e4@2 e4@3",
  AC: "e4@3 f4@2 g4@3 a4@3 g4@2 f4@3", AD: "[e4@3 ~@2 e4@3 d4@24]/2", AE: "e4 f4@2 d4@2 a#3@3 e4 f4@2 d4@2 a#3@3",
  AF: "a4 a#4@2 ~@2 a#4@3 g#4@8", AG: "g#4@3 g#4@2 g#4@3 g#4@3 g#4@2 g#4@3", AH: "g#4@5 f4@5 ~ c#4@5",
  AI: "a#4@5 g4@5 ~ d#4@5", AJ: "b4@3 b4@2 b4@3 b4@3 b4@2 b4@3", AK: "a#4@5 f#4@5 ~ c#4@5",
  AL: "e4@3 e4@2 e4@3 g#4@3 g#4@2 g#4@3", AM: "g#4 a4 ~ a#4 b4 c5@3 ~@8", AN: "f4@3 f4@2 f4@3 f4@3 f4@2 f4@3",
  AO: "f4@3 ~@2 a4 g#4 g4 f4@8", AP: "f#5 g5@2 d5 ~ b4 ~@2 g4@3 f4@2 d4@3", AQ: "[e4@5 c5@3 ~@3 c4@37]/3",
  AR: "~@11 c4 ~ c#4 ~@2", AS: "~@11 d4 ~ d#4 ~@2", AT: "a#4@5 a4 a#4@4 ~ a4 a#4@4", AU: "~@11 c4 ~ d4 ~@2",
  AV: "f3@3 ~@13", AW: "g3 ~@2 b3 ~ d4 ~@2 g4 ~@2 b4 ~ d5 ~@2", AX: "e5 ~@2 e5 ~ e5 ~@2 g5 ~@2 g5 ~ g5 ~@2",
  AY: "f5@3 ~@2 c5@3 ~@3 a4@3 ~@2", AZ: "b5@3 ~@2 g5@3 ~@3 d5@3 ~@2", BA: "d#5 ~@2 d#5 ~ d#5 ~@2 g5 ~@2 g5 ~ g5 ~@2",
  BB: "a#5@3 ~@2 f5@3 ~@3 d5@3 ~@2", BC: "c5 ~@2 c5 ~ c5 ~@2 d#5 ~@2 d#5 ~ d#5 ~@2", BD: "e5@5 c6@3 ~@3 c4@5",
  BE: "g#4@3 g#4 ~ g#4 ~@2 b4@3 b4 ~ b4 ~@2", BF: "a4@5 e4@5 ~ c#4@5", BG: "d#5@5 b4@5 ~ f#4@5",
  BH: "b4@3 b4 ~ b4 ~@2 d5@3 d5 ~ d5 ~@2", BI: "d5@5 a4@5 ~ f#4@5", BJ: "e4@3 e4 ~ e4 ~@2 g4@3 g4 ~ g4 ~@2",
  BK: "g#4@5 e5@3 ~@3 g#3@2 a3@3", BL: "b3@3 b3 ~ b3 ~@2 b3@3 b3 ~ b3 ~@2", BM: "b3@3 c#4 ~ d4@3 e4 ~@2 d4@2 c#4 ~@2",
  BN: "b3@3 c#4 ~ d4 ~@2 e4@3 d4 ~ c#4 ~@2", BO: "b3@5 e4@3 e3@3 ~@5",
})).s("gm_clarinet").gain(0.45)

// other · clarinet · "Bb Clarinet"
const clarinet_3 = note(`<
  A B A B C D C E F G H I A B A B J K C L M ~@2 N O P C D C E F G H Q R S T U T V W X W X W Y Z Y Z Y Z X W X W X W AA
  AB AC AB AD AE AF AG AH A B A B AB AI AJ L M ~@2 N O AK C D C E F G H I R AL R S T U AM V W X W X W Y Z Y Z Y Z X W X
  W X W AA AB AC AB AD AE AF AG AH A B A B J K C AN M ~@2 N O ~ AO AP AO AQ AR AS AT AU AV AW AV AX AY AZ BA BB BC BD BE
  BF
>`.pickRestart({
  A: "~@3 g3 ~ g3 ~@5 g3 ~ g3 ~@2", B: "~@3 g3 ~@4 g3 ~@4 g3 ~@2", C: "c4 ~@2 c4 ~ c4 ~@2 e4 ~@2 e4 ~ e4 ~@2",
  D: "c4@5 a3@5 ~ f3@5", E: "g4@5 d4@5 ~ b3@5", F: "d#4 ~@2 d#4 ~ d#4 ~@2 g4 ~@2 g4 ~ g4 ~@2", G: "f4@5 d4@5 ~ a#3@5",
  H: "g#3 ~@2 g#3 ~ g#3 ~@2 c4 ~@2 c4 ~ c4 ~@2", I: "c4@5 g4@3 ~@3 c4@5", J: "c4 ~@2 c4 ~ c4 ~@2 c4 ~@2 c4 ~ c4 ~@2",
  K: "c4 ~@4 e4 d4 c#4 c4@8", L: "g4@3 ~@2 g4@3 f4@8", M: "g5@3 f5@5 g4@3 f4@5", N: "a3@3 d4@2 c4@3 f4@3 d4@2 c4@3",
  O: "b3@5 b3@3 g3@8", P: "g3@3 ~@13", Q: "c4@5 g4 ~@5 c4@5", R: "~@3 e4 ~ e4 ~@5 e4 ~ e4 ~@2", S: "~@3 e4 ~@4 e4 ~@7",
  T: "~@3 d#4@2 d#4@3 ~@3 d#4@2 d#4@3", U: "~@3 d#4@3 ~@2 d#4@3 ~@2 d#4@3", V: "~@3 d#4@3 ~@2 f4@3 ~@2 f4@3",
  W: "~@3 f4@2 f4@3 ~@3 f4@2 f4@3", X: "~@3 f4@3 ~@2 f4@3 ~@2 f4@3", Y: "~@3 g4@3 ~@2 g4@3 ~@2 g4@3",
  Z: "~@3 g4@2 g4@3 ~@3 g4@2 g4@3", AA: "~@3 d#4@3 ~@2 d#4@3 ~ a#3@2 b3@2, ~@11 g#3@2 ~@3",
  AB: "c4@3 c4@2 c4@3 c4@3 c4@2 c4@3", AC: "c#4@5 g#3@5 ~ f3@5", AD: "d#4@5 a#3@5 ~ g3@5",
  AE: "d#4@3 d#4@2 d#4@3 d#4@3 d#4@2 d#4@3", AF: "c#4@5 a#3@5 ~ f#3@5", AG: "g#3@3 g#3@2 g#3@3 b3@3 b3@2 b3@3",
  AH: "c4@2 c#4@2 ~ d#4@3 ~@3 g#3@5, ~@2 d4 ~@5", AI: "c4@3 ~@2 e4 d4 c#4 c4@8", AJ: "c4@3 c4@2 c4@3 e4@3 e4@2 e4@3",
  AK: "d4@3 ~@13", AL: "~@3 e4 ~@4 e4 ~@4 e4 ~@2", AM: "~@3 d4@2 d#4@3 ~@3 d#4@2 d#4@3", AN: "g4 ~@4 g4@3 f4@8",
  AO: "c5 ~@2 c5 ~ c5 ~@2 e5 ~@2 e5 ~ e5 ~@2", AP: "c5@3 ~@2 a4@3 ~@3 f4@3 ~@2", AQ: "g5@3 ~@2 d5@3 ~@3 b4@3 ~@2",
  AR: "a#4 ~@2 a#4 ~ a#4 ~@2 d#5 ~@2 d#5 ~ d#5 ~@2", AS: "f5@3 ~@2 d5@3 ~@3 a#4@3 ~@2",
  AT: "g#4 ~@2 g#4 ~ g#4 ~@2 c5 ~@2 c5 ~ c5 ~@2", AU: "c5@5 g5@3 ~@3 c4@5", AV: "e4@3 e4 ~ e4 ~@2 g#4@3 g#4 ~ g#4 ~@2",
  AW: "e4@5 c#4@5 ~ a3@5", AX: "b4@5 f#4@5 ~ d#4@5", AY: "g4@3 g4 ~ g4 ~@2 b4@3 b4 ~ b4 ~@2", AZ: "a4@5 f#4@5 ~ d4@5",
  BA: "c4@3 c4 ~ c4 ~@2 e4@3 e4 ~ e4 ~@2", BB: "e4@5 b4@3 ~@3 g#3@2 a3@3", BC: "b3@3 b3 ~ b3 ~@2 b3@3 b3 ~ b3 ~@2",
  BD: "b3@3 c#4 ~ d4@3 e4 ~@2 d4@2 c#4 ~@2", BE: "b3@3 c#4 ~ d4 ~@2 e4@3 d4 ~ c#4 ~@2", BF: "b3@5 e4@3 e3@3 ~@5",
})).s("gm_clarinet").gain(0.45)

stack(clarinet, clarinet_2, clarinet_3)

More by L. Bernstein