Strudelify

Carmen Highlights - Habanera

Georges Bizet

KeyD majorTempo132 bpm
0:00/0:00
// Carmen Highlights - Habanera — Bizet Georges
// 132 bpm, 2/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 165 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(132/2)

// 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 · "A.PIANO 1"
const piano = note(`<
  A B C D E B F@2 G H@2 I@2 J@2 K@2 L M@2 N@2 O@2 P@2 Q R@2 S@2 T@2 U@2 V@4 W X@2 Y@2 Z@2 AA@3 AB@2 AC@2 AD@2 AE@2 AF
  AG@2 AH@2 AI@2 AJ@2 AK AL@2 AM@2 AN@2 AO@2 AP AQ@6 AR@2 AS@2 AT AU AV@4 AW AX@2 AY@2 AZ@2 BA@2 BB BC BD@2 BE BF@2 BG@2
  BH@2 BI@3 BJ@2 BK@4 BL@2 BM@2 BN BO BP BQ@2 BR@2 BS@2 BT BU@2 BV@2 BW@2 BX BY BZ CA@2 CB@2 CC@2 CD@3 CE@2 CF@2 CG@8
>`.pickRestart({
  A: "d2@3 ~@9 a2@4", B: "f3@2 ~@6 a2 ~@7", C: "~ d2@6 ~@7 a2@2", D: "~ f3@2 ~@6 a2 ~@6", E: "~@2 d2@5 ~@7 a2@2",
  F: "[~ d2@6 ~@9 [f3,d4,f4,f#4,a4,d5]@4 ~@4 [a2,c#4,a4,c#5]@8, ~@13 a2@7 ~@4 f4 ~@7]/2", // D A
  G: "~ [c4,d4,f4,c5]@7 [c4,d4,f4,c5]@3 [c4,d4,f4,c5]@2 a2@2 ~, ~ d2@14 ~", // Dm7
  H: "[[f3,b3,d4,b4] ~@6 [a2,a#3,f4] ~@6 a4@11 [a2,a4]@3 [f3,a3,d4] ~@3, f4@2 ~@5 a#4@2 ~@5 [d2,a3,d4,f4]@14 g#4@2 ~@2]/2", // Bdim A#maj7 A Dm
  I: "[~@3 [a2,a3,d4,g4] ~@6 f4@4 ~@7 [a2,f4]@3 [f3,a3,d4,g4] ~@6 [a2,a3,d4,f4], ~@10 [d2,a3,d4]@13 ~@9, ~@14 g4@9 ~@9, ~@15 f4@5 ~@12, ~@9 e4@3 ~@4]/2", // Dsus4 Dm D5
  J: "[~@18 a#2@4 [g3,d4,e4,g4,a#4,d5] ~@6 [a#2,d4,e4,g4,a#4,c#5] ~@2, ~@7 [d2,g3,a#3,d4,e4]@16 ~@9]/2", // Em7b5
  K: "[~@5 [d4,g4,a#4,c5]@6 ~@5 a#2@3 [g3,d4,e4,g4,b4] ~@6 [a#2,d4,e4,g4,a#4] ~@5, ~@5 [d2,e4]@14 ~@13, ~@11 c5@4 c5@4 ~@13, ~@12 [d4,g4,a#4]@7 ~@13]/2", // Gm Em7 Em7b5 Dsus2 Gm
  L: "~@2 a4@4 a4@7 [a#2,a4]@3, ~ [d2,d4,e4]@7", // A#maj7 Dsus2
  M: "[~ [g3,a#3,d4,g4] ~@5 [a#2,a#3,d4,f4] ~@17 [a2,e4]@3 [c#4,f4] g3 ~@2, ~@13 d2@16 ~@3, ~@7 [g3,c#4]@7 ~@2, ~@14 e4@5 e4@2 d4@8 ~@3, ~@17 f4@11 ~@4]/2", // Gm A# A5 C# Gdim
  N: "[~@4 [g3,c#4,e4] a2 ~@18 a2@4 [d4,f4] [f3,a4] ~@2, ~@6 d4@8 d5 ~, ~@13 [d2,f3,a3]@17 ~@2]/2", // C#dim Dm F Dm
  O: "[~@4 [a2,d4,f4,a4,c#5] ~@7 c5@6 c5@3 ~@2 a2@3 [f3,d4,f4,b4] ~@5, ~@6 [d2,d4,f4,a4]@7 ~@3, ~@11 c5@2 ~@3]/2", // Dm Bdim Dm
  P: "[~ [a2,d4,f4,a#4] ~@6 [f4,a4]@4 a4@7 [a2,a4]@2 [f3,a3,d4,g#4] ~@6 [a2,a3,d4,g4] ~@3, ~@8 [d2,d4]@13 ~@11, ~@6 f4@5 ~@5]/2", // A#maj7 F A Dm Dsus4 D
  Q: "~@3 f4@3 ~@7 [a2,f4]@3, ~@3 [d2,a3,d4]@13, ~@3 g4@5, ~@7 f4@6 ~@3, ~@9 e4@7", // Dm D5
  R: "[[f3,a3,d4,g4] ~@7 [a2,a3,d4,f4] ~@17 a#2@3 [d4,e4,a#4] g3@2, ~@15 [d2,a#3,d4,e4]@14 d5@2 ~]/2", // Dm Em7b5
  S: "[~@5 [d4,e4,a#4,c#5] ~@7 [d4,e4,c5]@5 c5@4 ~@2 a#2@2 b4 [g3,d4,e4] ~@4, ~@5 a#2@2 ~@6 d2@14 ~@5, ~@9 [d4,e4]@4 ~@3, ~@11 c5@2 ~@3]/2", // A#dim C Em7 Dsus2
  T: "[~ [a#2,d4,e4,a#4] ~@6 a4@4 a4@7 [a#2,a4]@3 [g3,a#3,d4,g4] ~@6 [a#2,a#3,d4,f4] ~@2, ~@4 [d2,d4,e4]@7 ~@5]/2", // Em7b5 A#maj7 Gm A# Dsus2
  U: "[~@15 [a2,e4]@4 [g3,c#4,f4] ~@6 [a2,g3,c#4,e4] ~@5, ~ [d2,g3,c#4]@4 ~@3, ~@4 e4@5 e4@6 ~@17, ~@7 f4@12 ~@13, ~@11 d4@8 ~@13]/2", // A5 Gm7b5 A7 G
  V: "[~@15 a2@5 [d5,f#5]@8 [a2,d5,f#5,c#6]@8 ~ [d5,f#5,c6]@6 [d5,f#5,c6]@4 ~@2 a2@2 ~ [d5,f#5,b5] ~@5 [a2,d5,f#5,a#5] ~@5, ~@3 [d2,f3,d4]@17 [f#3,d6]@16 ~ d2@15 f#3@2 ~@10, ~@47 [d5,f#5,c6]@4 ~@13]/4", // D Dmaj7 D7 Bm D Dm D D7
  W: "~ a5@11 [a2,a5]@3 [f#3,a4,d5,g#5], ~ [d2,d5,f#5]@14 ~", // A D
  X: "[~@6 [a2,a4,d5,g5] ~@16 [a2,f#5]@3 [f#3,a4,d5,g5] ~@5, ~@6 [d2,d5]@7 ~@3, ~@6 f#5@2 g5@5 ~@3, ~@13 a4@13 ~@6, ~@17 f#5@2 e5@7 ~@6]/2", // Dsus4 D
  Y: "[~ f#5 [a2,a4,d5] ~@17 b2@3 [g3,d5,e5,g5,d6] ~@6 [d5,g5,c#6] [b2,e5], ~@9 [d2,g4,b4,d5,e5]@14 ~@9]/2", // D5 Em7 G E5 Em7
  Z: "[~@6 [d5,e5,g5,c6]@6 [d5,e5,g5,c6]@4 [d5,e5,g5,c6]@2 b2@2 ~ [g3,d5,e5,g5,b5] ~@6 [b2,d5,e5,g5,a#5] ~@3, ~@3 d2@7 ~@6]/2", // C Em7
  AA: "[~@3 a5@10 ~ [b2,a5]@3 [g3,b4,d5,g5] ~@6 [b2,a4,d5,f#5] ~@16 [a2,e5]@4 [g3,g4,c#5,f#5] ~@2, ~@3 [d2,d5,e5]@14 ~@13 [d2,c#5]@16 ~@2, ~@30 e5@4 f#5@11 ~@3, ~@31 g4@14 ~@3, ~@18 e5 d5@4 ~]/3", // B7 G Bm7 A5 F# Dsus2 Dmaj7
  AB: "[~@4 [g4,c#5,e5] a2 ~@7 a4@11 [a2,a4]@3 [f#3,d4] ~@4, ~@13 [d2,f#4,d5]@15 ~@4]/2", // C#dim A D
  AC: "[~@3 [a2,a3,e4] ~@17 [a2,a4]@4 [f#3,d4,f#4] ~@6, ~@11 [d2,d4,f#4]@14 ~@7]/2", // A5 A D
  AD: "[[a2,a3,e4] ~@6 [d2,f#3,d4]@12 [a2,a3,e4]@3 [f#3,d4,f#4] ~@6 [a2,e4,g4] ~@2]/2", // A5 D A5 D A7
  AE: "[~@4 [f#4,a4]@5 [f#4,a4]@3 [f#4,a4]@3 [a2,f#4,a4]@3 [f#3,g4,b4] ~@6 [a2,f#4,a4] ~@6, ~@2 [d2,d4]@7 ~@7]/2", // F#m D Gmaj7 D
  AF: "~@3 [b2,b4], ~ [d2,e4,g4]@15", // B Em7
  AG: "[[g3,e4] ~@5 f#4 [b2,b3] ~@17 [b2,b4]@3 [g3,e4,g4] ~@3, ~@7 [d2,e4,g4]@7 ~@2]/2", // C B C Em7
  AH: "[~@3 [b2,b3,f#4] ~@18 [b2,b3,f#4]@3 [g3,e4,g4] ~@6, ~@11 [d2,g3,e4]@15 ~@6]/2", // B5 C Em7
  AI: "[[b2,f#4,a4] ~@6 [g4,b4]@5 [g4,b4]@3 [g4,b4]@3 [c#3,g4,b4]@2 [a4,c#5] a3 ~@6 [c#3,g4,b4] ~@3, ~@7 d2@14 ~@11]/2", // B7 G C#m7b5 A C#m7b5
  AJ: "[~@14 [a2,a5]@3 [f#3,d5,f#5,d6] ~@6 [a2,e5,a5,e6] ~@7, ~@3 [d2,f#4,a4]@15 ~@14]/2", // A D A5 D
  AK: "~@13 [a2,a4]@3, ~ [d2,d3,f#5,a5,d6,f#6]@15", // A D
  AL: "[[f#3,d4,f#4] ~@6 [a2,a3,e4] ~@18 [a2,a3,e4]@2 [d4,f#4] f#3 ~@2, ~@15 [d2,f#3,d4]@14 ~@3]/2", // D A5 D
  AM: "[~@3 [a2,e4,g4] ~@6 [f#4,a4]@5 [f#4,a4]@3 [f#4,a4]@2 ~@3 [b4,d5] ~ f#3 ~@5 [a4,c#5], ~@5 d2@6 a2 ~@4, ~@21 [f#4,a4]@4 ~@7]/2", // A7 F#m Bm A F#m
  AN: "[a2 ~@18 b2@2 [e5,b5,e6] g3 ~@5 [b2,f#5,b5,f#6] ~@3, ~@7 [d2,e4,g4]@15 ~@10, ~@18 b5@3 ~@11]/2", // E5 B5 Em7
  AO: "[~@4 [d2,g5,b5,e6,g6]@11 [b2,b4]@3 [g3,e4,g4] ~@6 [b2,f#4] ~@6]/2", // Em7 B C B5
  AP: "~@8 f#4@3 [b2,f#4]@3 ~ [g3,e4,g4], ~ [d2,g3,e4]@14 ~", // B5 C Em7
  AQ: "[~@6 [b2,f#4,a4] ~@41 g4@5 a4@2 ~ f#4@11 ~ e4@6 ~@12 [a2,a5]@3 [f#3,f#6] ~@6, ~@15 c#5@27 a4@11 ~@2 g4@2 ~@39, ~@16 [d2,a2]@39 ~@20 [d2,d4]@15 ~@6, ~ [e4,g4]@2 ~@3, ~@33 b4@22 ~@41]/6", // B7 A F# D5 D Em
  AR: "[~ [a2,a5] ~@7 [d2,d5]@12 [a2,a4]@2 [f#3,f#5] ~@6 a4 a2]/2", // A D A F#
  AS: "[~@17 [a2,a3]@2 ~ [f#3,f#4] ~@6 [a2,a3] ~@4, ~@7 [d2,d4]@13 ~@12]/2", AT: "~ [d2,d3]@3",
  AU: "a2@2 ~ f#3 ~@7 a2 ~@4",
  AV: "[~@16 a2@3 ~ [f3,d4,f4,a4,d5]@9 [d4,f4,a4,c#5]@8 [f4,c5]@7 c5@4 ~ a2@3 [f3,d4,f4] ~@6 [a2,d4,f4,a#4] ~@4, ~@5 d2@15 ~@9 a2 ~@7 [d2,d4,a4]@15 ~@12, ~@11 f4@2 ~@3, ~@24 c5@2 b4 ~@5]/4", // Dm F5 Dm A#maj7 D5
  AW: "~@3 a4@10 [a2,a4]@3, ~@3 [d2,a3,d4,f4]@13", // A Dm
  AX: "[[f3,a3,d4,g#4] ~@6 [a2,a3,d4] ~@16 [a2,f4]@3 ~ [f3,a3,d4,g4] ~@3, ~@7 g4@5 ~@2 [d2,a3,d4]@14 ~@4, ~@14 f4@5 f4@5 ~@8, ~@17 g4@10 ~@5, ~@21 e4@6 ~@5]/2", // Dm D5 Dm D5
  AY: "[~@3 [a2,a3,d4] ~@19 a#2@3 [g3,d4,e4,a#4] ~@5, ~@3 f4@2 ~@7 [d2,a#3,d4,e4]@14 d5@2 ~@4]/2", // D5 Em7b5
  AZ: "[~ [a#2,d4,e4,a#4,c#5] ~@7 c5@6 c5@3 ~@2 a#2@3 [g3,d4,e4,g4,b4] ~@6 [a#2,d4,e4,g4,a#4] ~, ~@9 [d2,d4,e4,g4]@13 ~@10, ~@19 c5@4 ~@9]/2", // A#dim Em7 Em7b5 Em7
  BA: "[~@6 a4@10 [a#2,a4]@4 [g3,a#3,d4,g4] ~@6 [a#2,a#3,d4,f4] ~@4, ~@3 [d2,d4,e4]@8 ~@5]/2", // A#maj7 Gm A# Dsus2
  BB: "~@13 a2@3, ~ [d2,g3,c#4]@7, ~@2 e4@5 e4@5 e4@4, ~@5 f4@10 ~, ~@5 d4@3", BC: "[g3,c#4,f4] ~@6 [a2,g3,c#4,e4] ~@8",
  BD: "[~@11 a2@4 [f3,d4,f4,a4,d5]@9 [a2,d4,f4,a4,c#5]@8, [d2,f3,a3,d4] ~]/2", // Dm
  BE: "[f4,a4,c5]@6 ~ c5@4 ~ a2@3 [f3,d4,f4,b4], [d2,d4]@7 ~, ~@7 [f4,a4]@8 ~, ~@11 c5@4 ~", // F Bdim D F
  BF: "[~@5 a#4 [a2,d4,f4] ~@6 a4@3 a4@7 [a2,a4]@2 ~ [f3,a3,d4,g#4] ~@5, ~@13 [d2,d4,f4]@12 ~@7]/2", // Dm A Dm
  BG: "[~ [a2,a3,d4,g4] ~@16 [a2,f4]@3 ~ [f3,a3,d4,g4] ~@6 [a2,a3,d4,f4] ~@2, ~@8 [d2,d4]@13 ~@11, ~@8 f4@5 f4@2 e4@6 ~@11, ~@9 a3@13 ~@10, ~@11 g4@10 ~@11]/2", // Dsus4 Dm D
  BH: "[~@15 a#2@4 [g3,d4,e4,a#4,d5] ~@6 [a#2,d4,e4,a#4,c#5] ~@5, ~@4 [d2,a#3,d4,e4]@15 ~@13]/2", // Em7b5 A#dim Em7b5
  BI: "[~@2 c5@6 ~ c5@4 ~ a#2@3 [g3,d4,e4,b4] ~@6 [a#2,d4,e4,a#4] ~@6 a4@4 ~ a4@6 [a#2,a4]@2 ~ [a#3,d4,g4] g3 ~, ~@2 [d2,d4,e4]@15 ~@14 [d2,d4,e4]@13 ~@4, ~@13 c5@4 ~@31]/3", // Em7 Em7b5 A#maj7 Gm Dsus2
  BJ: "[~@4 [a#2,a#3,d4,f4] ~@17 [a2,e4]@4 [g3,c#4,f4] ~@5, ~@11 [d2,c#4]@15 ~@6, ~@11 e4@4 f4@11 ~@6, ~@6 g3@7 ~@3, ~@17 e4@2 d4@7 ~@6]/2", // A# A5 Gm7b5 Dmaj7
  BK: "[~@2 [a2,g3,c#4,e4] ~@20 a2@5 [d5,f#5]@7 ~ a2@8 c6@6 c6@4 ~@2 a2@3 [f#3,d5,f#5,b5] ~@4, ~@11 [d2,f3,d4]@17 [f#3,d6]@16 [d2,d5,f#5]@15 ~@5, ~@35 [d5,f#5,c#6]@8 ~@12 c6@4 ~@5]/4", // A7 D Bm Dm D Dmaj7
  BL: "[~ [f#5,a#5] [a2,d5] ~@6 a5@11 [a2,a5]@3 [f#3,a4,d5,g#5] ~@6 [a2,a4,d5,g5] ~, ~@9 [d2,d5,f#5]@14 ~@9]/2", // F# D5 A D Dsus4 D
  BM: "[~@15 [a2,f#5]@3 ~ [f#3,a4,d5,g5] ~@6 [a2,a4,d5,f#5] ~@5, ~@4 f#5@4 g5@11 ~@13, ~@5 [d2,a4,d5]@14 ~@13, ~@9 f#5@6 ~@17, ~@6 e5@3 ~@7]/2", // D D5
  BN: "~@13 b2@3, ~ [d2,g4,b4,d5,e5]@7", BO: "[g3,d5,e5,g5,d6] ~@7 [b2,d5,e5,g5,c#6] ~@7",
  BP: "c6@5 c6@4 ~ b2@3 [g3,b4,e5,g5,b5] ~@2, [d2,d5,e5,g5]@7 ~, ~@9 c6@4 ~@3", // Em Em7
  BQ: "[~@4 [b2,a#4,e5,g5] ~@7 a5@10 [a2,a5]@3 [b4,d5,g5] g3 ~@5, ~@2 a#5 ~@3 [d2,d5,e5]@7 ~@3]/2", // Em A G Dsus2
  BR: "[[a2,b4,d5,f#5] ~@6 e5@4 ~@7 [a2,e5]@3 [g3,g4,c#5,f#5] ~@6 [a2,g4,c#5,e5] ~@3, ~@7 [d2,g4,c#5]@14 ~@11, ~@11 f#5@10 ~@11, ~@13 e5@5 ~@14, ~@15 d5@6 ~@11]/2", // Bm7 A5 F# A7 G
  BS: "[~@16 [a2,a4]@3 [f#3,d4] ~@7 [a2,a3,e4] ~@4, ~@4 [d2,f#4,d5]@15 ~@13]/2", // A D A5 D
  BT: "~@13 [a2,e4,a4]@3, ~ [d2,d4,f#4]@7", // A5 D
  BU: "[[f#3,d4,f#4] ~@6 [a2,a3,e4] ~@17 [a2,a3,e4]@2 ~ [f#3,d4,f#4] ~@3, ~@14 [f#3,d4]@13 ~@5, ~@15 d2@13 ~@4]/2", // D A5 D
  BV: "[~@3 [a2,e4,g4] ~@6 [f#4,a4]@5 [f#4,a4]@3 [f#4,a4]@3 [a2,f#4,a4]@2 b4 [f#3,g4] ~@6 [a2,f#4,a4], ~@5 d2@7 ~@4]/2", // A7 F#m D Gmaj7 D
  BW: "[~@18 [b2,b4]@3 [g3,e4] ~@6 [b2,b3,f#4] ~@3, ~@6 [d2,e4,g4]@15 ~@11]/2", BX: "~@3 [d2,e4,g4]@11 [b2,b4]@2",
  BY: "~ [g3,e4,g4] ~@6 [b2,a3,f#4] ~@7", BZ: "~@11 b2@3 [g3,e4,g4] ~, [d2,g3,e4]@7 ~, ~@5 f#4@2 ~",
  CA: "[~@5 [b2,f#4,a4] ~@6 [g4,b4]@5 [g4,b4]@3 [g4,b4]@2 ~ [c#3,g4,b4]@3 [a3,a4,c#5] ~@5, ~@6 d2@7 ~@3]/2", // B7 G C#m7b5 A
  CB: "[[c#3,g4,b4] ~@18 [a2,a5]@3 [f#3,d5,f#5,d6] ~@6 [a2,e5,a5,e6] ~@2, ~@8 [d2,f#4,a4]@15 ~@9]/2", // C#m7b5 A D A5 D
  CC: "[~@18 [a2,a4]@3 [f#3,d4,f#4] ~@6 [a2,a3,e4] ~@3, ~@5 [f#5,a5,d6,f#6]@17 ~@10, ~@3 [d2,d3]@8 ~@5]/2", // A D A5 D
  CD: "[~@14 [a2,a3,e4]@3 [f#3,d4,f#4] ~@6 [a2,e4,g4] ~@6 [f#4,a4]@5 [f#4,a4]@3 [f#4,a4]@2 ~ a2@2 [b4,d5] f#3 ~@2, ~@3 [d2,f#3,d4]@14 ~@14 d2@14 ~@3, ~@41 [f#4,a4]@4 ~@3]/3", // A5 D A7 F#m Bm D F#m
  CE: "[~@3 c#5 [a2,a4] ~@7 [d2,e4,g4]@11 [b2,b5]@2 [e5,g5,b5,e6] g3 ~@5, ~@11 c#5@2 ~@19]/2", // A Em7 B Em
  CF: "[~ [b2,f#5,b5,f#6] ~@18 [b2,b4]@3 [g3,e4,g4] ~@6 [b2,b3,f#4] ~, ~@9 [d2,g5,b5,e6,g6]@15 ~@8]/2", // B5 B C B5 Em7
  CG: "[~@17 b2@3 [g3,e4,g4] ~@7 [b2,f#4,a4]@9 ~@64 e5@2 f#5@2 e5 [d3,a3,d4,e5] ~@15 [d2,f#2,d3,d6,f#6,d7]@3 ~@3, ~@5 [d2,g3,e4]@15 ~@17 [d2,a2]@37 ~@45 [a2,a6]@5 ~@4, ~@13 f#4@7 ~@17 [e4,g4,c#5]@21 a4@32 ~@38, ~@47 b4@19 f#5@32 ~@30, ~@53 g#4@14 ~@15 [c#4,e4,g4,c#5]@23 ~ [f#3,f#4,d5]@18 ~@4]/8", // C B7 Dsus2 D Em7 D5 A C#dim …
})).s("gm_piano").gain(0.36)

stack(piano)

More by Georges Bizet