Strudelify

Over the Rainbow

Harold Arlen

KeyG majorTempo120 bpm
0:00/0:00
// Over the Rainbow — Harold Arlen
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5843276; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · violin · "Violín"
const violin = note("<A@2 B C D E F G A@2 B C D E F H I J K L I M N O P@2 B C Q L F H I R S T>".pickRestart({
  A: "[b3 b4@2 d4]/2", B: "e4@4 c5 b4 a4 g4", C: "f#4", D: "a3@2 g4 e4", E: "d4@2 d4!2", F: "e4@2 d4 f#4", G: "d4",
  H: "b3 d4", I: "g4 d4 b3@2", J: "a4 f#4 c4@2", K: "g4!2", L: "d4 f#4", M: "a#3 c#4 e4@2", N: "f#4 a4@2 f#4",
  O: "g4 e4 b3 f#4", P: "[b3@4 b4@8 d4 e4 f#4 g4]/2", Q: "a3 e4", R: "a4 f#4 c4 f#4", S: "c5 d5", T: "b4",
})).s("gm_violin").gain(0.3)

// other · cello · "Violonchelo"
const cello = note("<A B C D C E F G A B C D C E F H I J K L I M N O P Q R D S T F H I J U V>".pickRestart({
  A: "g2 e3", B: "b2@2 d3 e3", C: "c3 a2", D: "b2 d3 f#3 b2", E: "g3@4 d3 e3 f#3 g3", F: "a3@2 d3!2", G: "g2",
  H: "g2 b2", I: "g3", J: "a3", K: "c3 e3 g2 a2", L: "b2 c3 d3 f#3", M: "c#3", N: "d3 f#3", O: "c3 b2", P: "g2@2 e3 g2",
  Q: "b2 d3", R: "c3 e3 g3@2", S: "c3 e3 a2 c3", T: "g3@2 b2@2 d3 e3 f#3 g3", U: "a2 c3 f#3 a3", V: "b3",
})).s("gm_cello").gain(0.3)

stack(violin, cello)