Strudelify

Mourir pour des Idees

Brassens Georges

KeyA minorTempo91 bpm
0:00/0:00
// Mourir pour des Idees — Brassens Georges
// 91.2 bpm, 2/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 220 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(91.2/2)

// 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 · acoustic guitar steel · "Alto"
const acoustic_guitar_steel = note(`<
  A@5 B A B A B C A@2 B A B A B C A D@2 E@2 F@3 G H I@3 A J K L M N O A@2 B A B A B C A@2 B A B A B C A D@2 E@2 F@3 G H
  I@3 A J K L M N O A@2 B A B A B C A@2 B A B A B C A D@2 E@2 F@3 G H I@3 A J K L M N O A@2 B A B A B C A@2 B A B A B C
  A D@2 E@2 F@3 G H I@3 A J K L M N O A@2 B A B A B C A@2 B A B A B C A D@2 E@2 F@3 G H I@3 A J K L M N O A@2 B A B A B
  C A@2 B A B A B C A D@2 E@2 F@3 G H I@3 A J K L M N P Q
>`.pickRestart({
  A: "[e3,a3,c4,e4]!2", B: "[e3,g3,c4,e4] [d3,f#3,a3,d4]", C: "[e3,g#3,b3,e4]!2", D: "[f3,a3,d4,f4]!2",
  E: "[g3,b3,d4,f4]!2", F: "[e3,g3,c4,e4]!2", G: "~@3 d4@2 e4@3 f4@3 f#4@2 g4@3, [e3,g3,c4] [e3,g3,c4,e4], e4@5 ~@11",
  H: "g#4 ~ [e3,g#3,b3,d4]@2, [e3,g#3,b3,d4] ~, ~ b4@2 ~", I: "[e3,g#3,b3,d4]!2", J: "[e3,a3,c4,e4] [f3,a3,c4,f4]",
  K: "[d3,g3,b3,d4]!2", L: "[e3,g3,c4,e4] [f3,a3,c4,f4]", M: "[g#3,b3,d4,e4]!2", N: "[b2,d3,e3,g#3]!2",
  O: "[a2,c3,e3,a3] [e3,a3,c4,e4]", P: "[a2,c3,e3,a3]@3 a4 [b2,d3,e3,g#3,b4]@3 g#4", Q: "[a2,c3,e3,a3,a4] ~",
})).s("gm_acoustic_guitar_steel").gain(0.42).pan(0)

// bass · electric bass pick · "Basso"
const bass = note(`<
  A@5 B A C A C D E A B A C A C D F G@2 H I J K L M D@4 A N H O D@2 A@3 B A C A C D E A B A C A C D F G@2 H I J K L M
  D@4 A N H O D@2 A@3 B A C A C D E A B A C A C D F G@2 H I J K L M D@4 A N H O D@2 A@3 B A C A C D E A B A C A C D F
  G@2 H I J K L M D@4 A N H O D@2 A@3 B A C A C D E A B A C A C D F G@2 H I J K L M D@4 A N H O D@2 A@3 B A C A C D E A
  B A C A C D F G@2 H I J K L M D@4 A N H O D@2 P Q
>`.pickRestart({
  A: "a2!2", B: "c2@2 d3 e2, ~ d2", C: "c2 d2", D: "e2!2", E: "a2@3 e2 f#2@3 g#2", F: "a2@3 g2 f2@3 e2", G: "d2!2",
  H: "g2!2", I: "g2@8 g2@3 a2@2 b2@3", J: "c3!2", K: "g2 e2", L: "c2 e2", M: "g2 c2", N: "a2 f2", O: "c2 f2",
  P: "a2 e2", Q: "a1 ~",
})).s("gm_electric_bass_pick").gain(0.6).pan(1)

// drums · ride
const ride = s("rd").struct(`<
  ~ A ~ A ~ A ~ A ~ B ~ C ~ B ~ A ~ A ~ C ~ B ~ A ~ B ~ C ~ B ~ A ~ A ~ A ~ C ~ C ~ A ~ A ~ B ~ C ~ B ~ A ~ A ~ C ~ B ~
  A ~ B ~ C ~ B ~ A ~ A ~ A ~ C ~ C ~ A ~ A ~ B ~ C ~ B ~ A ~ A ~ C ~ B ~ A ~ B ~ C ~ B ~ A ~ A ~ A ~ C ~ C ~ A ~ A ~ B
  ~ C ~ B ~ A ~ A ~ C ~ B ~ A ~ B ~ C ~ B ~ A ~ A ~ A ~ C ~ C ~ A ~ A ~ B ~ C ~ B ~ A ~ A ~ C ~ B ~ A ~ B ~ C ~ B ~ A ~
  A ~ A ~ C ~ C ~ A ~ A ~ B ~ C ~ B ~ A ~ A ~ C ~ B ~ A ~ B ~ C ~ B ~ A ~ A ~ A ~ C ~@2
>`.pickRestart({
  A: "~ x", B: "~ x ~@2", C: "x",
})).gain(0.64)

stack(acoustic_guitar_steel, bass, ride)

More by Brassens Georges