Strudelify

Penelope

Brassens Georges

KeyE♭ majorTempo160 bpm
0:00/0:00
// Penelope — Brassens Georges
// 160 bpm, 3/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 144 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/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 · electric guitar jazz
const electric_guitar_jazz = note(`<
  A B C D E F G H E I J K L@2 M N O P Q@2 R S D T U V W X Y Z AA AB E F G H E I J K L@2 M N O P Q@2 R S D T U V W X Y Z
  AA AB E F G H E I J K L@2 M N O P Q@2 R S D T U V W X Y Z AA AB E F G H E I J K L@2 M N O P Q@2 R S D T U V W X Y Z AA
  AB E F G H E I J K L@2 M N O P Q@2 R S D T U V W AC AD AE AF AG
>`.pickRestart({
  A: "~@3 g4@2 gb4@3 g4@3 ~@2 g4@3, eb4@9 ~@2 [d4,ab4]@4 ~", B: "f4@3 f4@2 e4@3 f4@3 ~@2 f4@3, c4@9 ~@2 [b3,g4]@4 ~",
  C: "[c4,eb4]@3 [c4,eb4]@2 [b3,d4]@3 [c4,eb4]@3 [d4,f4]@2 [eb4,g4]@3", D: "[c4,eb4,g4]@15 ~",
  E: "~@5 [g3,bb3,eb4]@4 ~@2 [bb3,eb4,g4]@4 ~", F: "~@5 [c4,eb4]@3 [d4,f4]@3 [eb4,g4]@4 ~",
  G: "~@5 [ab3,c4,f4]@4 ~@2 [c4,f4,ab4]@4 ~", H: "~@5 [eb4,g4]@3 [d4,f4]@3 [c4,eb4]@2 [d4,f4]@3",
  I: "~@5 [bb3,eb4,g4]@4 ~@2 [d4,g4,bb4]@4 ~", J: "c5@5 bb4@5 ~ g4@4 ~, c4@15 ~, g4@11 ~@5",
  K: "[c4,e4]@5 [d4,f4]@5 ~ [e4,g4]@5, [g3,bb3]@15 ~", L: "[c4,f4,ab4]@15 ~", M: "[b3,f4,g4]@15 ~",
  N: "~@5 [b3,f4,g4]@9 ~@2", O: "~@5 f4@5 ~ eb4@5, c4@15 ~",
  P: "~@5 [g4,bb4]@3 [f4,ab4]@3 [eb4,g4]@2 [d4,f4]@3, d4@13 ~@3", // Gm Fm Eb Dm
  Q: "[d4@5 eb4@5 ~ d4@5 ~@5 [f4,ab4]@3 [eb4,g4]@3 [d4,f4]@2 [c4,eb4]@3, g4@5 ~@3, ~@16 c4@13 ~@3]/2", // Fm Eb Dm Cm
  R: "~@5 d4@5 ~ c4@5, f4@9 ~@7", S: "~@3 [f4,ab4]@2 [eb4,g4]@3 [d4,f4]@3 [c4,eb4]@2 [d4,f4]@3, b3@15 ~",
  T: "c4@5 eb4@5 ~ g4@5", U: "ab4@5 eb4@5 ~ c4@4 ~", V: "[b3,d4]@5 [c4,eb4]@5 ~ [d4,f4]@5",
  W: "g4@4 ~ ab4@4 ~@2 bb4@4 ~, f4@15 ~", X: "[bb4,db5]@3 ~@2 [ab4,c5]@3 ~@3 [g4,bb4]@4 ~, ~@3 e4@5 e4@7 ~",
  Y: "[c4,eb4,ab4]@15 ~", Z: "c4@4 ~@7 f4@4 ~, g4@11 ~@5, ~@5 b3@9 ~@2",
  AA: "[c4,eb4]@4 ~ [b3,d4]@3 [c4,eb4]@3 [d4,f4]@2 [eb4,g4]@3", AB: "[d4,f4]@4 ~ [c4,eb4]@5 ~ [d4,f4]@4 ~",
  AC: "[e4,ab4,c5]@9 ~@7", AD: "~@5 c5@4 ~@2 c6@4 ~", AE: "bb4@4 ~ bb5@4 ~@2 bb4@4 ~", AF: "[g3,bb3,eb4]@15 ~",
  AG: "~@5 eb6@10 ~, eb4@4 bb5@11 ~, ~ [g4,bb4]@14 ~, ~@2 c5@13 ~, ~@3 [eb5,g5]@12 ~", // Gm Eb
})).s("gm_electric_guitar_jazz").gain(0.36).pan(1)

// bass · electric bass finger
const bass = note(`<
  A B C@2 D E F G D H I J K L M@2 K N O P Q R S T K U V W K X Y Z D E F G D H I J K L M@2 K N O P Q R S T K U V W K X Y
  Z D E F G D H I J K L M@2 K N O P Q R S T K U V W K X Y Z D E F G D H I J K L M@2 K N O P Q R S T K U V W K X Y Z D E
  F G D H I J K L M@2 K N O P Q R S T K U V AA AB AC AD ~
>`.pickRestart({
  A: "~@5 [g3,bb3]@4 ~@2 [g3,bb3]@4 ~, eb2@9 ~@7", B: "~@5 [f3,ab3]@4 ~@2 [g2,f3,a3]@4 ~, d2@9 ~@7",
  C: "[~@5 [eb3,g3]@4 ~@2 [eb3,a3]@4 ~ [bb2,ab3]@15 ~, c3@9 ~@2 f2@9 ~@12]/2", D: "eb2@9 ~@7",
  E: "~@5 g3@9 ~@2, c2@9 ~@7", F: "ab2@9 ~@7", G: "~@5 ab3@9 ~@2, bb2@9 ~@7", H: "g2@9 ~@7",
  I: "~@5 g3@9 ~@2, e2@9 ~@7", J: "c2@15 ~", K: "~@5 [f3,ab3]@4 ~@2 [f3,ab3]@4 ~, f2@15 ~",
  L: "~@5 [f3,ab3]@4 ~@2 [f3,ab3]@4 ~, d2@15 ~", M: "[~@5 g3@5 ~ f3@5 eb3@5 d3@5 ~ g2@4 ~, g2@25 ~@7]/2",
  N: "~@5 [ab3,bb3]@4 ~@2 [ab3,bb3]@4 ~, bb2@15 ~", O: "~@5 [g3,bb3]@4 ~@2 [g3,bb3]@4 ~, eb2@15 ~",
  P: "~@5 [eb3,ab3]@4 ~@2 [eb3,ab3]@4 ~, ab2@15 ~", Q: "~@5 [f3,ab3]@4 ~@2 [f3,ab3]@4 ~",
  R: "~@5 [f3,g3]@4 ~@2 [f3,g3]@4 ~, g2@15 ~", S: "~@5 [eb3,g3]@4 ~@2 [eb3,g3]@4 ~, c2@15 ~",
  T: "~@5 [eb3,g3]@4 ~@2 [eb3,g3]@4 ~, eb2@15 ~", U: "[g2,f3,g3]@15 ~", V: "[db3,bb3]@15 ~", W: "[c3,bb3]@15 ~",
  X: "[g2,f3]@15 ~", Y: "[c3,eb3,g3]@15 ~", Z: "[bb2,g3]@15 ~", AA: "[c3,bb3]@9 ~@7",
  AB: "~@5 [ab3,c4,eb4,f4]@9 ~@2, ab2@15 ~", AC: "~@5 [ab3,c4,d4,f4]@9 ~@2, bb2@15 ~", AD: "eb2@15 ~",
})).s("gm_electric_bass_finger").gain(0.54).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges