Strudelify

Fukashigi no Carte

Fonzi M

KeyF majorTempo192 bpm
0:00/0:00
// Fukashigi no Carte — Fonzi M
// 192 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (3/8 at bar 1, 6/8 at bar 2, 4/4 at bar 15) are rendered on a constant 4/4 grid of one bar per cycle
// note: sustain pedal (CC 64) lengthens the held notes
// note: Transcription provider: pdmx. https://musescore.com/score/5480473; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 76 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(192/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.

// chords · piano
const piano = note(`<
  ~ A@2 B C@7 D@3 ~ E F G H I J K L M N O P Q R S T U V W X Y Z AA@2 AB AC AD AE AF AG AH AI AJ T AK AL AM AN AO AP AM
  AQ AR AS AT AU AV AW AX AY AZ@2 BA BB BC BD@6
>`.pickRestart({
  A: "[~@5 [g3,bb3,d4,f4]@14 [db4,e4,g4,db5]@13]/2", B: "~@2 g4@7 a4@7, ~ [d3,a3,d4]@7",
  C: "[[a3,d4,f4]@14 ~ [g3,bb3,d4,f4]@14 ~ [db4,e4,g4,bb4]@14 [d3,f3,a3,c4]@28 ~@2 [g3,bb3,d4,f4]@14 [db4,e4,g4,bb4]@14 ~ [d4,f4,a4]@7 [db4,f4,a4]@2, ~@22 [c5,a5]@7 ~@27]/7", // Dm Gm7 Dbdim Dm7 Gm7 Dbdim Dm Dbaug …
  D: "[~@5 [c4,f4,a4]@7 ~ [b3,d4,f4,a4]@7 [bb3,d4,f4,a4]@14 ~ [a3,db4,e4,g4]@13]/3", E: "[d3,a3,d4,a4,e5]@15 ~",
  F: "~@2 d3 db3", G: "c3@2 ~@2 [eb3,g3,bb3]@4 ~@2 c3 ~ [eb3,g3,bb3]@2 ~@2",
  H: "c3@2 ~@2 [eb3,g3,b3]@4 ~@2 c3 ~ [eb3,g3,b3]@2 ~@2", I: "d3 ~ [f3,ab3,c4]@2 ~ d3 [f3,ab3,c4] ~",
  J: "g2@2 ~@2 [f3,ab3]@4 ~@2 g2 ~ [f3,ab3]@2 ~@2", K: "c3@2 ~@2 [g3,c4,g4,b4]@4 ~@2 c3 ~ [g3,c4,g4,b4]@2 ~@2",
  L: "c3@2 [g4,b4]@3 c3 [g4,b4]@2, ~@2 [g3,c4]@2 ~@2 [g3,c4] ~", // G C5
  M: "f3@2 ~@2 [ab3,c4,eb4]@4 ~@2 f3 ~ [ab3,c4,eb4]@2 ~@2, ~@3 c5", // Ab
  N: "f3@2 ~@2 [ab3,c4,e4]@4 ~@2 f3 ~ [ab3,c4,e4]@2 ~@2, c5@15 ~", // Abaug
  O: "g3@2 ~@2 [bb3,e4,a4]@4 ~@2 g3 ~ [bb3,e4,a4]@2 ~@2", P: "c3@2 ~@2 [g3,bb3,e4]@4 ~@2 c3 ~ [g3,bb3,e4]@2 ~@2",
  Q: "f3@2 ~@2 [a3,c4,e4]@4 ~@2 f3 ~ [a3,c4,e4]@2 ~@2", // Am
  R: "f3@2 ~@2 [a3,c4,e4]@4 ~@2 f3 ~ [a3,c4,e4]@2 ~@2, ~@2 d4@3 ~ d4@2", // Am
  S: "b3@2 ~@2 [d4,f4,a4]@4 ~@2 b3 ~ [d4,f4,a4]@2 ~@2", T: "e3@2 ~@2 [ab3,b3,d4]@4 ~@2 e3 ~ [ab3,b3,d4]@2 ~@2",
  U: "[a4,db5,e5]@4 [db4,e4]@4 ~@2 a3 ~ [db4,e4]@2 ~@2, a2 ~@7", // A Dbm
  V: "[a2,a3]@2 ~@2 [db4,e4]@4 ~@2 a3 ~ [db4,e4,g4]@2 ~@2", W: "~@3 [f3,a3,c4], e6, d3@5 d3@3, ~ [f3,a3,c4]@2 ~",
  X: "d3@2 ~@2 [f3,a3,db4]@4 ~@2 d3 ~ [f3,a3,db4]@2 ~@2", Y: "e3@2 ~@2 [g3,bb3,d4]@4 ~@2 e3 ~ [g3,bb3,d4]@2 ~@2",
  Z: "a3@2 ~@2 [db4,e4,g4]@4 ~@2 a3 ~ [db4,e4,g4]@2 ~@2", AA: "d3@2 ~@2 [gb3,a3,db4]@4 ~@2 d3 ~ [gb3,a3,db4]@2 ~@2",
  AB: "g3@2 ~@2 [bb3,d4,f4]@4 ~@2 g3 ~ [bb3,d4,f4]@2 ~@2, ~@3 d5", // Bb
  AC: "d5@4 [bb3,d4,gb4]@4 ~@2 g3 ~ [bb3,d4,gb4]@2 ~@2, g3 ~@7", // Bbaug
  AD: "a3@2 ~@2 [c4,eb4,g4]@4 ~@2 a3 ~ [c4,eb4,g4]@2 ~@2", AE: "d3@2 ~@2 [gb3,a3,c4]@4 ~@2 d3 ~ [gb3,a3,c4]@2 ~@2",
  AF: "g3@2 ~@2 [b3,d4,gb4]@4 ~@2 g3 ~ [b3,d4,gb4]@2 ~@2, ~@3 d5", AG: "g3@2 [b3,d4,gb4]@3 g3 [b3,d4,gb4]@2, d5@15 ~",
  AH: "db3@2 ~@2 [e3,g3,b3]@4 ~@2 db3 ~ [e3,g3,b3]@2 ~@2", AI: "gb3@2 ~@2 [bb3,db4,e4]@4 ~@2 gb3 ~ [bb3,db4,e4]@2 ~@2",
  AJ: "d5@4 [d4,f4,a4]@4 ~@2 b3 ~ [d4,f4,a4]@2 ~@2, b3 ~@7", AK: "[a2,g3,db5,e5] ~@7",
  AL: "[eb2,eb3]@8 [d4,d5]@3 [a4,a5]@2 [g4,g5]@3, ~ [d2,d3]", // Eb D A G D
  AM: "g2@4 [bb3,d4]@4 [g2,d4,d5]@3 ~@2 [g4,g5]@3, [a4,d5,f5]@8 ~@3 [a4,a5]@3 ~@2, ~@3 [bb3,d4]", // Bb G5 G Dm A Bb
  AN: "db2@4 [db4,e4]@4 [db2,d4,d5]@3 ~@2 [g4,g5]@3, [a4,db5]@8 ~@3 [a4,a5]@3 ~@2, ~@3 [db4,e4]", // Dbm Dmaj7 G A Dbm
  AO: "d2 [d3,f3] d2 [d3,f3], e4 [f4,a4]", // Dm F
  AP: "d2@4 [d3,f3]@4 [d2,d4,d5]@3 ~@2 [g4,g5]@3, [a3,c4,f4]@8 ~@3 [a4,a5]@3 ~@2, ~@3 [d3,f3]", // Dm D G F A Dm
  AQ: "db2 [db3,e3] db2 [db3,e3], c5 bb4", AR: "d2 ~ d2 [d3,f3,a3,c4,f4], [a4,c5,f5]@3 [a3,c4,f4]@2 ~@3, ~ [d3,f3] ~@2",
  AS: "~@4 [d3,f3]@4 [d2,d4,d5]@3 ~@2 [g4,g5]@3, d2 ~@2 [d3,f3], ~@2 [a3,c4,f4]@4 ~@5 [a4,a5]@3 ~@2", // Dm D G Dm F A
  AT: "g2 [bb3,d4] g2 [bb3,d4], [a4,d5,f5] c5", AU: "db2 [db3,e3] db2 [db3,e3], [a4,db5] [g4,db5]",
  AV: "d2 [d3,f3] db2 [db3,f3], [e4,g4] [f4,a4]", // Dm Db Em F
  AW: "c2@4 [d3,f3]@4 [b1,d4,d5]@3 ~@2 [g4,g5]@3, a4@8 ~@3 [a4,a5]@3 ~@2, ~@3 [bb1,d3]", // Dm Bm G A Bb
  AX: "bb1@4 [bb2,d3]@4 [bb1,d4,d5]@3 ~@2 [g4,g5]@3, [a4,d5,f5]@8 ~@3 [a4,a5]@3 ~@2, ~@3 [bb2,d3]", // Bb G Dm A Bb
  AY: "a1 [db3,e3] a1 [db3,e3], [f4,a4,db5] db4", // Dbm Faug
  AZ: "[d2@4 [d3,f3]@4 [d2,d4,d5]@3 ~@5 b1@4 [b2,d3]@4 [b1,d4,d5]@3 ~@2 [g4,g5]@3, [e4,g4]@8 ~@3 [e4,e5]@2 [f4,a4,c5,f5]@10 ~@4 [a4,a5]@3 ~@2, ~@3 [d3,f3] ~@3 [b2,d3]]/2", // Dm D Bm G Em E F A …
  BA: "[a4,d5,f5]@8 [d4,d5]@3 [a4,a5]@2 [g4,g5]@3, [bb1,bb2]@15 ~", BB: "[f4,a4,db5] db4, [a1,a2]@15 ~",
  BC: "[d2,d3,e4,g4,c5,e5]", // C
  BD: "[~@8 e4@3 g4@2 c5@3 e5@3 g5@2 c6@3 e6@3 g6@2 c7@6 ~ e7@7 g7@8 ~ c8@39 ~@5, d3@19 ~@29, ~@3 a3@43 ~@50, ~@5 c4@50 ~@41]/6",
})).s("gm_piano").gain(0.3)

stack(piano)