Strudelify

Blue Bear - Rhythm Paradise

Tsunku

KeyE majorTempo105 bpm
0:00/0:00
// Blue Bear - Rhythm Paradise — Tsunku
// 105 bpm, 3/4, key E major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5824668; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 53 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/3)

// 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.

// chords · piano
const piano = note(`<
  A B C D E F G H I J K L M F N O P Q R S T U V W X Y Z AA@2 AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU@2 AV@3
>`.pickRestart({
  A: "[e5,g#5] ~ [e5,g#5] ~ [e5,g#5] ~", B: "[e5,g#5] ~ [e5,f#5] ~ [e5,g#5] ~", C: "[e5,g#5] ~ [d#5,f#5] ~ [c#5,e5] ~",
  D: "[c5,d#5] ~ a#4@2 c5@2", E: "[c#4,e4,c#5] ~ [c#4,d#4,d#5] ~ [c#4,e4,e5] ~", F: "[d#4,d#5] ~ d#4 ~ [d#4,g#5] ~",
  G: "[c#4,g#5] ~ [c#4,d#4] ~ [c#4,e4,f#5] ~", H: "[c#4,e5] d#5 [c#4,c#5] ~@3", I: "[c#4,a4] ~ g#5 ~ f#5 ~",
  J: "[d#4,d#5] ~ [e4,e5] ~@2 f#5", K: "[c#4,g#4,d#5] ~ [c#4,f#4] ~ [c#4,e4,b4] ~",
  L: "[c4,d#4] ~ [c4,e4] ~ c4 ~, g#4@23 ~", M: "[c#4,e4,c#5] ~ [c#4,d#4,d#5] ~ [c#4,e4,e5] c#4",
  N: "[c#4,g#5] ~ [c#4,d#4,c#6] ~ [c#4,e4,f#5] ~", O: "[c#4,e5] d#5 [c#4,c#5] ~ c#4 ~",
  P: "[c#4,e4,e5] ~ [c#4,e4,g#5] ~ [f#4,f#5] ~", Q: "[f#4,d#5] ~ [e4,g#4,e5] ~ [d#4,f#4,f#5] ~",
  R: "[d#4,d#5] ~ [c#4,e4] e5 [f#4,d#5] c#4", S: "[c#4,e4,c#5] ~ [c#4,f#4] ~ [c#4,e4,g#4] ~",
  T: "[c#4,f#4,a4,a5,c#6] c#4 [c#4,f#4,a4,c#6] [c#4,f#4,a4,g#5,b5] [c#4,f#4,a4,f#5,a5] [c#4,a4]", // F#m
  U: "[d#4,f#4,a4,a5,c#6] [d#4,f#4] [d#4,f#4,a4,b5,d#6] d#4 [d#4,f#4,a4] [d#4,c#6,f#6]", // D#m7b5 D#m B7 D#dim D#m7
  V: "[c#4,e4,g#4,e5,g#5,e6] [c#4,e4,g#4] [c#4,e4,g#4,c#5,f#5] [c#4,e4,g#4] [c#4,e4,g#4,c#5,e5,c#6] [e4,g#4]", // C#m E
  W: "[d#4,g#4,g#5] [d#4,g#4] [d#4,f#4,g#4] d#4 [d#4,g#4] ~", // G#5 G#7 G#5
  X: "[c#4,e4,f#4,a4,e5,f#5,a5] [c#4,f#4,a4] [c#4,e4,f#4,a4] [c#4,f#4,a4] [c#4,e4,f#4,a4,g#5,b5] [c#4,f#4,a4]", // F#m7 F#m F#m7 F#m C#m7 F#m
  Y: "[c#4,f#4,a4,a5,c#6] [c#4,f#4,a4]!3 [f#4,a4,c#6] c#4", // F#m
  Z: "[d#4,g#4,c6,d#6] [c4,d#4,g#4] [d#4,g#4] c4 [d#4,a#5,c#6] ~", // G# G#5 D#7
  AA: "[[c4,f#4,g#4]@2 g#4@2 c5@2 [d#5,f#5]@2 g#5@2 d#5@2 [g#5,c6]@2 f#5@2 c6@2 f#6@2 g#6@27 ~, [f#5,g#5,c6] ~@5]/2", // G#7 D#m G# G#7
  AB: "f#4 g#4 a#4", AC: "c5@2 e5@2 d#5 b4",
  AD: "[c#4,e4,g#4,c#5,e5,g#5] [e4,b4,c#5,e5]!2 [e4,b4,e5] [e4,b4,c#5,e5] [c#4,e4,g#4,b4,c#5,e5]", // C#m C#m7 E5 C#m7
  AE: "[c#4,e4,g#4,b4,c#5,e5,g#5] [c#4,b4] [c#4,e4,g#4,b4,c#5,e5] [e4,b4] [c#4,b4,c#5] [c#4,b4]", // C#m7 C#7 C#m7 E5 C#7
  AF: "[c#4,f#4,a4,c#5,e5,b5] [a4,b4,c#5] [f#4,a4,c#5,e5]!3 [c#4,f#4,a4,c#5]", // F#m7 A F#m7 F#m
  AG: "[f#4,a4,c#5,e5,a5] [a4,c#5] [e4,f#4,a4,c#5,e5,a5] [f#4,a4] [f#4,a4,c#5,f#5] [a4,c#5,f#5]", // F#m7 A F#m7 F#m
  AH: "[c#4,d#4,c#5,e5,a5] a4 [c#4,a4,c#5] d#4 [c#4,c#5,e5] c#4", // A F#m C#m
  AI: "[c4,d#4,g#4,c5,d#5,g#5] [c4,g#4] [c4,d#4,g#4,b4,c5,d#5,b5] [d#4,f#4] [d#4,a4,c5,a5] [c4,f#4]", // G# Fm G# D#m Adim Cdim
  AJ: "[c#4,e4,a4,c#5,e5,a5] ~ [c#4,a4,c#5] e4 c#5 ~", // A F#m
  AK: "[c4,d#4,g#4,c5,d#5,g#5] c5 [c4,d#4,f#4,c5,d#5] [c4,d#4,g#4,c5] [f#4,a#4,c5] c5", // G# Cdim G# Cm7b5
  AL: "[e4,g#4,b4,c#5,e5,e6] c#5 [e4,g#4,b4,c#5,d#5,d#6] c#5 [e4,g#4,c#5,e5,c#6] c#5", // C#m7 Emaj7 C#m
  AM: "[g#4,c#5,e5,g#5]@8 [g#4,g#5]@15 ~", // C#m G#
  AN: "[f#4,a4,b4,c#5,e5,b5] [a4,c#5] [a4,c#5,e5,a5] [c#5,e5] [a4,b4,c#5,e5,f#5,b5] [f#4,c#5]", // F#m7 A C#m F#m7 F#5
  AO: "[a4,c#5,e5,c#6]@4 ~@4 [f#4,f#5]@15 ~", AP: "[c4,d#4,g#4,c5,g#5] [d#4,c5] [g#4,c5] [c4,d#4,g#4,c5] g#4 d#4",
  AQ: "[c4,d#4,f#4,c5,f#5]@2 [d#4,d#5] [d#4,f#4] c4 [d#4,f#4]", AR: "[d#4,d#5] ~ c#4 ~ [c#4,e4,c#5] g#4",
  AS: "[c#5,e5] ~@5", AT: "e5 ~ d#5 ~ c#4 ~", AU: "[[c5,d#5]@4 ~@4 a#4@4 ~@4 [d#4,g#4,c5]@15 ~ f4@2 c#5@13 ~]/2",
  AV: "[g#5@17 ~ c#6@51 ~@3]/3",
})).s("gm_piano").gain(0.3)

// chords · piano
const piano_2 = note(`<
  A B C D E F G H I J K L M F N O P Q R S T U V W X Y Z AA@2 ~ AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT
  AU ~@3
>`.pickRestart({
  A: "c#3 g#3 c#4 g#3 e4 c#4", B: "b2 g#3 b3 g#3 e4 [g#3,b3]", C: "a2 e3 a3 [e3,a3] c#4 a3", D: "g#2 d#3 f#3@2 ~@2",
  E: "c#3 g#3 c#4 g#3 c#4 g#3", F: "[b2,b3] g#3 b3 g#3 b3 [g#3,b3]", G: "a2 [e3,g#3] a2 [e3,g#3] a2 [g#3,a3]",
  H: "[f#2,b3] [c#3,f#3] [f#3,a3] [f#2,c#3,f#3] [f#2,a3,b3] f#3", // B5 F#5 F#m F#5 B7
  I: "[f#2,a3] [f#2,c#3,f#3] [f#3,a3,b3] [c#3,f#3] a3 f#3", J: "[g#2,b3] [d#3,g#3] [g#3,b3] [d#3,g#3] b3 g#3",
  K: "a2 [e3,a3] a2 [e3,a3] a2 a3", L: "g#2 [d#3,g#3] f#3 [d#3,g#3] g#2 [f#3,g#3]", M: "[b2,c#3] g#3 ~ g#3 ~ g#3",
  N: "a2 [e3,g#3] a2 [e3,g#3] g#2 [g#3,a3]", O: "[f#2,f#3,b3] [c#3,f#3] [f#3,a3] [c#3,f#3] [a3,b3] f#3",
  P: "[e3,f#3] [c#3,a3] f#3 [c#3,a3] a3 [f#3,a3]", Q: "[g#2,g#3] [d#3,b3] [f#3,g#3] [d#3,b3] b3 [f#3,b3]",
  R: "[c#3,b3] g#3 b3 g#3 [g#2,b3] g#3", S: "[c#2,c#3] g#3 [d#2,d#3] g#3 [e2,e3] g#3", T: "[f#1,f#2,f#3] a3 ~@2 f#1 a3",
  U: "[b1,b2,f#3,b3] [f#3,b3] b3!3 [b1,b3]", V: "[c#2,c#3] [g#3,b3] ~ b3 c#2 b3",
  W: "[b1,b2,b3] [f#3,b3] b3!3 [g#1,g#2,b3]", X: "[a1,a2,a3] ~ a3 ~ [g#1,g#2,a3] ~",
  Y: "[f#1,f#2,f#3] c#3 f#3 a3 f#3 [f#1,c#3]", Z: "[g#1,g#2,g#3] d#3 g#3!2 [d#2,g#3] d#3", AA: "[[g#2,g#3]@23 ~]/2",
  AB: "g#2@2 ~ g#1 a#1 c2", AC: "[c#2,g#3] g#3!4 [g#1,g#3]",
  AD: "[c#1,g#3] [g#1,c#3,g#3] [c#2,c#3] c#3 [e2,c#3] [f2,c#3,g#3]", AE: "[f#2,f#3,a3] ~ f#3 ~@2 [c#2,a3]",
  AF: "f#1 c#2 f#2 ~@3", AG: "[d#2,d#3,a3] ~@4 a#1", AH: "[g#1,g#3] d#1 [g#1,g#2,b3] ~ [b1,a3] c2",
  AI: "[c#2,c#3,a3] a3 ~@3 [g#1,a3]", AJ: "[g#1,g#2,g#3] [d#1,d#3] [g#1,f#3] g#3 [a#1,d#3,f#3] [c2,d#3]",
  AK: "[c#2,c#3,g#3] g#3 ~ c#3 ~ g#1", AL: "[c#2,c#3,g#3] ~@2", AM: "[f#2,f#3,a3] ~ f#3 ~ f#3 c#2", AN: "[f#2,f#3] ~@5",
  AO: "[g#2,g#3] [g#2,d#3,g#3] [g#2,g#3]!2 [d#2,g#3] [g#2,d#3]", AP: "[g#2,g#3] ~@2", AQ: "c#3 g#3 ~ g#3 ~@2",
  AR: "[b2,c#4] g#3 b3 g#3 e4 b3", AS: "[a2,e3] [e3,a3] a3 [e3,a3] c#4 a3", AT: "g#2 d#3 f#3 g#3 ~@2",
  AU: "~@8 [c#3,g#3]@15 ~", // C#5
})).s("gm_piano").gain(0.3)

stack(piano, piano_2)

More by Tsunku