Strudelify

blue skies

Berlin Irving

KeyF majorTempo148 bpm
0:00/0:00
// blue skies — Irving Berlin
// 148 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/329686; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(148/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · trumpet · "Bb Trumpet"
const trumpet = note(`<
  ~@4 A ~ B C D E F G H@2 I ~@2 J K L@2 M N O P M N Q R@2 I ~@2 J ~@2 S T U V W X@2 ~@15 Y Z ~@4 AA AB AC ~@2 AD AE AD
  AF AG AH ~@2 AD AE AD AF AG AH ~ H@2 I ~@2 AI AJ@2 AK AD@3 ~
>`.pickRestart({
  A: "~@6 db5 d5", B: "~@2 d5 ~ d5 c5 d5 ~", C: "e5 ~@7", D: "~@3 c5", E: "b4 bb4 ~@2", F: "~@2 f5 ~",
  G: "e5 bb4 db5@2", H: "[~@6 d5 db5@9]/2", I: "~ d5 ~@2", J: "g4 ~@3", K: "~ e5",
  L: "[c5 db5 ~ d5 db5 d5 ~ eb5 d5 eb5 ~ e5 eb5 e5 ~ f5@5 ~@6 f5@6]/2", M: "c5@3 e5@5", N: "bb4@3 a4@3 c5@2",
  O: "c5@3 c5@3 c5@2", P: "f5@2 ~@3 f5@3", Q: "c5@3 c5@3 a4@2", R: "[d5@2 ~@4 d5 db5@9]/2", S: "d4@3 a4@4 d5",
  T: "db5 a4@2 f4@3 g4 ab4", U: "a4 f4@2 d4@3 ~ c4", V: "b3 d4 f4 a4 g4 f4 g4 ab4",
  W: "a4@2 bb4@2 b4@2 c5@4 a4@2 bb4 c5 ~ bb4", X: "[a4 f4@2 ~ d4@2 g4 c5@3 ~@6]/2", Y: "c4 eb4", Z: "ab4 c5",
  AA: "c4 f4", AB: "c4 g4", AC: "f4", AD: "f5@2 c5 f5@3 c5 ~", AE: "f5@2 c5 f5@4 ~", AF: "f5@2 c5 f5@3 c5@2",
  AG: "c5@2 c5 bb4", AH: "g4 ~@6 f5", AI: "c5 d5!2 c5", AJ: "c5 ~", AK: "c5!2",
})).s("gm_trumpet").gain(0.15)

// bass · electric bass finger · "Bass Guitar"
const bass = note(`<
  A B C D E F G H I J K L A M G H I N O P Q R S T Q R S T A M G H I N O U E M G H V W X Y K Z A AA AB AC AD U E M G H V
  W X Y K Z A AA AB AC AD AE AF@6 AG AH AF@6 AG AI A M G H I AJ AK@2 AL AM@3 AN
>`.pickRestart({
  A: "d2 e2 f2 a2", B: "g2@4 bb2@4 a2@3 a2 db3@4", C: "d3 a2 f2 d2", D: "bb2@4 e2@4 a2@3 a2 eb2@4", E: "d2 e2 f2 d2",
  F: "db2 a1 db2 e2", G: "f2 d2 a2 f2", H: "g2 d2 b1 g1", I: "f2 e2 d2 c2", J: "g1 d2 c2 gb2", K: "f2 g2 a2 f2",
  L: "e2@4 bb2@4 a2@3 a2 eb2@4", M: "db2 a2 db2 e2", N: "g1 d2 c2 g2", O: "f2@4 g2@4 a2@3 f2 d2@4", P: "e2@3 c2@3 c3@2",
  Q: "f2@2 ~@3 f2@3", R: "bb1@2 c2 f2@5", S: "g2@2 c2 f2@5", T: "c2!2 gb2 f2@5", U: "e2 g2 f2 eb2", V: "f2 e2 d2 f2",
  W: "g2@4 bb2@4 c3@3 g2 c2@4", X: "f2 ab2", Y: "db2 c2", Z: "e2 bb2 a2 eb2", AA: "g2 a2 b2 g2", AB: "f2 d2",
  AC: "g2 c2", AD: "f2", AE: "ab1 bb1", AF: "c2@2 c2!3 c2@2 c2", AG: "c2 ~@3", AH: "ab1@2 bb1@3 ab1@2 bb1",
  AI: "~@2 e2@2 db2@2 a2@2 db2 d2 ~ db2 a1@2 db2@2", AJ: "f2!2 g2 a2", AK: "~ c2", AL: "f2 c2", AM: "f2@2 c2 f2@3 c2 ~",
  AN: "f1 ~@3",
})).s("gm_electric_bass_finger").gain(0.25)

stack(trumpet, bass)

More by Berlin Irving