Strudelify

cant take my eyes off you

Frankie Valli

KeyG majorTempo120 bpm
0:00/0:00
// cant take my eyes off you — Frankie Valli
// 120 bpm, 4/4, key G 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/1914686; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 95 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 · trumpet · "Bb Trumpet"
const trumpet = note(`<
  A@2 B@2 A@2 C@2 D@2 E@4 F@2 G H I ~ J K L ~ M N M N M N M O ~ P Q@2 R S T U V P Q@2 R W@2 X@2 Y@2 Z@2 AA@2 AB@2 AC@2
  AD@2 AE AF AG@2 M N M O ~ AH AI@2 AJ AK AL AM AN AO AP AQ AR AS AT@2 AU P Q@2 R AV@5
>`.pickRestart({
  A: "f4", B: "c4/2", C: "[c4@5 ~@3]/2", D: "[a4@4 a4!2 ~ a4@9]/2", E: "[a4@5 a4 ~ a4@9]/2", F: "[d4@5 d4 ~ d4@9]/2",
  G: "~@12 g#4 a4 a#4 c5", H: "d5 c#5", I: "c5", J: "b3", K: "a#3", L: "a3", M: "c#5@4 d5 ~@3 c#5@4 d5 ~@3",
  N: "c#5@4 d5@2 f5 ~@3 e5 ~@3 d5@2", O: "f5", P: "f4!2 ~ f4 ~ f4 ~ e4", Q: "e4!2 ~ e4 ~ e4 ~ e4",
  R: "c4!2 ~ c4 ~ c4 ~ c4", S: "d4!2 ~ d4 ~ d4 ~ d4", T: "d4!2 ~ c4 ~ c4 ~ c4", U: "c4!4", V: "c4@3 ~",
  W: "[a#3@3 d4@3 d4@3 d4@3 d4@2 a#3@2]/2", X: "[f4@3 g4@11 ~@2]/2", Y: "[g#4@5 g#4 ~ g#4@9]/2",
  Z: "[g4@5 g4 ~ g4@9]/2", AA: "[f#4@5 f#4 ~ f#4@9]/2", AB: "[f4@5 f4 ~ f4@9]/2", AC: "[f#4@5 e4 ~ e4@9]/2",
  AD: "[d#4@5 d#4 ~ d#4@9]/2", AE: "d4", AF: "c#4", AG: "a#4 g#4 ~ g4@2 g#4 a#4 c5", AH: "f5!2 ~ f5 ~ f5 ~ e5",
  AI: "e5!2 ~ e5 ~ e5 ~ e5", AJ: "c5!2 ~ c5 ~ c5 ~ c5", AK: "d5!2 ~ d5 ~ d5 ~ d5", AL: "d5!2 ~ c5 ~ c5 ~ c5",
  AM: "c5!4", AN: "~ a4!3", AO: "a4 d4@4 e4 f4 g4", AP: "a4 a4@2 g4@2 f4 e4 f4", AQ: "g4 c4@4 d4 e4 f4",
  AR: "g4 g4@2 f4@2 f4!2 d4", AS: "f4 a#3@4 ~@3", AT: "[f4@2 f4 e4@2 f4 e4 d4@9]/2", AU: "~ a4 c5 a#4",
  AV: "[a#3@6 d4@6 ~ d4@6 d4@6 d4@4 ~ a#3@4 f4@7 a#4@30 ~@9]/5",
})).s("gm_trumpet").gain(0.4)

// other · trombone
const trombone = note(`<
  A@2 B@2 A@2 C@2 D@6 E@2 F@2 D@2 G@2 C@2 H I J K H I J L ~ M@2 N@2 O M P Q M@2 N@2 R@2 S@2 T@6 U@2 E@2 T@2 V@2 A W H I
  J L ~ M@2 N@2 O M P Q M@2 N@2 O M P Q M@2 N@2 X@5
>`.pickRestart({
  A: "f3", B: "c3/2", C: "[g3 f3@2 e3@2 f3@2 g3@2 a3@7]/2", D: "[a3@5 a3 ~ a3@9]/2", E: "[a#3@5 a#3 ~ a#3@9]/2",
  F: "[g3@5 g3 ~ g3@9]/2", G: "g3/2", H: "g3@4 g3 ~@3 g3@4 g3 ~@3", I: "g3@4 g3@2 g3 ~@3 g3 ~@3 g3@2",
  J: "f3@4 f3 ~@3 f3@4 f3 ~@3", K: "f3@4 f3@2 a3 ~@3 a3 ~@3 f3@2", L: "f#3", M: "a#3!2 ~ a#3 ~ a#3 ~ a#3",
  N: "a3!2 ~ a3 ~ a3 ~ a3", O: "a3!2 ~ a#3 ~ a#3 ~ a#3", P: "a3!4", Q: "f#3@3 ~",
  R: "[a3@3 a#3@3 a#3@3 a#3@3 a#3@2 a3@2]/2", S: "[a#3@3 a#3@11 ~@2]/2", T: "[c4@5 c4 ~ c4@9]/2",
  U: "[c#4@5 c#4 ~ c#4@9]/2", V: "a#3/2", W: "f3!8", X: "[a3@6 a#3@6 ~ a#3@6 a#3@6 a#3@4 ~ a3@4 a#3@7 a#3@30 ~@9]/5",
})).s("gm_trombone").gain(0.5)

// bass · tuba · "Bb Tuba"
const bass = note(`<
  A@2 B@2 A@2 B@2 C D C D C D E F E G C H C@2 I@2 J K C L J K C M N O P Q R O S T U O P Q R V@2 W@2 X Y X Y X Y Z AA Z
  AB AC AD E AE AF AG J K C M AH O P Q R O S T AI O P Q R O S T AI O P Q R AJ@3 AK@2
>`.pickRestart({
  A: "f3@3 f3 f3@4", B: "f3@3 f3 f3@3 f3", C: "f2@3 f2 f2@3 f2", D: "f2@3 f2@2 f3@2 c3", E: "a#2@3 a#2 a#2@3 a#2",
  F: "a#2@3 a#2@2 a#2@2 f2", G: "a#2@3 a#2@2 a2@3", H: "f2@3 f2@2 f2@2 f2", I: "f2/2", J: "g2@3 g2 g2@3 g2",
  K: "c3@3 c3 c3@3 c3", L: "f2@3 f2!3 d2 f2", M: "d2", N: "~@8 c3 d3 c3@2 a#2@2 a2@2", O: "g2!2 ~ d2 g2!2 ~ g2",
  P: "c3!2 ~ g2 c3!2 ~ a#2", Q: "a2!2 ~ e2 a2!2 ~ a2", R: "d3!2 ~ a2 d3!2 a#2 a2", S: "c3!2 ~ g2 c3 a#2 a2 g2",
  T: "f2!2 ~ f2!3 ~ f2", U: "d2!6 ~@2", V: "[g2@3 g2@3 g2@3 g2@3 g2@2 g2@2]/2", W: "[d#2@7 ~]/2",
  X: "g#2@3 g#2 g#2@3 g#2", Y: "g#2@3 g#2@2 g#2@2 d#2", Z: "c#3@3 c#3 c#3@3 c#3", AA: "c#3@3 c#3@2 c#3@2 g#2",
  AB: "c#3@3 c#3@2 c3@2 a#2", AC: "g#2 g#2@2 g#2 g#2@3 g#2", AD: "g#2@3 g#2@2 g#2@2 g#2", AE: "a#2@3 a#2 a#2@3 a2",
  AF: "g#2", AG: "g#2!8", AH: "d2@2 d2@2 d2@2 d2@2 c3 d3 c3@2 a#2@2 a2@2", AI: "d2@4 d2!4",
  AJ: "[g2@6 g2@6 ~ g2@6 g2@6 g2@4 ~ g2@4 d#2@14]/3", AK: "[a2 a#2 c3 d3 d#3@18 ~@10]/2",
})).s("gm_tuba").gain(0.4)

// other · trombone
const trombone_2 = note(`<
  A@2 B@2 A@2 ~ C D@4 E@2 F@2 G@2 H@2 I@2 J ~@9 K L M N O P Q@2 K L M N O R@2 S@2 ~@46
>`.pickRestart({
  A: "g3", B: "g3 f3@2 e3@2 f3 g3 a3", C: "a3@4 ~@4 c4@3 c4@2 c4@3",
  D: "[d4@4 c4@2 a3@4 c4@2 d4@8 ~@4 c4@3 c4@2 c4@3]/2", E: "[d4@3 c4@2 a3@3 c4@12 ~@4 c4@3 c4@2 a#3@3]/2",
  F: "[c4@3 a#3@2 c4@3 a#3@12 ~@4 a#3@3 a#3@2 a#3@3]/2", G: "[c4@4 a#3@2 a3@2 a#3@12 ~@4 a#3@3 a#3@2 a#3@3]/2",
  H: "[a#3@4 a3@2 g3@2 a3@12 ~@4 a3@3 a3@2 f3@3]/2", I: "[a3@3 g3@2 f3@3 g3@12 ~@4 g3@3 g3@2 e3@3]/2",
  J: "g3@2 f3 e3 f3@4", K: "~@4 g3 a3@3 a3@4 a3@4", L: "a3 d3@4 e3 f3 g3", M: "a3 a3@2 g3@2 f3 e3 f3",
  N: "g3 c3@4 d3 e3 f3", O: "g3 g3@2 f3@2 f3!2 d3", P: "f3 a#2@4 ~@3", Q: "[f3@2 f3 e3@2 f3 e3 d3@7 ~@2]/2",
  R: "[f3@3 g3@3 d3@3 e3@3 f3@2 d3@2]/2", S: "[f3@3 g3@11 ~@2]/2",
})).s("gm_trombone").gain(0.4)

stack(trumpet, trombone, bass, trombone_2)

More by Frankie Valli