Strudelify

time after time

Jule Styne

KeyD majorTempo102 bpm
0:00/0:00
// time after time — Jule Styne
// 102 bpm, 2/2, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5898298; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 37 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(102/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 · french horn · "Flügelhorn 1"
const french_horn = note("<A@2 B C D E F G H I ~ J K L ~@5 M N O P Q R ~ S T U V W X Y Z AA AB@2>".pickRestart({
  A: "[~ b4 a4 d5@2 c5 b4 a4]/2", B: "b4 a4", C: "g4", D: "e4 c4 e4 c4", E: "f4 c4 d4 f4", F: "e4@3 d4", G: "~ a4 g4@2",
  H: "c4 c5 g4 a4", I: "~ g4 a4@2", J: "~@3 d4", K: "~ e4 ~ e4", L: "~ e4 ~@2", M: "~ b3 c4 d4",
  N: "~ d#4 e4 d5 c5 e4 g4@2", O: "a4 g4", P: "g4@2 c4@2 c4 e4 g4 c#4", Q: "d4 c5 a4 b4 g4 a4 f4 g4", R: "e4@3 ~",
  S: "f4 c4 d4 e4", T: "g4 f4 e4 f4", U: "~ c5 ~ g4", V: "~ a4 g#4@2", W: "g4@2 ~ a4", X: "f#4 g4@2 c5",
  Y: "c5@2 a4 b4", Z: "c5 b4", AA: "g4@4 e4@2 ~ g4@2 b4@4 g4@3", AB: "[~@2 a4@4 e4@5 c4@11 ~@10]/2",
})).s("gm_french_horn").gain(0.32).pan(0)

// other · french horn · "Flügelhorn 2"
const french_horn_2 = note("<A@2 B C D E F E G H I@2 J K L M N O P Q D E F E G R ~ S T U V W X Y Z AA@2>".pickRestart({
  A: "[~ g4 f4 b4@2 a4 g4 f4]/2", B: "g4 f4", C: "e4", D: "~ g3 ~ a3", E: "~ a3 ~ b3", F: "g3 c4!2 b3", G: "g3 e4!2 c4",
  H: "b3@3 a3", I: "[~ d4@6 e4]/2", J: "~ c4 ~ c4", K: "~ c4 d#4@2", L: "f#4 e4 d#4 e4", M: "~ d4 c#4@2",
  N: "e4 d4 c#4 d4", O: "~ c4@3", P: "~ c4@2 c4", Q: "b3 g3 a3 b3", R: "a#3", S: "~@3 d4", T: "~ e4 ~ e4",
  U: "~ e4 d4@2", V: "d4@2 ~ e4", W: "c4@3 f#4", X: "g4 e4", Y: "a4 g4", Z: "e4@4 e4@4 ~ g4@4 e4@3",
  AA: "[~@2 c4@4 b3@5 g3@11 ~@10]/2",
})).s("gm_french_horn").gain(0.3).pan(1)

// other · french horn · "Horn in F"
const french_horn_3 = note("<A@2 B C D E F E G H I@2 J K L M N O P Q D E F E G R S@2 T U V W X Y Z@3>".pickRestart({
  A: "c4/2", B: "~ b3@2 b3", C: "c4 g3 a3 b3", D: "~ e3 ~ e3", E: "~ f3 ~ f3", F: "e3 c4 b3 g3", G: "e3 c4!2 g3",
  H: "~ e3@3", I: "[~ a3 b3 a3@2 g#3 a3 b3]/2", J: "e4 g4", K: "f#4 b3", L: "e4 b3", M: "g3@2 f4 e4", N: "a3",
  O: "~ a3@3", P: "~ a3@2 a3", Q: "g3 f3@3", R: "~ f3 e3@2", S: "[a3@7 g#3]/2", T: "~ g4 ~ g4", U: "f#4 f4", V: "e4 a4",
  W: "d4@3 a3", X: "g3@2 a3 b3", Y: "~ f3@2 f3", Z: "[g3@4 c4@4 ~ b3@9 f3@4 f3@5 e3@11 ~@10]/3",
})).s("gm_french_horn").gain(0.29).pan(0.3)

// bass · tuba
const bass = note("<A@2 B C D E F E G H I J K L M N O P Q@2 D E F E G R A@2 B S T U V E W@3>".pickRestart({
  A: "f2/2", B: "g2", C: "c2", D: "c2 ~ a2 ~", E: "d2 g2", F: "c2 ~ e2 ~", G: "c2 ~ g2 ~", H: "a2 a1", I: "f2",
  J: "e2@2 f#2 g#2", K: "a2 g2", L: "f#2 b2", M: "e2 b2", N: "a#2 a2", O: "d3 a2", P: "d2 d3", Q: "[g2@5 ~@3]/2",
  R: "c2 c3", S: "f#2 f2", T: "e2 a2", U: "d2@3 a2", V: "g2 a2", W: "[c2@9 e2@9 d2@4 g2@5 c3@11 ~@10]/3",
})).s("gm_tuba").gain(0.25)

stack(french_horn, french_horn_2, french_horn_3, bass)

More by Jule Styne