Strudelify

Rinaldo HWV 7b

Georg Frideric Handel

KeyG majorTempo64 bpm
0:00/0:00
// Rinaldo HWV 7b — Georg Frideric Handel
// 64 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/3446846; license: https://creativecommons.org/publicdomain/mark/1.0/
// note: Full arrangement: all 80 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(64/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 E F G H A B C D E F G H I J K L M N A B C D E F G H A B C D E F G H O P Q R S T U V W X Y Z A B C D E F G H I
  J K L M N A B C D E F G H A B C D E F G H
>`.pickRestart({
  A: "[f#3,a#3,c#4,f#4,a#4]@2 [f#3,a#3,c#4,f#4,a#4]@2 ~ [f#3,a#3,c#4,f#4,a#4]", B: "[f#3,b3,d#4,b4]!2 ~",
  C: "[f3,c#4,f#4,g#4]@2 [f3,c#4,f4,g#4,c#5]@3 [f3,c#4,f4,g#4,b4]", // C# C#7
  D: "[f#3,a#3,c#4,b4]@2 [f#3,a#3,c#4] f3 d#3 c#3, f#4@2 ~, ~ a#4 ~", // F#
  E: "[f#3,b3,d#4,b4,d#5]@8 [g#3,b3,d#4,b4,d#5]@8 f5@3 f#5@2 g#5@3", // B G#m
  F: "[f3,g#3,c#4,f4,c#5]@2 [f#3,a#3,c#4,a#4,c#5]@2 ~ [f#3,a#3,c#4,f#4,f#5]", // C# F#
  G: "[f#3,b3,d#4,f#4,a#4]@3 g#4 [f#3,a#3,c#4,f#4,a#4]@4 [f3,b3,c#4,f4,g#4]@3 f#4", H: "[f#3,a#3,c#4,f#4]@23 ~",
  I: "[f#3,a#3,c#4,f#4,a#4]@8 f#5@11 ~ d#5@4, ~@8 [f#3,a#3,d#4,a#4]@15 ~", // F# D#m
  J: "[g#3,c4,d#4,f#4,c5] [g#3,c4,d#4,g#4,c5] ~", K: "[g#3,c4,d#4,c5,d#5]@8 g#5@11 ~ f5@4, ~@8 [g#3,c4,f4,c5]@15 ~",
  L: "c#5 c5 [f#3,a#3,c#4,f#4,a#4,c#5]@2 ~ [f#3,a#3,c#4,a#4,f#5], [f3,a#3,c#4,g#4] ~@2", // F# A#m7
  M: "[f3,g#3,c#4,g#4,f5]@3 d#5 [f3,g#3,c#4,g#4,f5]@4 [f#3,g#3,c4,f#4,d#5]@3 c#5", // C# G#7
  N: "[c#3,f3,g#3,c#4]@11 ~ b2@4 a#2@4 g#2@4, [f4,g#4,c#5]@23 ~", // C#
  O: "[f#3,a#3,d#4,f#4,a#4]@8 [f#3,a#3,d#4,f#4,d#5]@11 ~ [g#3,b3,d#4,g#4,f5]@4", // D#m Fm7b5
  P: "[f3,a#3,d4,f4,d5]@2 ~ b2 a#2 g#2, a#2@11 ~@13, ~ [f3,a#3,d4,a#4] ~", // A#
  Q: "[f#3,a#3,c#4,f#4,a#4]@8 [f#3,b3,d#4,f#4,d#5]@11 ~ [g#3,b3,d#4,g#4,f5]@4", // F# B Fm7b5
  R: "f#5 f5 [f#3,a#3,d#4,a#4,f#5]@2 ~@2, [f#3,a#3,d#4,a#4] ~@2", // D#m
  S: "f#5@2 g#5 f#5 f5 d#5, [g#3,c4,d#4,c5]@2 [g#3,c4,d#4,f#4]", // G# G#7
  T: "g#5 c5 [a#3,c#4,f4,c#5]@2 ~ c5, [g#3,c4,f4,g#4] ~@2", // A#m Fm
  U: "c#5@4 d#5@4 c#5 d#5 f5 ~@9 c#5@2 d#5@2, [f#3,a#3,c#4,a#4] [f#3,a#3,d#4,f#4] [g#3,c4,d#4], ~@11 d#5@9 ~@4", // F# D#m G#
  V: "[f3,g#3,c#4,f5] [f3,b3,d#4,a4] [f#3,a#3,c#4,a#4]@2 ~@2, f4 ~@2", // C# F7 F#
  W: "f#5 f5 d#5 c#5 c5 a#4, [f#3,a#3,d#4,a#4] [f#3,a#3,d#4,f#4] ~", // D#m
  X: "[f3,a#3,c#4,f5]@2 [f3,c4,d#4,a4]@2 ~ [f3,c4,d#4,f4,d#5]", // A#m F7
  Y: "[f3,a#3,c#4,a#4,c#5]@2 [f#3,a#3,d#4,f#4,c5]@2 ~@4 a#4 a4 a#4@2, ~@8 [a3,c4,f4]@15 ~, ~@2 c5@3 ~", // A#m Cm7b5 F
  Z: "[a#2,a#3,f4]@11 ~ b2@4 a#2@4 g#2@4, [c#4,a#4]@5 ~@3", // A#5 F#
})).s("gm_piano").gain(0.3)

stack(piano)