Strudelify

Il suffit de passer le pont

Brassens Georges

KeyB♭ majorTempo107 bpm
0:00/0:00
// Il suffit de passer le pont — Brassens Georges
// 107 bpm, 6/8, key Bb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 90 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(107/3)

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

// bass · acoustic bass
const bass = note(`<
  ~ A B C A D E F G H B C A D E F A I A I@5 F A B C A D E F G H B C A D E F A I A I@5 F A B C A D E F G H B C A D E F ~
  J K J K@3 L M K N O K P I Q K P I Q K P I Q R S
>`.pickRestart({
  A: "g2 d3", B: "g2 e2", C: "a2 d3", D: "e2 b2", E: "a2 e3", F: "d3 a2", G: "g2 b2", H: "g2 bb2", I: "c3 g2",
  J: "eb3 c3", K: "bb2 f2", L: "eb3 bb2", M: "f2 c3", N: "bb2 b2", O: "c3 f2", P: "bb2 g2", Q: "g2 f2",
  R: "bb2@2 ~ f2@2 ~", S: "bb2 ~",
})).s("gm_acoustic_bass").gain(0.17).pan(0.3)

// chords · acoustic guitar nylon
const acoustic_guitar_nylon = note(`<
  ~ A B C A D E F A G B C A D E F A H A H@5 F A B C A D E F A G B C A D E F A H A H@5 F A B C A D E F A G B C A D E F I
  J K J K@3 J L M N O M P Q R M P Q R M P Q R S T
>`.pickRestart({
  A: "~@2 [g3,b3,d4] ~@2 [g3,b3,d4]", B: "~@2 [g3,b3,d4] ~@2 [e3,g3,b3]", C: "~@2 [e3,a3,c4] ~@2 [a3,c4,gb4]",
  D: "~@2 [e3,g3,b3] ~@2 [e3,g3,b3]", E: "~@2 [a3,c4,e4] ~@2 [a3,c4,e4]", F: "~@2 [a3,c4,gb4] ~@2 [a3,c4,gb4]",
  G: "~@2 [g3,b3,d4] ~@2 [e3,g3,db4]", H: "~@2 [g3,c4,e4] ~@2 [g3,c4,e4]",
  I: "[f3,bb3,d4,ab4]@2 [f3,bb3,d4,ab4] [f3,bb3,d4,ab4]@3", J: "~@2 [g3,bb3,eb4] ~@2 [g3,bb3,eb4]",
  K: "~@2 [f3,ab3,d4] ~@2 [f3,ab3,d4]", L: "~@2 [f3,a3,c4] ~@2 [f3,a3,c4]", M: "~@2 [f3,bb3,d4] ~@2 [f3,bb3,d4]",
  N: "~@2 [f3,bb3,d4] ~@2 [f3,ab3,d4]", O: "~@2 [g3,c4,eb4] ~@2 [f3,a3,c4]", P: "~@2 [f3,bb3,d4] ~@2 [g3,bb3,d4]",
  Q: "~@2 [g3,c4,eb4] ~@2 [g3,c4,eb4]", R: "~@2 [g3,bb3,d4] ~@2 [f3,a3,c4]", S: "[f3,bb3,d4]@2 ~ [f3,a3,c4]@2 ~",
  T: "[f3,bb3,d4] ~", // Bb
})).s("gm_acoustic_guitar_nylon").gain(0.5).pan(0.6)

// other · electric guitar jazz
const electric_guitar_jazz = note(`<
  ~@2 A ~ A ~ A ~ A ~ A ~@5 B C ~@2 B C ~@4 A ~ A ~ A ~ A ~ A ~@5 B C ~@2 B C ~@4 A ~ A ~ A ~ A ~ A ~@31
>`.pickRestart({
  A: "~@2 d6 ~@3", B: "~@4 g6 e6", C: "g6 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.42)

stack(bass, acoustic_guitar_nylon, electric_guitar_jazz)

More by Brassens Georges