Strudelify

Feliz Navidad V VC P

Jose Feliciano

KeyD majorTempo152 bpm
0:00/0:00
// Feliz Navidad V VC P — Jose Feliciano
// 152 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5862063; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 33 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(152/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/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 · cello · "Violoncello"
const cello = note("<~ A B C D A B E ~ F G H I J K L M N O P M N G Q R N O P M N G Q R>".pickRestart({
  A: "b2", B: "c#3", C: "a2", D: "f#2", E: "d3", F: "e2@3 b2@3 e2@2", G: "a2@3 e2@3 a2@2", H: "d2@3 a2@3 a2@2",
  I: "d2@3 a2@3 d2@2", J: "e2@3 e2@3 b2@2", K: "a2@3 a2@3 a2@2", L: "d2@2 d3 b2@2 a2@2 f#2", M: "d2 ~",
  N: "g2@3 d3@3 g2@2", O: "a2@3 e3@3 a2@2", P: "d3@3 d3@3 a2@2", Q: "d2@3 f#2 g2 f#2@2 e2", R: "d2 ~@3",
})).s("gm_cello").gain(0.3)

// chords · piano
const piano = note("<A B@2 C@2 D@4 E@2 F@2 G@3 H I@2 J@2 K L@2 M N@2 O@2 P Q@3>".pickRestart({
  A: "~@3 a4 d5@2 c#5 d5", B: "[[g3,b3]@3 [g3,b3]@2 [g3,b3]@2 [a3,c#4]@3 ~ b4 e5@2 d5 b4, b4 ~@3]/2",
  C: "[[f#3,a3]@3 [f#3,a3]@2 [f#3,a3]@2 [d3,f#3]@3 ~ a4 d5@2 c#5 d5, a4 ~@3]/2", // F#m D
  D: "[[g3,b3,g4,b4]@3 g4 [g4,b4] [g4,b4]@2 ~@2 [f#4,a4] [g4,b4] [f#4,a4] [e3,g3,a3,e4,g4]@2 [e4,g4] ~ [d3,f#3,a3]@4 ~@7 a4 d5@2 c#5 d5, ~@6 [g3,b3]@4 ~@4 [f#4,a4]@4 ~@12 [d4,f#4]@21 ~@13, ~@4 [g3,a3,c#4]!2 ~ [e3,g3,a3] ~@8]/4", // G F#m G F#m A7 Em D G …
  E: "[[g3,b3,d4]@3 [g3,b3,d4]@2 [g3,b3,d4]@2 [a3,c#4,e4]@3 ~ b4 e5@2 d5 b4, b4 ~@3]/2", // G A
  F: "[[d3,f#3,a3]@3 [d3,f#3,a3]@2 [d3,f#3,a3]@2 [f#3,a3,d4]@3 ~ a4 d5@2 c#5 d5, a4 ~@3]/2", // D
  G: "[[g3,b3,d4,g4,b4]@6 g4@2 [g4,b4]@2 [g4,b4]@4 ~@4 [f#4,a4]@2 [g4,b4]@2 [f#4,a4]@2 [e3,g3,a3,e4,g4]@4 [e3,g3,a3,e4,g4]@2 ~@2 [d3,f#3,a3]@15 ~, ~@6 [g3,b3,d4]@4 ~@4 [f#4,a4]@4 ~@12 [d4,f#4]@17 ~, ~@4 [g3,a3,c#4]!2 ~@6]/3", // G F#m G F#m A7 D G F#m …
  H: "[d3,f#3,a3,d4] ~ [a4,d5,f#5]@2 [a4,d5,f#5]@2 [a4,d5,f#5]@2 [a4,d5,f#5]@4 [a4,e5]@2 [a4,d5]@2", // D A5 D5
  I: "[[g4,b4,d5]@2 [g4,b4] [g3,b3,g4,b4]@2 e4 d4 ~@2 [g4,c#5,e5]!3 [a3,c#4,g4,c#5,e5]@2 [g4,d5] b4, [g3,b3]@3 ~@2 [g4,b4,d5]@3 ~@8, ~@7 [a3,c#4]@4 ~@5]/2", // G C#dim A7 G5 G A
  J: "[[d4,f#4,b4]@2 [d4,f#4,a4] [f#3,a3,d4,f#4,g#4]@2 b3 a3 [d3,f#3]@2 [a4,d5,f#5]!3 [d3,f#3,a4,d5,f#5]@2 [a4,e5] [a4,d5], [f#3,a3]@3 ~@2 [d4,f#4,a4]@3 ~@8]/2", // Bm D A5 D5 F#m D
  K: "[g3,b3,g4,b4,c#5]@2 [g4,b4] [g3,b3,g4,b4]@2 [g4,b4] [g4,b4,e5] [g4,b4,d5]", // C#m7b5 G Em G
  L: "[[g4,a4,c#5] ~@7 [f#3,a3]@3 [d3,f#3]@2 [d3,f#3]!3, [a3,c#4]!4 ~@4, ~@2 [g4,a4,c#5]@4 [g4,b4,d5]@4 [g4,c#5,e5]@4 [f#4,a4,d5]@17 ~]/2", // A7 F#m D A A7 G C#dim D
  M: "[d3,f#3,a3] ~ [a4,d5,f#5]@2 [a4,d5,f#5]@2 [a4,d5,f#5]@2 [a4,d5,f#5]@4 [a4,e5]@2 [a4,d5]@2", // D A5 D5
  N: "[[g4,b4,d5]@2 [g4,b4] [g3,b3,d4,g4,b4]@2 [g3,b3,d4]@2 ~@2 [g4,c#5,e5]!3 [a3,c#4,e4,g4,c#5,e5]@2 [g4,d5] b4, [g3,b3,d4]@3 ~@2 [g4,b4,d5]@3 ~@8, ~@7 [a3,c#4,e4]@4 ~@5]/2", // G C#dim A7 G5 G A
  O: "[[d4,f#4,b4]@2 [d4,f#4,a4] [d3,f#3,a3,d4,f#4,g#4]@2 [d3,f#3,a3]@2 ~@2 [a4,d5,f#5]!3 [d3,f#3,b3,a4,d5,f#5]@2 [a4,e5] [a4,d5], [d3,f#3,a3]@3 ~@2 [d4,f#4,a4]@3 ~@8, ~@7 [d3,f#3,b3]@4 ~@5]/2", // Bm D Bm7 A5 D5 D Bm
  P: "[g4,b4,d5]@2 [g4,b4] [e3,g3,b3,g4,b4]@2 [g4,b4] [g4,b4,e5] [g4,b4,d5], [e3,g3,b3]@3 ~@5", // G Em G Em G Em
  Q: "[[g4,a4,c#5]@2 ~@14 [d3,f#3,a3]@4 ~@2 a3@4 a3@2 f#3@2 e3 ~ d3@4 ~@12, [a3,c#4,e4]!4 ~@8, ~@2 [g4,a4,c#5]@4 [g4,b4,d5]@4 [g4,c#5,e5]@4 [f#4,a4,d5]@21 ~@13]/3", // A7 D A A7 G C#dim D
})).s("gm_piano").gain(0.3)

stack(cello, piano)

More by Jose Feliciano