Strudelify
KeyD majorTempo105 bpm
0:00/0:00
// Jeanne — Brassens Georges
// 105 bpm, 3/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 3 "Basse" named as a bass, played on electric bass finger (its acoustic guitar nylon patch is not one)
// note: Full arrangement: all 192 bars on a 24-step grid, each part at one level. Source detail keeps the original performance.
setcpm(105/3)

// 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 · acoustic guitar nylon · "Guitare"
const acoustic_guitar_nylon = note(`<
  A@2 B@2 A@2 B C D E F G H I J K L M L N L O P Q R S T U V W X Y Z AA AB@2 AC AD D E F G H I J K L M L N L O P Q R S T
  U V W X Y Z AA AB@2 AC AD D E F G H I J K L M L N L O P Q R S T U V W X Y Z AA AB@2 AC AD D E F G H I J K L M L N L O
  P Q R S T U V W X Y Z AA AB@2 AC AD D E F G H I J K L M L N L O P Q R S T U V W X Y Z AA AB@2 AC AD D E F G H I J K L
  M L N L O P Q R S T U V W X Y Z AA AB@2 AC@2 AB@2 AE@2
>`.pickRestart({
  A: "b3 e4 g4 b4 [b3,e4,g4]@2", B: "b3 d4 f#4 b4 f#4 d4", C: "b3 d4 f#4 b4 b3@2", D: "~ [g3,b3]!2, g4",
  E: "~ [g3,b3]!2, g4@2 ~", F: "~ [g3,b3]!2, e4", G: "e4 [g3,b3] [g3,b3,g4]", H: "~ [f#3,a#3]!2, f#4",
  I: "~ [f#3,a#3]!2, c#4", J: "~ [f#3,a#3]!2, e4", K: "e4@2 [f#3,a#3]@2 e4 f#4, ~@2 [a#3,c#4]",
  L: "g4 [g3,b3,e4] [b3,e4,g4]", M: "f#4 [a3,c#4,e4] [a3,c#4,f#4]", N: "f#4@2 [a3,c#4]@2 e4 f#4, ~@2 [a3,c#4]",
  O: "b4 [b3,e4,a4] [b3,e4,g4]", P: "f#4 [f#3,b3,d4] [f#3,b3,f#4]", Q: "~ [f#3,a#3]!2, e4@2 ~",
  R: "c#4 [f#3,a#3,c#4]!2", S: "e4@2 e4!2 g4 e4, ~ [a#3,c#4]!2", T: "~ [g3,b3] [g3,b3,d4], e4@2 ~",
  U: "c#4 [f#3,a#3] [f#3,a#3,f#4]", V: "b3 c#4 d4@2 e4@2", W: "a3 c#4 c#4@4", X: "g3 a3 b3@4",
  Y: "a#3 b3 [f#3,a#3,c#4]@2 b3 c#4, ~@2 e3", Z: "g#3", AA: "a3", AB: "b3 e4 g4 b4 [b3,e4,g4]@2, ~ [b3,e4] ~",
  AC: "b3 d4 f#4 b4 [d4,f#4] d4, ~ [b3,d4] b3", AD: "b3 d4 f#4 b4 b3@2, ~ [b3,d4] ~",
  AE: "[b3@5 d4@4 f#4@5 b4@4 d5@5 f#5@4 [b4,d5,f#5,b5]@9 ~@12]/2", // Bm
})).s("gm_acoustic_guitar_nylon").gain(0.4)

// bass · electric bass finger · "Basse"
const bass = note(`<
  A@2 B@2 A@2 B@2 C D E D F G H F C F C F I@2 J K@3 C F L M N F O P C@2 Q@2 C D E D F G H F C F C F I@2 J K@3 C F L M N
  F O P C@2 Q@2 C D E D F G H F C F C F I@2 J K@3 C F L M N F O P C@2 Q@2 C D E D F G H F C F C F I@2 J K@3 C F L M N F
  O P C@2 Q@2 C D E D F G H F C F C F I@2 J K@3 C F L M N F O P C@2 Q@2 C D E D F G H F C F C F I@2 J K@3 C F L M N F O
  P C@2 Q@2 C@2 R@2
>`.pickRestart({
  A: "[e2,b2,e3] ~@2", B: "[b1,f#2,b2] ~@2", C: "e2 ~@2", D: "g2 ~@2", E: "b2 ~@2", F: "f#2 ~@2", G: "a#2 ~@2",
  H: "c#3 ~@2", I: "e2 ~@5", J: "b2 ~@5", K: "f#2 ~@5", L: "a2 [f#3,b3]!2", M: "a2 [e3,a3]!2", N: "g2 [d3,a3]!2",
  O: "c#2 [c#3,f3]!2", P: "f#2 [c#3,d3]!2", Q: "b1 ~@2", R: "[[b1,b2]@6 f#2@3 [b1,b2]@3 ~@4]/2",
})).s("gm_electric_bass_finger").gain(0.4)

stack(acoustic_guitar_nylon, bass)

More by Brassens Georges