Strudelify

Venus callipyge

Brassens Georges

KeyF majorTempo200 bpm
0:00/0:00
// Venus callipyge — Brassens Georges
// 200 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (12/8 at bar 1, 6/8 at bar 17, 12/8 at bar 117, 6/8 at bar 133, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: Full arrangement: all 188 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(200/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@2 B C D E F A@3 B C D E F A G H@2 I J K L M N O@2 P Q R S T U R V W G H@2 I J K L M N O@2 P Q R S T U R V W G H@2 I
  J K L M N O@2 P Q R S T U R V W G H@2 I J K L M N O@2 P Q R S T U R V W G H@2 I J K L M N O@2 P Q R S T U R V W A@2 B
  C D E F A@3 B C D E F A G H@2 I J K L M N O@2 P Q R S T U R V W G H@2 I J K L M N O@2 P Q R S T U R V W A@2 B C D E F
  A@3 B C D E F A
>`.pickRestart({
  A: "[a2,c3,f3]@15 ~", B: "[a2,c3,eb3]@15 ~", C: "[f2,bb2,d3]@15 ~", D: "[f2,bb2,d3]@7 ~ [g2,bb2,e3]@7 ~",
  E: "[a2,c3,f3]@7 ~ [d3,f3,a3]@7 ~", F: "[bb2,d3,g3]@7 ~ [g2,bb2,e3]@7 ~",
  G: "g3@3 g3@2 [b2,d3,f3,g3]@3 g3@4 ~ [b2,d3,f3,g3]@3", // G7
  H: "[~@5 [b2,d3,f3]@3 ~@5 [b2,d3,f3]@3 ~@3 a3@2 [b2,d3,g3]@3 f3@3 e3@2 [f2,b2,d3]@3, b3@19 ~@13]/2", // Bdim G Bdim
  I: "~@5 [e2,a2]@3 a2@4 ~ [db2,e2]@3, c3 ~", J: "c3@3 c3@2 [e2,a2,c3]@3 e3@4 ~ [c3,e3,a3]@3",
  K: "~@5 [gb2,a2]@3 ~@5 [gb2,a2,e3]@3, d3@3 ~", L: "c3@4 ~ [a2,c3,e3]@3 a3@4 ~ [a2,c3,e3]@3",
  M: "~@5 [gb2,a2]@3 ~@5 [gb2,a2]@3, d3", N: "~@3 g3@2 [b2,d3,f3,g3]@3 g3@3 g3@2 [b2,d3,f3,g3]@3",
  O: "[~@5 [d3,f3,g3]@3 ~@5 [d3,f3,g3]@3 ~@3 a3@2 [b2,d3,g3]@3 f3@3 e3@2 [g2,b2,d3]@3, b3@19 ~@13]/2", // G7 G
  P: "~@5 [e2,a2]@3 a2@4 ~ [c3,e3,a3]@3, c3 ~", Q: "[c3,f3,a3]@4 ~ a3@3 [d3,f3,b3]@4 ~ d4@3",
  R: "[e3,g3]@4 ~@4 [a2,db3,e3]@4 ~ a3@3, c4@7 ~@9", S: "[a2,d3]@4 ~@4 [g2,b2]@4 ~ g3@3, f3@7 ~@9",
  T: "[ab2,b2]@3 b2@2 ab2@3 ~@8, e3@3 ~", U: "[c3,f3,a3]@3 a3@2 a3@3 [d3,f3,b3]@4 ~ d4@3",
  V: "[a2,d3]@4 ~@4 [f2,g2,d3]@4 ~ b2@3, f3@7 ~@9", W: "[e2,g2,c3]@3 ~",
})).s("gm_electric_guitar_jazz").gain(0.41).pan(1)

// bass · fretless bass
const bass = note(`<
  A@3 B C D C A@4 B C D C A E@2 F G H I H I E@2 F H J K L M J K L N E@2 F G H I H I E@2 F H J K L M J K L N E@2 F G H I
  H I E@2 F H J K L M J K L N O E F G H I H I E@2 F H J K L M J K L N E@2 F G H I H I E@2 F H J K L M J K L P A@3 B C D
  C A@4 B C D C A E@2 F G H I H I E@2 F H J K L M J K L N E@2 F G H I H I E@2 F H J K L M J K L N A@3 B C D C A@4 B C D
  C A
>`.pickRestart({
  A: "[f2,c3,f3]@15 ~", B: "[bb1,f2,bb2]@15 ~", C: "[g1,d2,g2]@7 ~ [c2,g2,c3]@7 ~", D: "[f2,c3,f3]@7 ~ [d2,a2,d3]@7 ~",
  E: "g2 ~ d2 ~", F: "g2 ~ g2 ~", G: "a2 ~ e2 ~", H: "a2 ~ a2 ~", I: "d2 ~ d2 ~", J: "f2@4 ~@4 g2@3 a2@2 b2@3",
  K: "c3 ~ a2 ~", L: "d3 ~ g2 ~", M: "b2 ~ e2 ~", N: "c3@3 g2@2 e2@3 c2@4 ~@4", O: "g2@4 ~@4 d2@3 ~@5",
  P: "c3@4 ~ a2@3 c2@4 ~@4",
})).s("gm_fretless_bass").gain(0.41).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges