Strudelify

Anamanaguchi Meow

Anamanaguchi

KeyF majorTempo105 bpm
0:00/0:00
// Anamanaguchi Meow — Anamanaguchi
// 105 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5481987; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 86 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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 · piano · "Фортепиано, FL Keys"
const piano = note(`<
  A@8 B ~@7 C D@2 E@2 D@6 F G@8 B ~@3 H I J I K D@2 E@2 D@6 E@2 D@10 L@2 M N M O P@2 Q R@6 S@4
>`.pickRestart({
  A: "[[bb2,b2,f3,gb3] [c3,db3,d3,g3,ab3,a3] [eb3,e3,f3,bb3,b3,c4] [gb3,g3,ab3,db4,d4,eb4] [a3,bb3,b3,e4,f4,gb4] [c4,db4,d4,g4,ab4,a4] [eb4,e4,f4,bb4,b4,c5] [gb4,g4,ab4,db5,d5,eb5] [a4,e5] ~ d5@2 a4@2 c5@11 ~ d5@2 a4@2 c5@4 g4@4 f4@4 [d5,f5]@2 [a4,c5]@2 [e5,g5]@4 [d5,f5]@4 [a5,c6]@4 [d5,f5]@2 [a5,c6]@2 a5@4 g5@4 f5@4 d5@2 a4@2 c5@11 ~ d5@2 a4@2 c5@4 g4@4 f4@4 [d5,f5]@2 [a4,c5]@2 [e5,g5]@4 [d5,f5]@4 [a5,c6]@4 [d5,f5]@2 [a5,c6]@2 e6@2]/8", // Gbmaj7 A5 Dm Am Em Dm Am Dm …
  B: "~ bb5@2 a5 ~@4", C: "~@6 f5 g5 a5@4 f5@4", D: "[e5@4 d5@4 bb4 c5 a5 g5@10 ~ f5 g5 a5@4 f5@4]/2",
  E: "[e5@4 d5@4 bb4 c5 a5 g5@9 ~@2 f5 g5 a5@4 f5@4]/2", F: "e5@4 d5@4 bb4 c5 a5 g5@5",
  G: "[f5 g5 a5 g5 f5 g5 f5@2 ~@2 d5@2 a4@2 c5@11 ~ d5@2 a4@2 c5@4 g4@4 f4@4 [d5,f5]@2 [a4,c5]@2 [e5,g5]@4 [d5,f5]@4 [a5,c6]@4 [d5,f5]@2 [a5,c6]@2 a5@4 g5@4 f5@4 d5@2 a4@2 c5@11 ~ d5@2 a4@2 c5@4 g4@4 f4@4 [d5,f5]@2 [a4,c5]@2 [e5,g5]@4 [d5,f5]@4 [a5,c6]@4 [d5,f5]@2 [a5,c6]@2 e6@2]/8", // Dm Am Em Dm Am Dm Am Dm …
  H: "~@6 c5 d5", I: "g5 a5 c5@2 g5 a5 c5@2 ~@4 c6@2 d6@2", J: "g6 a6 c6@2 g6 a6 c6@2 ~@4 c5@2 d5@2",
  K: "g6 a6 c6@2 g6 a6 f5 g5 a5@4 f5@4", L: "[e5@4 d5@4 bb4 c5 a5 g5@12 ~ f5@6 c6 bb5]/2",
  M: "c6@2 a5@2 d6@2 a5@2 g5@2 a5 f5@3 a5@2", N: "g5@4 f5@4 bb4@6 c6 bb5", O: "g5@4 a5@4 f5@6 c6 bb5",
  P: "[c6@2 a5@2 d6@2 a5@2 g5@2 a5 f5@10 ~ a5 g5 a5@4 f5@4]/2", Q: "e5 a5 bb5@2",
  R: "[f5 g5 a5 g5 f5 g5 f5@2 [g4,g5]@30 ~@2 [g4,g5]@30 ~@2 [g4,g5]@24]/6", S: "[~@4 [g4,g5]@23 ~@5]/4",
})).s("gm_piano").gain(0.35)

// chords · electric guitar jazz · "Cavaquinho, FL Keys #3"
const electric_guitar_jazz = note(`<
  A B C B C D C B E ~@3 F G H G I J K J L M N M N M N M O B C B C D C B E ~@3 F G H G P J K J L M N Q K M K M R ~@3 S T
  U T U T U T V K W X Y Z AA AB AC AD AA AD AA AD AA AD AE@2
>`.pickRestart({
  A: "~@8 [f2,c3,f3]!8", B: "[f2,c3,f3]!5 [e2,b2] [f2,c3] [g2,d3] [a2,e3,a3]!8",
  C: "[bb2,f3,bb3]!5 [a2,e3] [g2,d3] [f2,c3] [f2,c3,f3]!8", D: "[f2,c3,f3]!5 [e2,a2] [f2,c3] [g2,d3] [a2,e3,a3]!8",
  E: "[bb2,f3,bb3]!5 [a2,e3] [g2,d3] [f2,c3] ~@8", F: "~@8 c5 g4 a4 g4 c5 g4 a4 g4",
  G: "c5 g4 a4 g4 c5 g4 a4 g4 c5 e4 f4 e4 c5 e4 f4 e4", H: "c5 e4 f4 e4 c5 e4 f4 e4 c5 g4 a4 g4 c5 g4 a4 g4",
  I: "c5 e4 f4 e4 c5 e4 f4 e4 [d3,a3,d4]!8", J: "[f3,c4,f4]!8 [bb2,f3,bb3]!8", K: "[c3,g3,c4]!8 [d3,a3,d4]!8",
  L: "[c3,g3,c4]!4 [c3,g3,c4]@2 ~@2 [f2,c3,f3]!8", M: "[a2,e3,a3]!8 [bb2,f3,bb3]!8", N: "[c3,g3,c4]!8 [f2,c3,f3]!8",
  O: "[c3,g3,c4]@2 ~@6 [f2,c3,f3]!8", P: "c5 e4 f4 e4 c5 e4 ~@2 [d3,a3,d4]!8",
  Q: "[a2,e3,a3]!7 [a2,e3,g3] [bb2,f3,bb3]!8", R: "[c3,g3,c4] ~@7", S: "~@8 [f2,c3]!8", T: "[a2,e3]!8 [bb2,f3]!8",
  U: "[bb2,f3] [c3,g3]!3 [c3,g3]@2 [c3,g3]@2 [f2,c3]!8", V: "[bb2,f3] [c3,g3]!3 [c3,g3]@2 ~@2 [f2,c3,f3]!8",
  W: "[a2,e3,a3]!4 [bb2,f3,bb3]!12", X: "[f2,c3,f3]!8 [bb2,f3,bb3]!8", Y: "[c3,g3,c4]!4 [db3,ab3,db4]!4 [d3,a3,d4]!8",
  Z: "[c3,g3,c4]!8 [bb2,f3,bb3]!8", AA: "[bb2,f3,bb3]!16", AB: "[bb2,f3,bb3]!8 [c3,g3,c4]!8",
  AC: "[c3,g3,c4]@2 ~@6 [bb2,f3,bb3]!8", AD: "[d3,a3,d4]!8 [bb2,f3,bb3]!8",
  AE: "[[bb2,f3,bb3]!8 [bb2,f3,bb3]@16 ~@8]/2", // Bb5
})).s("gm_electric_guitar_jazz").gain(0.35)

// bass · electric bass finger · "5-стр. Электрическая бас-гитара, FL Keys #4"
const bass = note(`<
  A B C B C B C B C B C B C B C B D E F E G H I H I H I H G B C B C B C B C B C B C B C B D E F E G H I H F H F H J ~@3
  A H K H K H K H L M N O P Q R S T U R U R U R U V@2
>`.pickRestart({
  A: "~@8 f1!8", B: "f1!5 e1 f1 g1 a1!8", C: "bb1!5 a1 g1 f1!9", D: "bb1!5 a1 g1 f1 d2!8", E: "f2!8 bb1!8",
  F: "c2!8 d2!8", G: "c2@2 ~@6 f1!8", H: "a1!8 bb1!8", I: "c2!8 f1!8", J: "c2 ~@7", K: "bb1 c2!3 c2@2 c2@2 f1!8",
  L: "bb1 c2!3 c2@2 ~@2 f2!7 a2", M: "c3!8 d3!7 c3", N: "a2!4 bb2!4 bb1!8", O: "f1!8 bb1!8", P: "c2!4 db2!4 d2!8",
  Q: "c2!8 bb1!8", R: "bb1!16", S: "bb1!8 c2!8", T: "c2@2 ~@6 bb1!8", U: "d2!8 bb1!8", V: "[bb1!8 bb1@16 ~@8]/2",
})).s("gm_electric_bass_finger").gain(0.35)

stack(piano, electric_guitar_jazz, bass)