Strudelify

Les Quat'z'arts

Brassens Georges

KeyD minorTempo140 bpm
0:00/0:00
// Les Quat'z'arts — Brassens Georges
// 140 bpm, 6/8, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 232 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(140/3)

// 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
const electric_guitar_jazz = note(`<
  ~@2 A@6 B C D E F G H I B C D E F J K L M N O P Q R S T B C D E F G H I B C D E F J K L M N O P Q R S T B C D E F G H
  I B C D E F J K L M N O P Q R S T B C D E F G H I B C D E F J K L M N O P Q R S T B C D E F G H I B C D E F J K L M N
  O P Q R S T B C D E F G H I B C D E F J K L M N O P Q R S T B C D E F G H I B C D E F J K L M N O P Q R S T B C D E F
  G H I B C D E F J K L M N O P Q R S T B C D E F G H I B C D E F J K L M N O P Q R U V M W X P Q R Y Z
>`.pickRestart({
  A: "[a3,d4,f4] ~ [a3,d4,f4] ~", B: "[f3,a3,d4]@3 d4@2 d4@3 [f3,a3,d4]@4 ~ d4@3",
  C: "[f3,a3]@4 ~@4 [f3,a3]@4 ~ a3@3, d4@3 ~", D: "f3@4 ~ a3@3 [f3,a3,d4]@4 ~ e4@3", E: "[a3,d4] ~ [a3,d4] ~, f4@3 ~",
  F: "[g3,b3,d4]@3 d4@2 d4@3 [b3,d4,g4]@4 ~ f4@3", G: "[g3,c4]@4 ~@4 [g3,c4]@4 ~ e4@3, e4@3 ~",
  H: "[db4,e4,a4]@4 ~ g4@3 [g3,db4,f4]@4 ~ e4@3", I: "[f3,a3] ~ [f3,a3] ~, d4@3 ~",
  J: "[g3,c4]@4 ~@4 [a3,c4]@4 ~ c5@3, e4@3 ~", K: "[gb3,a3,c4]@4 ~ b3@3 [f3,a3]@4 ~ b3@3",
  L: "[e3,g3]@4 ~@4 [e3,bb3]@4 ~ c4@3, c4@3 ~", M: "[c4,f4,a4]@4 ~ a4@3 [c4,f4,a4]@4 ~ a4@3",
  N: "[c4,f4,a4]@4 ~ b3@3 eb4@4 ~ gb4@3", O: "[eb4,gb4] ~ [eb4,gb4] ~, b4 a4", P: "[b3,e4] ~ [b3,e4] ~, g4@3 ~",
  Q: "[a3,c4]@3 c4@2 c4@3 [a3,c4]@4 ~ e4@3", R: "[c4,e4,a4]@4 ~ g4@3 [a3,c4,e4]@4 ~ d4@3",
  S: "[gb3,a3,c4]@4 ~@4 [f3,g3,b3]@4 ~ d4@3", T: "[e3,g3,c4] ~ [db4,e4,g4,a4] ~",
  U: "gb3@4 ~@4 [f3,g3]@4 ~ b3@3, a3@3 ~", V: "[g3,c4]@4 ~@4 [g3,bb3]@4 ~ c4@3, e4@3 ~",
  W: "[c4,f4]@4 ~@4 [f4,a4,c5]@4 ~ e5@3, a4 ~", X: "[eb4,gb4]@4 ~@4 [eb4,gb4,a4]@4 ~ b4@3, b4 ~",
  Y: "[gb3,a3] ~ [f3,b3] ~, c4 d4", Z: "[e3,g3,c4] ~@3",
})).s("gm_electric_guitar_jazz").gain(0.4).pan(1)

// bass · fretless bass
const bass = note(`<
  A@8 B@4 C D E F B@4 C G H I J K L M E@2 H N B@4 C D E F B@4 C G H I J K L M E@2 H N B@4 C D E F B@4 C G H I J K L M
  E@2 H N B@4 C D E F B@4 C G H I J K L M E@2 H N B@4 C D E F B@4 C G H I J K L M E@2 H N B@4 C D E F B@4 C G H I J K L
  M E@2 H N B@4 C D E F B@4 C G H I J K L M E@2 H N O B@3 C D E F B@4 C G H I J K L M E@2 H N B@4 C D E F B@4 C G H I J
  K L M E@2 H P Q@2 R M E@2 H S
>`.pickRestart({
  A: "[d2,d3] ~ a2 ~", B: "d2 ~ a1 ~", C: "g1 ~ b1 ~", D: "c2 ~ c2 ~", E: "a2 ~ a2 ~", F: "d2@4 ~ a1@3 b1@4 ~ db2@3",
  G: "c2 ~ a1 ~", H: "d2 ~ g2 ~", I: "c2@4 ~ c2@3 d2@4 ~ e2@3", J: "d2 ~ c2 ~", K: "f2@4 ~ b1@3 db2@4 ~ eb2@3",
  L: "b1 ~ b1 ~", M: "e2 ~ e2 ~", N: "c3@4 ~ a1@3 b1@4 ~ db2@3", O: "d2@4 ~@4 a1@3 ~@5", P: "c3@4 ~@4 c2@3 d2@2 e2@3",
  Q: "f2@11 ~@5", R: "b1@11 ~@5", S: "c2 ~@3",
})).s("gm_fretless_bass").gain(0.4).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges