Strudelify

Ce n'est pas tout d'etre mon pere

Brassens Georges

KeyD majorTempo160 bpm
0:00/0:00
// Ce n'est pas tout d'etre mon pere — Brassens Georges
// 160 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 132 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · electric guitar jazz · "Guitare"
const electric_guitar_jazz = note(`<
  A B C D E F E F E G H I E F E F E J H K L M N O L M P I L Q N O L M R S E F E F E G H I E F E F E J H K L M N O L M P
  I L Q N O L M R S E F E F E G H I E F E F E J H K L M N O L M P I L Q N O L M R S E F E F E G H I E F E F E J H K L M
  N O L M P I L Q N O L M R T
>`.pickRestart({
  A: "[f#3,a3] [a3,d4] [d4,f#4] [c#4,e4] [b3,d4] [a3,c#4] [g3,b3] [f#3,a3]", // F#m D5 D C#m Bm A G F#m
  B: "[e3,g3]@3 ~ [e3,g3]@5 ~ [d3,f#3]@2 [e3,g3]@2 [c#3,a3]@2", // Em D Em F#m
  C: "[a2,d3,f#3]@3 ~ [f#2,a2,d3]@3 ~ [f#2,a2,d3]@3 ~ [f#2,a2,d3]@3 ~", // D
  D: "[f#2,a2,d3]@3 ~ [f#2,a2,d3]@3 ~ [f#2,a2,d3]@3 ~ [f#2,a2,d3]@3 ~", // D
  E: "[f#2,a2,d3]@3 ~ [f#2,a2,d3]@2 d3@2 [f#2,a2,d3]@2 a2@2 [f#2,a2,d3]@2 f#3@2", // D
  F: "[g2,a2,c#3]@3 ~ [g2,a2,c#3]@3 ~ [g2,a2,c#3]@3 ~ [g2,a2,c#3]@3 ~, e3@11 ~@5", // A7
  G: "[g2,a2,c#3]@3 ~ [g2,a2,c#3]@3 ~ [g2,a2,c#3]@2 d3@2 [g2,a2,c#3,d3]@2 d3@2, e3@5 ~@3", // A7 Gsus2
  H: "[f#2,a2]@3 ~ [f#2,a2]@3 ~ [f#2,a2]@2 d3@2 [g2,b2,d3]@2 d3@2, d3@5 ~@3", // F#m G
  I: "[f#2,a2]@3 ~ [f#2,a2]@3 ~ [f#2,a2]@3 ~ [f#2,a2]@3 ~, d3@11 ~@5", // F#m
  J: "[g2,a2,c#3]@3 ~ [g2,a2,c#3]@3 ~ [g2,a2,c#3]@2 d3@2 [g2,b2,d3]@2 d3@2, e3@5 ~@3", // A7 G
  K: "[f#2,a2,d3]@3 ~ d4@3 b3 a3@3 f#3 d3@3 ~, ~@4 [d3,f#3]@7 ~@5", // D
  L: "[g2,b2]@3 ~ [g2,b2]@3 ~ [d3,g#3]@3 ~ [d3,g#3]@3 ~, e3@7 ~ b3@7 ~", // G Ddim
  M: "[d3,f#3,a3]@3 ~ [d3,f#3,d4]@2 c#4@2 [d#3,f#3,b3]@2 a3@2 [a2,d#3,g3]@2 f#3@2", // D B Am7b5
  N: "[g2,b2]@3 ~ [g2,b2]@3 ~ [g2,c#3,d#3]@3 [g2,c#3,e3]@2 f#3@3, e3@7 ~@9", // G D#7 C#dim
  O: "[f#2,a2,d3]@2 d3@2 [f#2,a2,d3]@2 d3@2 [f#2,a2,d#3]@3 ~ [f#2,a2,b2]@3 ~", // D D#dim B7
  P: "[g2,b2,e3]@3 ~ [g2,b2]@3 ~ [g2,c#3]@3 ~ [g2,c#3,f#3]@3 ~, ~@4 e3@7 ~@5", // Em G Gdim F#
  Q: "[d3,f#3,a3]@3 ~ [d3,f#3,d4]@2 c#4@2 [d3,f#3,b3]@2 a3@2 [a2,d3,g3]@2 f#3@2", // D Bm Dsus4
  R: "[g2,b2,e3]@3 ~ [g2,b2]@3 ~ [g2,c#3]@3 ~ [g2,c#3,e3]@2 f#3@2, ~@4 e3@7 ~@5", S: "[f#2,a2,d3]@11 ~@5",
  T: "[f#2,a2,d3]@3 ~@5 [d3,f#3,a3,d4]@3 ~@5", // D
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass · "Contrebasse"
const bass = note(`<
  A B C@3 D C D C E F C@2 D C D C E F C G H I J G H I K G H I J G H I L C D C D C E F C@2 D C D C E F C G H I J G H I K
  G H I J G H I L C D C D C E F C@2 D C D C E F C G H I J G H I K G H I J G H I L C D C D C E F C@2 D C D C E F C G H I
  J G H I K G H I J G H I M
>`.pickRestart({
  A: "d3@3 ~ a2@3 ~ f#2@3 ~ d2@3 ~", B: "a2@3 ~ e2@3 ~ a1@7 ~", C: "d2@3 ~ d2@3 ~ d2@3 ~ d2@3 ~",
  D: "a2@3 ~ a2@3 ~ a2@3 ~ a2@3 ~", E: "a2@3 ~ a2@3 ~ a2@3 ~ g2@3 ~", F: "d2@3 ~ d2@3 ~ d2@3 ~ g2@3 ~",
  G: "e2@3 ~ e2@3 ~ f2@3 ~ f2@3 ~", H: "f#2@3 ~ f#2@3 ~ b1@3 ~ b1@3 ~", I: "e2@3 ~ e2@3 ~ a1@3 ~ a1@3 ~",
  J: "d2@3 ~ d2@3 ~ g1@3 ~ g1@3 ~", K: "d2@3 ~ a2@3 ~ f#2@3 ~ d2@3 ~", L: "d2@3 ~ a1@3 ~ b1@3 ~ c#2@3 ~",
  M: "d2@3 ~ a2@3 ~ [d2,d3]@3 ~@5", // D
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges