Strudelify

My Favorite Things (from The Sound of Music)

Richard Rodgers

KeyG majorTempo220 bpm
0:00/0:00
// My Favorite Things (from The Sound of Music) — Richard Rodgers
// 220 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5669329; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 172 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(220/3)

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

// chords · piano
const piano = note(`<
  A B C D ~@3 E F ~ G H I J K L M N O P Q R S R S R S R T U V U W X Y Z AA AB AC AD AE AF AG AF AH AI AH AJ AK AL AM AL
  AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BL BM BN BO BP BQ BR BS BT BU BV BW BV
  BW BX BY BZ BY CA CB CC CB CD CE CF CG CH CI CJ CK CL CM CN CM BX BY BZ BY CA CB CC CB CD CE CF CO CP CQ CR CS CT CU
  CV CU BX CW CX BY CA CY CZ CB CD CE CF CO CP CQ DA DB DC DD DE DF DG DH DI DJ DK DL DM DN DO DP DQ DR DS DT DU DV DW
  DX DY DZ
>`.pickRestart({
  A: "b4@5 e5@5 ~ e5@5, [c3,g3]@15 ~", B: "b4@5 a4@5 ~ a4@5, [d3,f#3]@15 ~", C: "g4@5 c5@5 ~ c5@5, [a2,e3]@15 ~",
  D: "g4@5 f#4@5 ~ f#4@5, [b2,d#3]@15 ~", E: "~@5 [e3,b3,g4,e5]@3 ~@3 [e3,b3,g4,e5]@3 ~@2", F: "[c3,g4,b4,e5]@3 ~@13",
  G: "[e2,e3,g3,b3,e4]@3 ~@13", H: "~@5 [c3,g3,g4,e5]@3 ~@3 [c3,g3,g4,e5]@3 ~@2",
  I: "[a4,c5,e5]@5 b5@5 ~ a5@5, [a2,a3]@15 ~", J: "[a4,c5,e5]@5 f#5@5 ~ d5@5, d3@15 ~",
  K: "[a4,d5]@5 a5@5 ~ g5@5, [b2,b3]@15 ~", L: "[e2,e3,g4,c5]@15 ~", M: "[g4,b4]@5 c5@5 ~ d5@5, [d2,d3]@15 ~",
  N: "[c5,e5]@5 f#5@5 ~ g5@5, [c2,c3]@15 ~", O: "[c5,f#5,a5]@5 b5@5 ~ a5@5, f#2@15 ~", P: "[b1,b2,b4,d#5]@15 ~",
  Q: "a#2@3 [e2,b2] ~ [g3,b3,e4]@3 ~@3 [b3,e4,g4]@3 ~@2", R: "[b1,b2]@3 ~@2 [g3,b3,e4]@3 ~@3 [b3,e4,g4]@3 ~@2",
  S: "e2@3 ~@2 [g3,b3,e4]@3 ~@3 [b3,e4,g4]@3 ~@2", T: "f#2@3 [c2,g2] ~ [g3,c4,e4]@3 ~@3 [c4,e4,g4]@3 ~@2",
  U: "[g1,g2]@3 ~@2 [g3,c4,e4]@3 ~@3 [c4,e4,g4]@3 ~@2", V: "c2@3 ~@2 [g3,c4,e4]@3 ~@3 [c4,e4,g4]@3 ~@2",
  W: "[c5,e5]@5 b5@5 ~ a5@5, [a2,e3]@15 ~", X: "[c5,e5]@5 f#5@5 ~ d5@5, [d3,a3]@15 ~",
  Y: "[a4,d5]@5 a5@5 ~ g5@5, [b2,f#3]@15 ~", Z: "[e3,c4,g4,c5]@15 ~", AA: "[d4,g4,b4]@5 c5@5 ~ d5@5, [d3,g3]@15 ~",
  AB: "[g4,c5,e5]@5 f#5@5 ~ g5@5, [c3,g3]@15 ~", AC: "[c5,f#5,a5]@5 b5@5 ~ a5@5, [f#3,c4]@15 ~",
  AD: "[a4,c5,d#5]@10 ~ b4@5, [b2,f#3]@15 ~", AE: "~@5 [e4,g#4,b4]@3 ~@3 [e2,b2,e4,g#4,b4,e5]@3 ~@2, a#2@11 ~@5",
  AF: "~@5 [e4,g#4,b4]@3 ~@3 [e4,g#4,b4,e5]@3 ~@2, [b1,b2] ~", AG: "~@5 [e4,g#4,b4]@3 ~@3 [e4,g#4,b4,e5]@3 ~@2, e2 ~",
  AH: "~@5 [g#4,b4]@3 ~@3 [g#4,b4,e5]@3 ~@2, e2 ~", AI: "~@5 [g#4,b4]@3 ~@3 [g#4,b4,e5]@3 ~@2, [b1,b2] ~",
  AJ: "[b1,b2]@5 [g#4,b4]@3 ~@3 [g#4,b4,e5]@3 ~@2", AK: "~@5 [c#4,e4,a4]@3 ~@3 [a2,e3,e4,a4,c#5,e5]@3 ~@2, d#3@11 ~@5",
  AL: "~@5 [c#4,e4,a4]@3 ~@3 [e4,a4,c#5,e5]@3 ~@2, [e2,e3] ~", AM: "~@5 [c#4,e4,a4]@3 ~@3 [e4,a4,c#5,e5]@3 ~@2, a2 ~",
  AN: "[a2,c5,e5]@5 [e3,g3,b5]@5 ~ [e3,g3,a5]@5", AO: "[d2,c5,e5]@5 [d3,f#3,f#5]@5 ~ [d3,f#3,d5]@5",
  AP: "[b2,a4,d5]@5 [f#3,a3,a5]@5 ~ [f#3,a3,g5]@5", AQ: "e2@5 [c3,e3]@5 ~ [c3,e3]@5, [g4,c5]@15 ~",
  AR: "[d3,g3,d4,g4,b4]@5 c5@5 ~ d5@5", AS: "[c3,g3,g4,b4,e5]@5 f#5@5 ~ g5@5",
  AT: "[c5,e5,a5]@5 a#5@5 ~ b5@5, [f#2,c#3,f#3]@15 ~", AU: "[d#5,g5,c6]@10 ~ f#5@5, [b2,a3]@15 ~",
  AV: "~@5 [g2,g3,b3,e4,b4]@3 ~@3 [g2,g3,b3,e4,b4]@3 ~@2", AW: "[g2,g3,b3,e4,b4]@10 ~ [e3,g3,b3,e4]@5",
  AX: "~@5 [f#2,f#3,c4,e4,a4]@3 ~@3 [f#2,f#3,c4,e4,a4]@3 ~@2", AY: "[f#2,f#3,b3,e4,a4]@10 ~ [b2,a3,b3,d#4]@5",
  AZ: "~@5 [e2,e3,g3,b3,e4,g4]@5 ~ [e2,e3,g3,b3,e4,g4]@5", BA: "[e2,e3,g3,b3,e4,g4]@10 ~ [g2,e3,g3,b3]@5",
  BB: "[e3,e4]@5 [g4,g5]@5 ~ [g4,e5]@5, [c2,c3]@15 ~", BC: "[g4,c5]@5 [c4,g4]@5 ~ [c4,e4]@5, g2@15 ~",
  BD: "[c2,c3,c4,e4]@5 [c3,g3,d4,f#4]@5 ~ [c3,g3,c4,e4]@5", BE: "[g2,d4,f#4]@5 [c3,g3,c4,e4]@5 ~ [c3,g3,d4,f#4]@5",
  BF: "[c#2,c#3,g3,a3,e4,g4]@5 [e3,a3,f#4,a4]@5 ~ [e3,a3,e4,g4]@5", // A7 F#m7 A7
  BG: "a2@5 [e3,a3]@5 ~ [e3,a3,e4,g4]@5, [f#4,a4]@5 ~@3", BH: "[d4,g4,b4]@5 [e4,g4,c5]@5 ~ [d4,g4,b4]@5, [d2,d3]@15 ~",
  BI: "[d2,d3,e4,g4,c5]@5 [b3,b4] ~@2 [c4,c5] ~@2 [c#4,c#5] ~ [d4,d5] ~@2", BJ: "[f#4,b4,d#5]@5 ~@11, [d3,c4]@3 ~@13",
  BK: "~ d5@3, [d2,c4], ~ [d3,f#4]@15, ~@3 b4@13", // D7 D
  BL: "[g4,b4,d5]@3 ~@2 [d3,b3]@5 ~ [d3,b3]@5, g2@5 [b4,g5]@3 ~@3 [b4,g5]@3 ~@2", // G Em
  BM: "[b4,d5,a5]@3 ~@2 [d3,b3]@5 ~ [d3,b3]@5, d2@5 [b4,g5]@3 ~@3 [b4,d5]@3 ~@2", // Bm7 G Em Bm
  BN: "[c5,e5,g5]@3 ~@2 [e3,c4]@5 ~ [g3,e4]@5, c3@5 [g5,d6]@3 ~@3 [g5,d6]@3 ~@2", // C G5
  BO: "[c5,e5,a5]@3 ~@2 [e3,c4]@5 ~ [g3,e4]@5, g2@5 [c5,g5]@3 ~@3 [c5,g5]@3 ~@2", // Am C C5
  BP: "[e4,g4,d5]@3 ~@2 [e3,c4]@5 ~ [g3,e4]@5, c3@5 [c5,g5]@3 ~@3 [c5,g5]@3 ~@2", // Em7 C C5
  BQ: "[g2,c5,e5,a5]@5 [e3,c4]@5 ~ [g3,e4]@5, ~@5 [c5,e5,g5]@10 ~", BR: "[g2,g4]@5 [d3,d5]@5 ~ [c3,c5]@5",
  BS: "[f2,f4]@5 [e2,e4]@5 ~ [d2,d4]@5", BT: "[c#2,c#4]@5 [g#2,g#4]@5 ~ [f#2,f#4]@5",
  BU: "[b1,b3]@5 [a1,a3]@5 ~ [g#1,g#3]@5", BV: "~@5 [c#4,f#4,a4,c#5]@3 ~@3 [a4,c#5,f#5]@3 ~@2, [f#2,f#3]@15 ~",
  BW: "~@5 [c#4,f#4,a4,c#5]@3 ~@3 [a4,c#5,f#5]@3 ~@2, c#3@15 ~", // F#m
  BX: "[f#2,a4,f#5]@5 [c#3,f#3]@5 ~@3 c#6@3, ~@5 c#6@8 ~@3, ~@11 [c#3,f#3]@5", // F#m F#5
  BY: "[c#2,a4,g#5]@5 [c#3,f#3,f#5]@5 ~ [c#3,f#3]@5", BZ: "[f#2,a4,c#5]@5 [c#3,f#3,f#5]@5 ~ [c#3,f#3]@5",
  CA: "[d2,a4,f#5]@5 [d3,f#3]@5 ~@3 c#6@3, ~@5 c#6@8 ~@3, ~@11 [d3,f#3]@5", // D
  CB: "[a2,a4,g#5]@5 [d3,f#3,f#5]@5 ~ [d3,f#3]@5", CC: "[d2,a4,c#5]@5 [d3,f#3,f#5]@5 ~ [d3,f#3]@5",
  CD: "[b1,b2,d5,f#5]@5 [b2,d3,f#3,c#6]@5 ~ [b2,d3,f#3,b5]@5", CE: "[e2,d5,f#5]@5 [b2,e3,g#3,g#5]@5 ~ [b2,e3,g#3,e5]@5",
  CF: "[c#2,c#5,e5]@5 [c#3,e3,g#3,b5]@5 ~ [c#3,e3,g#3,a5]@5", CG: "f#2@5 [d3,f#3]@5 ~ [d3,f#3]@5, [a4,d5]@15 ~",
  CH: "[e4,a4,c#5]@5 d5@5 ~ e5@5, [e2,e3]@15 ~", CI: "[a4,d5,f#5]@5 g#5@5 ~ a5@5, [d2,d3]@15 ~",
  CJ: "[d5,g#5,b5]@5 c#6@5 ~ b5@5, g#2@15 ~", CK: "[g#4,c#5,f5]@10 ~ b4@5, [c#2,c#3]@15 ~",
  CL: "~@5 [a3,c#4,f#4]@3 ~@3 [f#2,c#3,c#4,f#4,a4]@3 ~@2, c3@11 ~@5", // F#m
  CM: "~@5 [a3,c#4,f#4]@3 ~@3 [c#4,f#4,a4]@3 ~@2, [c#2,c#3] ~", CN: "~@5 [a3,c#4,f#4]@3 ~@3 [c#4,f#4,a4]@3 ~@2, f#2 ~",
  CO: "f#2@5 [a2,d3,f#3]@5 ~ [a2,d3,f#3]@5, [a4,d5]@15 ~", CP: "[e2,e4,a4,c#5]@5 [c#3,a3,d5]@5 ~ [c#3,a3,e5]@5",
  CQ: "[d2,a4,d5,f#5]@5 [a2,f#3,g#5]@5 ~ [a2,f#3,a5]@5", CR: "[g#2,d5,g#5,b5]@5 [f#3,d4,c#6]@5 ~ [f#3,d4,b5]@5",
  CS: "c#2@5 [f3,b3]@5 ~ [f3,b3,b4]@5, [g#4,c#5,f5]@5 ~@3", // Fdim C#
  CT: "~@5 [f#4,a#4,c#5]@3 ~@3 [f#2,c#3,f#4,a#4,c#5,f#5]@3 ~@2, c3@11 ~@5", // F#
  CU: "~@5 [f#4,a#4,c#5]@3 ~@3 [f#4,a#4,c#5,f#5]@3 ~@2, [c#2,c#3] ~", // F# C#
  CV: "~@5 [f#4,a#4,c#5]@3 ~@3 [f#4,a#4,c#5,f#5]@3 ~@2, f#2 ~", CW: "[c#2,a4,g#5]@5 [c#3,f#3,f#5]@5 ~ [c#3,f#3,f#5]@5",
  CX: "[f#2,a4,c#5]@5 [c#3,f#3,f#5]@5 ~ [c#3,f#3,f#5]@5", CY: "[a2,a4,g#5]@5 [d3,f#3,f#5]@5 ~ [d3,f#3,f#5]@5",
  CZ: "[d2,a4,c#5]@5 [d3,f#3,f#5]@5 ~ [d3,f#3,f#5]@5", DA: "[g#2,d5,g#5,b5]@5 [f#3,d4,c6]@5 ~ [f#3,d4,c#6]@5",
  DB: "c#2@5 [f3,b3]@5 ~ b5 c#6 d#6 ~ f6, [f5,a5,d6]@10 ~ [f3,b3]@5", // Fdim Dm Fdim
  DC: "[f#5,f#6]@3 ~@2 [c#3,f#3,f#4,a4,c#5]@3 ~@3 [c#3,f#3,f4,a4,c#5]@3 ~@2, f#2@5 ~@11", // F# F#m
  DD: "[c#3,f#3,e4,a4,c#5]@10 ~ [c#3,f#3,a3,d#4,f#4]@5", DE: "~@5 [d3,f#3,d4,g#4,b4]@3 ~@3 [d3,f#3,d4,g4,b4]@3 ~@2",
  DF: "[d3,f#3,d4,f#4,b4]@10 ~ [c#3,g#3,b3,c#4,f4]@5", DG: "~@5 [c#3,f#3,f#4,a4]@5 ~ [c#3,f#3,f4,g#4]@5",
  DH: "[c#3,f#3,e4,g4]@10 ~ [c#3,f#3,d#4,f#4]@5", DI: "[d3,f#4,a4]@5 [a3,d4,b4]@5 ~ [a3,d4,c#5]@5",
  DJ: "[a2,d5]@5 [a3,d4,e5]@5 ~ [a3,d4,f#5]@5", DK: "[a2,a4,d5,f#5]@5 [a3,d4,e5,g#5]@5 ~ [a3,d4,d5,f#5]@5",
  DL: "[a2,e5,g#5]@5 [a3,d4,d5,f#5]@5 ~ [a3,d4,e5,g#5]@5", // Amaj7 D Asus4
  DM: "[b2,d#5,f#5,a5]@5 [f#3,b3,g#5,b5]@5 ~ [f#3,b3,f#5,a5]@5", // B7 G#m7 B7
  DN: "f#2@5 [f#3,b3]@5 ~ [f#3,b3,f#5,a5]@5, [d#5,g#5,b5]@5 ~@3", // B5 B7 G#m
  DO: "[e2,e5,a5,c#6]@5 [c#3,a3,f#5,a5,d6]@5 ~ [c#3,a3,e5,a5,c#6]@5", // A Dmaj7 A
  DP: "[e2,e3,f#5,a5,d6]@5 [c#4,c#6] ~@2 [d4,d6] ~@2 [d#4,d#6] ~ [e4,e6] ~@2", // D C# D D# E
  DQ: "[g#5,c#6,f6]@5 ~@11, [e3,d4]@3 ~@13", DR: "~ e5@3, [e2,d4], ~ [e3,g#4]@15, ~@3 c#5@13",
  DS: "[a4,c#5,e5,a5]@3 ~@2 [a4,c#5,e5]@3 ~@3 [e4,a4,c#5]@3 ~@2, a2@5 [e3,c#4]@5 ~ [e3,c#4]@5", // A C#m
  DT: "[c#4,e4,a4]@3 ~@2 [e4,a4,c#5]@3 ~@3 [a4,c#5,e5]@3 ~@2, e2@5 [e3,c#4]@5 ~ [e3,c#4]@5", // A C#m
  DU: "[a4,d5,f#5,a5]@3 ~@2 [a4,d5,f#5]@3 ~@3 [a3,f#4]@5, d3@5 [a3,f#4]@5 ~ [a4,d5]@3 ~@2", // D D5
  DV: "[d4,f#4,a4]@3 ~@2 [a3,f#4]@5 ~ [a4,d5,f#5]@3 ~@2, a2@5 [a4,d5]@3 ~@3 [a3,f#4]@5", // D D5 D
  DW: "[e4,a4,c#5,e5]@3 ~@2 [e3,a3,c#4]@5 ~ [e3,a3,c#4]@5, [e2,e3]@5 [e4,a4,c#5]@3 ~@3 [e4,a4]@3 ~@2", // A E A A5
  DX: "[e4,g#4,b4,d5]@3 ~@2 [e3,g#3,b3]@5 ~ [e3,g#3,b3]@5, [e2,e3]@5 [e4,g#4,b4]@3 ~@3 [e4,g#4]@3 ~@2", // E7 E
  DY: "[a2,a3]@5 [d2,d3]@5 ~ [e2,e3]@5, [c#4,e4,a4] ~", DZ: "[a1,a2,a4,c#5,e5,a5]@3 ~@13",
})).s("gm_piano").gain(0.3)

stack(piano)

More by Richard Rodgers