Strudelify

feeling good

Michael Bublé

KeyB♭ majorTempo108 bpm
0:00/0:00
// feeling good — Michael Bublé
// 108 bpm, 12/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/2568211; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 44 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(108/6)

// 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 · violin
const violin = note(`<
  A@2 B C D E@2 F G H I J K L K L K A@2 M@2 N O P Q R@2 S@2 T U V W X B C D E@2 F G H I Y
>`.pickRestart({
  A: "bb4!12", B: "~@3 g4 bb4 c5 d5@6", C: "c5!4 g4 bb4 c5@6", D: "~@3 g4!2 f4 g4 bb4 c5 d5@3, ~@18 c5 ~@5",
  E: "[~ f5@2 d5!2 db5 d5@3 ~ bb5@6 g5 f5 db5 c5 c5@2 bb4 g4]/2", F: "~@2 g4@2 bb4@2 c5@2 db5@2 c5@2 bb4@6 ~@4 g4 f4",
  G: "g4@2 bb4@2 bb4 g4 bb4@2 d5@2 d5 db5", H: "d5@2 f5@4 ~@2 d5 c5 bb4 g4", I: "c5@12 ~@4 g4!2 c5@2 bb4@2 g4@2",
  J: "g4 ~", K: "d4!12", L: "g4!12", M: "[g4,d5]!12", N: "[g4,d5]!6 a4 ~@5", O: "~@4 g4 c5 db5 c5 db5 c5 db5 c5",
  P: "bb4 g4!2 g4@2 g4@7, ~@6 gb4 ~@3 gb4 ~@13", Q: "~@2 db5@2 db5@2 db5@2 db5 db5@3 db5 db5@2 d5@9",
  R: "[~@2 f5@4 d5@2 d5@2 db5@2 d5@2 db5@4 db5@2 bb4@2 g4@4 ~@4 d5 db5@2 d5@3 d5@2 db5@2 d5 db5 d5@6]/2",
  S: "[~ f5@2 d5!2 db5 d5@3 ~ d5@6 c5 bb4 c5 bb4 g4 c5@3]/2", T: "~@2 g4 bb4 c5 d5@4 ~ g4!2",
  U: "bb4@2 c5@2 c5 bb4 c5@2 d5@2 d5 c5", V: "d5@2 f5@7 d5@3", W: "d5", X: "d5 db5@3 d5@8, db5 ~@23", Y: "g4",
})).s("gm_violin").gain(0.3)

// other · viola
const viola = note("<A@2 B@4 A C@3 D C@2 E F B G H I J K L M N O P O P Q R S T B@6 A C@3 D U>".pickRestart({
  A: "bb4!12", B: "d4!12", C: "g4!12", D: "g4!7 ~@5", E: "~@3 g4 bb4 c5 d5@6", F: "c5!4 g4 bb4 c5@6", G: "g4!6 a4!6",
  H: "d5!12", I: "~ g4 bb4 c5 db5 c5 bb4@3 ~ g4 f4", J: "g4@2 bb4@2 bb4 g4 bb4@2 d5@2 d5 db5",
  K: "d5@2 f4@4 ~@2 d5 c5 bb4 g4", L: "c5 ~", M: "d4 eb4", N: "e4 eb4", O: "g4@5 g4 f4@5 f4",
  P: "eb4@5 eb4 d4@3 gb4@2 a4", Q: "bb3@5 bb3 g3@5 g3", R: "eb3@5 eb3 c3@5 g3", S: "bb3@5 bb3 g3@3 bb3@2 d4",
  T: "eb4@3 eb4@2 eb4 d4@6", U: "g3",
})).s("gm_viola").gain(0.3)

// other · cello · "Violoncello"
const cello = note(`<
  A B A B A C A D E F G A B A B A C A D E F G H@2 I J I J K L M N I O A B A C A D E F G P
>`.pickRestart({
  A: "g3@5 g3 f3@5 f3", B: "eb3@5 eb3 d3@3 f3 d3 f3", C: "eb3@5 eb3 d3@3 d3@3", D: "e3@5 e3 eb3@5 eb3",
  E: "d3@5 d3 c3@5 c3", F: "bb2@5 bb2 a2@6", G: "c2@4 c2 db2 d2 ~@5", H: "g2!2", I: "g2@5 g2 f2@5 f2",
  J: "eb2@5 eb2 d2@3 gb2@2 a2", K: "bb2@5 bb2 g2@5 g2", L: "eb2@5 eb2 c2@5 g2", M: "bb2@5 bb2 g2@3 bb2@2 d2",
  N: "eb2@5 eb2 d2@6", O: "eb2@5 eb2 d2@3 f2 d2 f2", P: "g2",
})).s("gm_cello").gain(0.45)

// chords · piano
const piano = note(`<
  A B C D C E F G H I J K L C D C E F G H I J M N O P Q R S T U V W X C D C E F G H I J Y
>`.pickRestart({
  A: "g3@9 ~ g3@2 f3@9 ~ f3@2", B: "eb3@9 ~ eb3@2 d3@6 f3@2 d3@2 f3@2",
  C: "[d4,g4,bb4]!5 [g3,d4,g4,bb4] [d4,g4,bb4]!5 [f3,d4,g4,bb4], g3@3 ~ f3@3 ~", // Gm Gm7
  D: "[d4,g4,bb4]!5 [eb3,d4,g4,bb4] [d4,g4,bb4]!3 [f3,d4,g4,bb4] [d3,d4,g4,bb4] [f3,d4,g4,bb4], eb3@3 ~ d3@2 ~@2", // Gm Ebmaj7 Gm Gm7 Gm Gm7
  E: "[d4,g4,bb4]!5 [eb3,d4,g4,bb4] [d4,g4,a4]!3 [d4,gb4,a4]!3, eb3@3 ~ d3@2 d3@2", // Gm Ebmaj7 Dsus4 D
  F: "[bb4,d5,g5]!5 [g3,bb4,d5,g5] [bb4,d5,f5]!5 [f3,bb4,d5,f5], g3@3 ~ f3@3 ~", // Gm Bb
  G: "[g4,bb4,e5]!5 [e3,g4,bb4,e5] [g4,bb4,eb5]!5 [eb3,g4,bb4,eb5], e3@3 ~ eb3@3 ~", // Edim Eb
  H: "[g4,bb4,d5]!5 [d3,g4,bb4,d5] [g4,bb4,d5]!5 [c3,g4,bb4,d5], d3@3 ~ c3@3 ~", // Gm
  I: "[g4,bb4,d5]!5 [bb2,g4,bb4,d5] [g4,a4,d5]!6, bb2@9 ~@3 a2@11 ~", // Gm Gsus2
  J: "[g4,bb4,d5]!4 [c2,c3,g4,bb4,d5] [db2,db3,g4,bb4,d5] [d2,d3,g4,a4,c5] ~@5, c2 ~@2", // Gm Dsus4
  K: "[d4,g4,bb4]!5 [g2,d4,g4,bb4] [d4,g4,bb4]!5 [f2,d4,g4,bb4], g2@3 ~ f2@3 ~", // Gm Gm7
  L: "[d4,g4,bb4]!5 [eb2,d4,g4,bb4] [d4,g4,bb4]!3 [f2,d4,g4,bb4] [d2,d4,g4,bb4] [f2,d4,g4,bb4], eb2@3 ~ d2@2 ~@2", // Gm Ebmaj7 Gm Gm7 Gm Gm7
  M: "~@4 bb4 c5 g4 c5 db5 g4!3, [g3,d4]@11 ~ [g3,eb4]@11 ~", // G5 Cm
  N: "bb4@2 g4@2 g4@2 g4@3 ~ gb4 ~ [g3,eb4]@11 ~, [g3,e4]@11 ~@13, ~@6 gb4 ~@3 g4@13 ~", O: "g2@9 ~ g2@2 f2@9 ~ f2@2",
  P: "eb2@9 ~ eb2@2 ~@2 g4@2 bb4@2 [gb2,c5]@4 [a2,db5]@2, ~@2 d2 ~", Q: "g2@9 ~ g2@2 f2@9 ~ f2@2, d5@23 ~",
  R: "eb2@9 ~ eb2@2 d2@6 gb2@4 a2@2", S: "bb2@8 d5@2 [bb2,f5]@2 [g2,g5]@9 ~ [g2,d5]@2",
  T: "eb5@5 eb2 c2@4 [bb4,c5] [g2,db5], eb2@3 ~@5", U: "[bb2,d5]@9 ~ [bb2,d5]@2 [g2,g5]@6 bb2@4 d2@2",
  V: "eb2@6 eb2@4 eb2@2 d2@11 ~",
  W: "[d4,g4,bb4]!5 [g2,g3,d4,g4,bb4] [d4,g4,bb4]!5 [f2,f3,d4,g4,bb4], g2@3 ~ f2@3 ~, g3@3 g3@2 ~ f3@3 f3@2 ~", // Gm Gm7
  X: "[d4,g4,bb4]!5 [eb2,eb3,d4,g4,bb4] [d4,g4,bb4]!3 [f3,d4,g4,bb4] [d3,d4,g4,bb4] [f3,d4,g4,bb4], eb2@3 ~ [d2,d3]@2 ~@2, eb3@3 eb3@2 ~@7", // Gm Ebmaj7 Gm Gm7 Gm Gm7 D
  Y: "[g2,g3]@23 ~", // G
})).s("gm_piano").gain(0.3)

stack(violin, viola, cello, piano)

More by Michael Bublé