Strudelify

America

Broadway

KeyB♭ majorTempo150 bpm
0:00/0:00
// America — Broadway
// 150 bpm, 6/8, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 80 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(150/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.

// chords · contrabass
const contrabass = note("<A B A B C D C E F G H I@3 A B J K L M N O P Q R S@2 ~@53>".pickRestart({
  A: "bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 [f3,d4]@3", B: "bb1@3 [f3,d4]@2 d2@3 [f3,d4]@3 bb1@2 [f3,d4]@3",
  C: "[bb1,bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4]@3 [f1,d4,f4,bb4]@3 [d4,f4,bb4]@2 [d4,f4,bb4]@3", // Bb
  D: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [bb3,eb4,g4]@5 [g3,bb3,eb4]@5 ~ [eb3,g3,bb3]@5", // Eb
  E: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [f4,a4,c5]@5 [c4,f4,a4]@5 ~ [a3,c4,f4]@5", // F
  F: "[bb1,db4,f4,ab4]@3 [db4,f4,ab4]@2 [db4,f4,ab4]@3 [f1,f4,ab4,db5]@3 [f4,ab4,db5]@2 [f4,ab4,db5]@3", // Bbm7 Db
  G: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [eb4,ab4,c5]@5 [c4,eb4,ab4]@5 ~ [ab3,c4,eb4]@5", // Ab
  H: "[bb1,gb3,bb3,db4]@3 [gb3,bb3,db4]@2 [gb3,bb3,db4]@3 [f1,bb3,db4,gb4]@3 [bb3,db4,gb4]@2 [bb3,db4,gb4]@3", // Gb Gbmaj7 Gb
  I: "[[bb1,bb3,d4,f4]@5 [f4,bb4,d5]@5 ~@6 bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 d2@3 [f3,d4]@3 bb1@2 [f3,d4]@3, ~@5 f1@3 ~@5 bb3@21 ~@14]/3", // Bb Dm
  J: "[bb1,d4]@3 g4@2 f4@3 [f1,d4]@3 g4@2 f4@3, bb3", K: "[bb1,bb3,d4]@3 f2@2 d4 c4 b3 [f1,f2]@3 bb1@2 f2@3, ~ bb3",
  L: "[bb1,d4]@3 g4@2 f4@3 [f1,bb4]@3 g4@2 f4@3, bb3 d4", // Bb Bb5
  M: "~ f4@2 f2@2 [f1,f4,a4]@3 f2@3 c2@2 f2@3, [c2,a4]@3 ~@5 [eb4,g4]@8", // F Eb
  N: "[f1,f5,a5]@3 f2@2 c2@3 [f2,f4,a4]@3 f1@2 f2@3, ~@3 [eb5,g5]@5 ~@3 [eb4,g4]@5", // F Eb
  O: "[c2,g4]@3 c5@2 bb4@3 [f1,g4]@3 c5@2 bb4@3, eb4", // C5 Fsus2
  P: "[c2,eb4]@3 f2@2 ~@3 f2@3 c2@2 f2@3, g4@5 [f1,g4]@2 f4@2 ~@7, ~@3 gb4 eb4@4", // Cm Fsus2
  Q: "[f1,g4]@3 c5@2 bb4@3 [f2,eb5]@3 c5@2 bb4@3, eb4 g4", // Fsus2 F7
  R: "c2@3 f2@2 ~@6 c2@2 f2@2 [e3,e5], [f4,a4]@5 [f1,a4]@2 gb4@2 f4@7, ~@6 g4@2 f2@3 ~@5", // E F
  S: "[[f3,f4,f5]@3 [c3,c5]@2 [a2,a4]@3 [f2,f3,f4]@3 [eb2,eb3,eb4]@2 [c2,c3,c4]@5 ~@14]/2", // F C A F Eb C
})).s("gm_contrabass").gain(0.31)

// chords · cello
const cello = note("<~@27 A B A B C D C E F G H I@3 A B J K L M N O P Q R S@2 ~@26>".pickRestart({
  A: "bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 [f3,d4]@3", B: "bb1@3 [f3,d4]@2 d2@3 [f3,d4]@3 bb1@2 [f3,d4]@3",
  C: "[bb1,bb3,d4,f4]@3 [bb3,d4,f4]@2 [bb3,d4,f4]@3 [f1,d4,f4,bb4]@3 [d4,f4,bb4]@2 [d4,f4,bb4]@3", // Bb
  D: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [bb3,eb4,g4]@5 [g3,bb3,eb4]@5 ~ [eb3,g3,bb3]@5", // Eb
  E: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [f4,a4,c5]@5 [c4,f4,a4]@5 ~ [a3,c4,f4]@5", // F
  F: "[bb1,db4,f4,ab4]@3 [db4,f4,ab4]@2 [db4,f4,ab4]@3 [f1,f4,ab4,db5]@3 [f4,ab4,db5]@2 [f4,ab4,db5]@3", // Bbm7 Db
  G: "bb1@3 f2@2 f1@3 f2@3 bb1@2 f2@3, [eb4,ab4,c5]@5 [c4,eb4,ab4]@5 ~ [ab3,c4,eb4]@5", // Ab
  H: "[bb1,gb3,bb3,db4]@3 [gb3,bb3,db4]@2 [gb3,bb3,db4]@3 [f1,bb3,db4,gb4]@3 [bb3,db4,gb4]@2 [bb3,db4,gb4]@3", // Gb Gbmaj7 Gb
  I: "[[bb1,bb3,d4,f4]@5 [f4,bb4,d5]@5 ~@6 bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 [f3,d4]@3 bb1@3 [f3,d4]@2 d2@3 [f3,d4]@3 bb1@2 [f3,d4]@3, ~@5 f1@3 ~@5 bb3@21 ~@14]/3", // Bb Dm
  J: "[bb1,d4]@3 g4@2 f4@3 [f1,d4]@3 g4@2 f4@3, bb3", K: "[bb1,bb3,d4]@3 f2@2 d4 c4 b3 [f1,f2]@3 bb1@2 f2@3, ~ bb3",
  L: "[bb1,d4]@3 g4@2 f4@3 [f1,bb4]@3 g4@2 f4@3, bb3 d4", // Bb Bb5
  M: "~ f4@2 f2@2 [f1,f4,a4]@3 f2@3 c2@2 f2@3, [c2,a4]@3 ~@5 [eb4,g4]@8", // F Eb
  N: "[f1,f5,a5]@3 f2@2 c2@3 [f2,f4,a4]@3 f1@2 f2@3, ~@3 [eb5,g5]@5 ~@3 [eb4,g4]@5", // F Eb
  O: "[c2,g4]@3 c5@2 bb4@3 [f1,g4]@3 c5@2 bb4@3, eb4", // C5 Fsus2
  P: "[c2,eb4]@3 f2@2 ~@3 f2@3 c2@2 f2@3, g4@5 [f1,g4]@2 f4@2 ~@7, ~@3 gb4 eb4@4", // Cm Fsus2
  Q: "[f1,g4]@3 c5@2 bb4@3 [f2,eb5]@3 c5@2 bb4@3, eb4 g4", // Fsus2 F7
  R: "c2@3 f2@2 ~@6 c2@2 f2@2 [e3,e5], [f4,a4]@5 [f1,a4]@2 gb4@2 f4@7, ~@6 g4@2 f2@3 ~@5", // E F
  S: "[[f3,f4,f5]@3 [c3,c5]@2 [a2,a4]@3 [f2,f3,f4]@3 [eb2,eb3,eb4]@2 [c2,c3,c4]@5 ~@14]/2", // F C A F Eb C
})).s("gm_cello").gain(0.31)

// chords · tuba
const tuba = note("<~@53 A B C B D E F G H I J K L@2 C B M@5 N@5 O>".pickRestart({
  A: "~@5 bb1@3 [f3,d4]@3 [f3,d4]@2 bb1@3", B: "[f3,d4]@3 [f3,d4]@2 bb1@3 [f3,d4]@3 d2@2 [f3,d4]@3",
  C: "bb1@3 [f3,d4]@2 bb1@3 [f3,d4]@3 [f3,d4]@2 bb1@3", // Dm
  D: "bb1@3 [f3,d4]@2 [bb1,bb3,d4,f4]@3 [bb3,d4,f4]@3 [bb3,d4,f4]@2 [f1,d4,f4,bb4]@3", // Dm Bb
  E: "[d4,f4,bb4]@3 [d4,f4,bb4]@2 bb1@3 f2@3 f1@2 f2@3, ~@5 [bb3,eb4,g4]@5 ~ [g3,bb3,eb4]@5", // Bb Eb
  F: "bb1@3 f2@2 [bb1,bb3,d4,f4]@3 [bb3,d4,f4]@3 [bb3,d4,f4]@2 [f1,d4,f4,bb4]@3, [eb3,g3,bb3]@5 ~@11", // Bb Eb
  G: "[d4,f4,bb4]@3 [d4,f4,bb4]@2 bb1@3 f2@3 f1@2 f2@3, ~@5 [f4,a4,c5]@5 ~ [c4,f4,a4]@5", // Bb F
  H: "bb1@3 f2@2 [bb1,db4,f4,ab4]@3 [db4,f4,ab4]@3 [db4,f4,ab4]@2 [f1,f4,ab4,db5]@3, [a3,c4,f4]@5 ~@11", // Bbm7 Db F
  I: "[f4,ab4,db5]@3 [f4,ab4,db5]@2 bb1@3 f2@3 f1@2 f2@3, ~@5 [eb4,ab4,c5]@5 ~ [c4,eb4,ab4]@5", // Db Ab
  J: "bb1@3 f2@2 [bb1,gb3,bb3,db4]@3 [gb3,bb3,db4]@3 [gb3,bb3,db4]@2 [f1,bb3,db4,gb4]@3, [ab3,c4,eb4]@5 ~@11", // Gb Gbmaj7 Ab
  K: "[bb3,db4,gb4]@3 [bb3,db4,gb4]@2 [bb1,bb3,d4,f4]@5 ~ [f4,bb4,d5]@5, ~@11 f1@3 ~@2", // Gb Bb
  L: "[~@5 bb1@3 [f3,d4]@3 [f3,d4]@2 bb1@3 [f3,d4]@3 [f3,d4]@2 bb1@3 [f3,d4]@3 d2@2 [f3,d4]@3, ~@3 bb3@21 ~@8]/2", // Dm
  M: "[bb1@3 [f3,d4]@2 [bb1,d4]@3 g4@3 f4@2 [f1,d4]@3 g4@3 f4@2 [bb1,bb3,d4]@3 f2@3 [c4,d4] b3 [f1,f2]@3 bb1@3 f2@2 [bb1,d4]@3 g4@3 f4@2 [f1,bb4]@3 g4@3 f4@2 ~ f4@2 f2@3 [f1,f4,a4]@2 f2@3 c2@3 f2@2 [f1,f5,a5]@3 f2@3 c2@2 [f2,f4,a4]@3, ~@5 bb3@16 ~@8 bb3@8 bb3@8 d4@8 [c2,a4]@3 ~@5 [eb4,g4]@8 ~@3 [eb5,g5]@5 ~@3]/5", // Dm Bb Dm Bb Csus2 F Bb Bb5 …
  N: "[f1@3 f2@2 [c2,g4]@3 c5@3 bb4@2 [f1,g4]@3 c5@3 bb4@2 [c2,eb4]@3 f2@3 ~@2 f2@3 c2@3 f2@2 [f1,g4]@3 c5@3 bb4@2 [f2,eb5]@3 c5@3 bb4@2 c2@3 f2@3 ~@5 c2@3 ~ [e3,e5] [f3,f4,f5]@3 [c3,c5]@3 [a2,a4]@2 [f2,f3,f4]@3, [eb4,g4]@5 eb4@16 g4@5 ~ [f1,gb4,g4]@2 eb4@8 eb4@8 ~@8 [f4,a4]@5 ~ [f1,g4,a4]@2 f2@3 ~@3 f2@3 ~@10, ~@28 f4@2 ~@15 g4@8 ~@7 gb4@2 f4@7 ~@11]/5", // C5 Fsus2 Cm Fsus2 F7 E F C …
  O: "[eb2,eb3,eb4]@3 [c2,c3,c4]@5 ~@8", // Eb C
})).s("gm_tuba").gain(0.31)

stack(contrabass, cello, tuba)

More by Broadway