Strudelify

Le Bulletin de sante

Brassens Georges

KeyA majorTempo228 bpm
0:00/0:00
// Le Bulletin de sante — Brassens Georges
// 228 bpm, 2/2, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 248 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(228/4)

// 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 · "Guitare"
const electric_guitar_jazz = note(`<
  ~@8 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I
  J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D
  E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N
  O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I J K L M N O@2 A B C D E F G H I
  J K L M N P Q
>`.pickRestart({
  A: "e4@3 ~ [a3,c#4]@3 ~ c#4@3 [a3,c#4]@2 c#4@3", B: "c#4@3 [a3,c#4,e4]@2 e4@3 e4@3 [a3,c#4,g#4]@2 f#4@3",
  C: "~@4 [a3,c#4]@3 ~@5 [a3,c#4]@3 ~, e4@15 ~", D: "~@4 [f3,g#3]@3 ~@5 [f3,g#3,c#4]@3 ~, c#4@7 ~@9",
  E: "f#4@3 ~ [f#3,a3,d4]@3 ~ d4@3 ~ [f#3,a3,d4]@3 ~", F: "f#4@3 [d4,f#4,a4]@2 a4@3 c#5@3 [d4,f#4,b4]@2 a4@3",
  G: "~@4 [c#4,f4]@3 ~@5 [c#4,f4]@3 ~, g#4@15 ~", H: "~@4 [c#4,f4]@3 ~@5 [c#4,f4,a4]@3 ~, g#4@7 ~@9",
  I: "a4@3 ~ [a3,c#4,f#4]@3 ~ f#4@3 ~ [a3,c#4,f#4]@3 ~", J: "~@4 [a3,c#4]@3 ~@5 [a3,c#4,a4]@3 ~, f#4@11 ~@5",
  K: "a4@3 ~ [a3,d4,f#4]@3 ~ f#4@3 ~ [a3,d4,f#4]@3 ~", L: "~@4 [a3,d4]@3 ~@5 [a3,c#4]@3 ~, f#4@11 ~@5",
  M: "a4@3 ~ [b3,d#4,f#4]@3 ~ a4@3 [b3,d#4,f#4]@2 a4@3", N: "f#4@3 [b3,d#4,a4]@2 f#4@3 g#4@3 [b3,d4,f#4]@2 g#4@3",
  O: "[~@4 [c#4,e4]@3 ~@5 [c#4,e4]@3 ~@5 [c#4,e4]@3 ~@5 [c#4,e4]@3 ~, a4@27 ~@5]/2", // C#m
  P: "[c#4,e4,a4]@7 ~@5 [g#3,d4,e4]@3 ~", Q: "[c#4,e4,a4]@3 ~@13",
})).s("gm_electric_guitar_jazz").gain(0.36).pan(0.8)

// bass · contrabass · "Contrebasse"
const bass = note(`<
  A@3 B@4 C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G
  H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C
  B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G
  L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G H I J K G L M N B C B@2 D E F G
  H I J K G L M N O P
>`.pickRestart({
  A: "~ a2@3 ~@5 e2@3 ~@4", B: "a2@3 ~@5 e2@3 ~@5", C: "a2@3 ~ e2@3 ~ f#2@3 ~ g#2@3 ~", D: "a2@3 ~@5 g#2@3 ~ f#2@3 ~",
  E: "f2@3 ~@5 c#2@3 ~@5", F: "d2@3 ~@5 a2@3 ~@5", G: "d3@3 ~@5 a2@3 ~@5", H: "c#3@3 ~@5 g#2@3 ~@5",
  I: "c#3@3 ~ c#2@3 ~ d#2@3 ~ f2@3 ~", J: "f#2@3 ~@5 c#2@3 ~@5", K: "f#2@3 ~ a2@3 ~ b2@3 ~ c#3@3 ~",
  L: "d3@3 ~ a2@3 ~ d3@3 ~ c#3@3 ~", M: "b2@3 ~@5 f#2@3 ~@5", N: "b2@3 ~@5 e2@3 ~@5", O: "a2@7 ~@5 e2@3 ~",
  P: "a1@3 ~@13",
})).s("gm_contrabass").gain(0.45).pan(0.3)

// chords · electric guitar jazz · "Guitare" · A
const electric_guitar_jazz_2 = note(`<
  [~@5 [a3,c#4,e4]@3 ~@5 [a3,c#4,e4]@3]!2
  [~@5 [a3,c#4,e4]@3 ~@4 [a3,c#4,e4]@3 ~]
  [~@4 [a3,c#4,e4]@3 ~@5 [a3,c#4,e4]@3 ~]!5
  ~@240
>`).s("gm_electric_guitar_jazz").gain(0.36).pan(0.8)

stack(electric_guitar_jazz, bass, electric_guitar_jazz_2)

More by Brassens Georges