Strudelify

Le Grand Chene

Brassens Georges

KeyD majorTempo232 bpm
0:00/0:00
// Le Grand Chene — Brassens Georges
// 232 bpm, 2/2, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 237 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(232/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
const electric_guitar_jazz = note(`<
  A B C A D E F@2 G H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I
  J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S
  T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O
  H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S T U@2 H I J K L M N O H P Q R S V W@2 S T X
  Y
>`.pickRestart({
  A: "d4@3 ~ d4@3 ~ f#4@3 ~ d4@3 ~", B: "b3@7 ~ e4@7 ~", C: "f#4@15 ~", D: "b3@7 ~ c#4@7 ~",
  E: "[f#3,a3,d4]@3 ~ [f#3,a3,d4]@3 ~@5 [f#3,a3,d4]@3 ~", F: "~@4 [f#3,a3,d4]@3 ~@5 [f#3,a3,d4]@3 ~",
  G: "~@4 [f#3,a3,d4]@3 ~ a3@3 ~ [a3,e4,g4]@3 ~", H: "~@4 [a3,d4]@3 ~ a4@3 ~ [a3,d4,f#4]@3 ~, f#4@7 ~@9",
  I: "~@4 [f#3,b3]@3 ~ g4@3 ~ [b3,d4,f#4]@3 ~, d4@7 ~@9", J: "~@4 [g3,b3]@3 ~ g4@3 ~ [g3,b3,e4]@3 ~, e4@7 ~@9",
  K: "[g3,a3]@7 ~@5 [a3,c#4,a4]@3 ~", L: "d4@3 ~ [f#3,a3,d4]@3 ~ d4@3 ~ [f#3,a3,d4]@3 ~",
  M: "d4@3 ~ [b3,d4,f#4]@3 ~ d4@3 ~ [b3,d4,f#4]@3 ~", N: "~@4 [g#3,b3]@3 ~@5 [d4,e4]@3 ~, e4@7 ~ b4@7 ~",
  O: "a4@3 ~ [c#4,e4]@3 ~ a4@3 ~ [c#4,e4,g4]@3 ~", P: "~@4 [f#3,a#3]@3 ~@5 [d4,f#4,d5]@3 ~, d4@11 ~@5",
  Q: "b4@3 ~ [b3,d4,a4]@3 ~ g4@3 ~ [b3,d4,f#4]@3 ~", R: "~@4 [a#3,c#4]@3 ~@5 [a#3,d4]@3 ~, e4@7 ~@9",
  S: "d4@3 ~ [b3,d4,e4]@3 ~ f#4@3 ~ [b3,d4]@3 ~", T: "~@4 [e3,g3]@3 ~@5 [e3,g3]@3 ~, b3@7 ~ c#4@7 ~",
  U: "[~@4 [f#3,a3]@3 ~@5 [f#3,a3]@3 ~@5 [f#3,a3]@3 ~ a4@3 ~ [a3,e4,g4]@3 ~, d4@19 ~@13]/2", // F#m A7
  V: "~@4 [e3,g3]@3 ~@5 [g3,b3]@3 ~, b3@7 ~ e4@7 ~", // Em G
  W: "[~@4 [a#3,c#4]@3 ~@5 [a#3,c#4]@3 ~@5 [a#3,c#4]@3 ~@5 [a#3,d4]@3 ~, f#4@23 ~@9]/2", // A#m A#
  X: "[f#3,a3,d4]@7 ~@5 [c#4,g4,a4]@3 ~", Y: "[f#4,a4,d5]@7 ~@9",
})).s("gm_electric_guitar_jazz").gain(0.18).pan(1)

// bass · fretless bass
const bass = note(`<
  A B C D E F@3 G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J
  K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S
  F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L
  P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M S F G H I J K L M N O L P Q R M T R@2 M S U V
>`.pickRestart({
  A: "d3@3 ~ e3@3 ~ f#3@3 ~ d3@3 ~", B: "b2@7 ~ e3@7 ~", C: "f#3@15 ~", D: "d3@3 ~ d3@3 ~ f#3@3 ~ d3@3 ~",
  E: "b2@7 ~ c#3@7 ~", F: "d3@3 ~@5 a2@3 ~@5", G: "d3@3 ~ a2@3 ~ b2@3 ~ c#3@3 ~", H: "d3@3 ~@9 d3@3 ~",
  I: "b2@3 ~@9 b2@3 ~", J: "e3@3 ~@9 e3@3 ~", K: "c#3@3 ~ a2@3 ~ b2@3 ~ c#3@3 ~", L: "d3@3 ~@5 d3@3 ~@5",
  M: "b2@3 ~@5 b2@3 ~@5", N: "e3@3 ~ e2@3 ~ f#2@3 ~ g#2@3 ~", O: "a2@3 ~ a2@3 ~ b2@3 ~ c#3@3 ~",
  P: "f#3@3 ~ d3@3 ~ e3@3 ~ f#3@3 ~", Q: "g3@3 ~@5 g2@3 ~@5", R: "f#2@3 ~@5 f#2@3 ~@5", S: "e2@3 ~@5 a2@3 ~@5",
  T: "e2@3 ~@5 g2@3 ~@5", U: "d2@7 ~@5 a2@3 ~", V: "d2@7 ~@9",
})).s("gm_fretless_bass").gain(0.18).pan(0)

stack(electric_guitar_jazz, bass)

More by Brassens Georges