Strudelify
KeyG majorTempo180 bpm
0:00/0:00
// The Waltons — Television Theme Songs
// 180 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 81 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(180/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · xylophone
const xylophone = note(`<
  A B C D E F G H I J K L M N C D E B C D E F G H I J K L M N C D E O P Q P R S T U V W X Y Z C D E O P Q P R AA AB AC
  AD AE X Y N C D E B C D E F G H I J K L M N C D AF
>`.pickRestart({
  A: "~@11 d3@5", B: "c3@5 a2@5 ~ d2@5", C: "g2@11 a2@2 b2@3", D: "c3@11 b2@2 a2@3", E: "g2@11 d3@5",
  F: "b2@5 a2@5 ~ g2@5", G: "a2@11 b2@2 c#3@3", H: "e3@11 f#3@2 d3@3", I: "a2@11 e2@5", J: "a2@5 b2@5 ~ c#3@5",
  K: "d3@11 b2@2 a2@3", L: "d2@11 e2@2 f#2@3", M: "a2@11 b2@2 a2@3", N: "d2@5 e2@5 ~ f#2@5", O: "g2@5 f2@5 ~ d2@5",
  P: "c2@11 a2@2 g2@3", Q: "f2@11 e2@2 d2@3", R: "c2@11 c3@5", S: "g2@11 g2@2 a2@3", T: "a#2@11 f2@5",
  U: "g2@11 e2@2 d2@3", V: "g2@11 g2@5", W: "f2@11 d2@2 c2@3", X: "f2@11 c2@5", Y: "d2@11 b2@2 a2@3", Z: "d2@11 f#2@5",
  AA: "g2@11 d2@2 e2@3", AB: "g2@11 d2@5", AC: "g2@11 a2@2 g2@3", AD: "f2@11 c3@5", AE: "f2@11 c2@2 d2@3",
  AF: "g2@11 ~@5",
})).s("gm_xylophone").gain(0.64).pan(0)

// chords · french horn
const french_horn = note(`<
  ~ A B C D E F@3 G H@3 I B C D A B C D E F@3 G H@3 I J K J L M N O P Q R Q S T@2 U@2 B C B V M N O P W Q@2 X Y@2 Z I J
  K AA A B C D E F@3 G H@3 I J K ~
>`.pickRestart({
  A: "[c4,e4]@11 [c4,f#4]@5", B: "~@5 [b3,d4,g4]@11", C: "~@5 [c4,e4,g4]@11", D: "~@5 [b3,d4,g4]@5 ~@6", E: "[b3,d4]",
  F: "~@5 [c#4,e4]@11", G: "[e4,g4]", H: "~@5 [d4,f#4]@11", I: "[c4,f#4]", J: "~@5 [b3,d4]@11", K: "~@5 [c4,e4]@11",
  L: "[d4,g4]@11 [f4,g4]@5", M: "~@5 [e4,g4,c5]@11", N: "~@5 [f4,a4,c5]@11", O: "~@5 [g4,c5,e5]@11", P: "[g4,c5]",
  Q: "~@5 [d4,g4,b4]@11", R: "~@5 [d4,f4,a#4]@11", S: "[g4,b4]", T: "~@5 [c4,f4]@11", U: "~@5 [c4,f#4]@11",
  V: "[d4,g4]@11 [f#4,g4]@5", W: "~@5 [g4,b4,d5]@11", X: "[a4,c5]@11 [f4,a4]@5", Y: "~@5 [c4,f4,a4]@11",
  Z: "~@5 [c4,f#4,a4]@5 ~@6", AA: "~@5 [b3,d4]@5 ~@6",
})).s("gm_french_horn").gain(0.32)

stack(xylophone, french_horn)

More by Television Theme Songs