Strudelify
Het Grote Puntje Puntje Lied cover art

1993 · Het Grote Puntje Puntje Puntje Lied

Het Grote Puntje Puntje Lied

C'est Tout

KeyA majorTempo98 bpm
0:00/0:00
// Het Grote Puntje Puntje Lied — C'est Tout
// 98 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: Full arrangement: all 75 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: The whole transcription plays 25 ms ahead of the beat; the grid follows it, so its parts stay together.
setcpm(98/4)

// 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, A@4 for four bars: edit a riff to change every repeat.

// chords · guitar harmonics
const guitar_harmonics = note("<~@53 [~@7 a2 ~ a2 ~ a2] [~@3 a2@2 ~@2 a2@2 ~@15] ~@20>")
  .s("gm_guitar_harmonics").gain(0.24)

// chords · guitar harmonics · soft notes
const guitar_harmonics_soft = note("<~@53 [~@7 e4 ~ e4 ~ e4] [~@3 e4@2 ~@2 e4@2 ~@15] ~@20>")
  .s("gm_guitar_harmonics").gain(0.08)

// chords · banjo
const banjo = note(`<
  A B C@9 D C E C@3 E C E F G F H D C@3 E C@3 E D C@8 F G F H C@4 E C@7 F I F G F I F G J K J L J K J M N
>`.pickRestart({
  A: "[c#5,a5] ~ [a4,c#5,a5] ~@2 a4 [c#5,a5] ~@5 [a#4,e5,f#5] ~ [a#4,e5,f#5] ~@2 a#4 [e5,f#5] ~@5", // F#m A F#m F#7 Esus2
  B: "[a4,d#5,f#5] ~@4 [a4,d#5,f#5]!2 ~@2 [a4,d#5,f#5] ~@2 [b4,d5,g#5] ~@5 [g#4,b4,e5] ~@5", // D#dim G#dim E
  C: "~@3 [a4,c#5,e5] ~ [c#5,e5] ~@2 a4 [c#5,e5] ~@4 [d5,f#5]!2 ~ [d5,f#5] ~@2 [d5,f#5]!2 ~@2, ~@15 b4@2 ~@7", // A C#m D
  D: "~@2 [c#5,a5] [a4,c#5,a5] ~ [c#5,a5] ~@2 a4 [c#5,a5] ~@4 [d5,f#5]!2 ~ [d5,f#5] ~@2 [d5,f#5]!2 ~@2, ~@15 b4@2 ~@7", // F#m A F#m D
  E: "~@3 [a4,c#5,e5] ~ [c#5,e5] ~@2 a4 [c#5,e5] ~@4 [d5,f#5]!2 ~ [d5,f#5] ~@2 [d5,f#5]!2 ~@2, ~@15 g#4@2 ~@7", // A C#m D
  F: "~@3 [g#4,b4,e5] ~ [b4,e5] ~@2 g#4 [b4,e5] ~@4 [d5,f#5]!2 ~ [d5,f#5] ~@2 [d5,f#5]!2 ~@2, ~@15 g#4@2 ~@7", // E E5 D
  G: "~@3 [a4,c#5,e5] ~ [c#5,e5] ~@2 a4 [c#5,e5] ~@4 [c#5,f#5]!2 ~ [c#5,f#5] ~@2 [f#5,a5] [c#5,a5] ~@2, ~@15 a4@2 ~@7", // A C#m F#5 F#m
  H: "[a4,c#5,e5] ~@4 [g#4,c5] [a4,c#5] ~@2 [a#4,d5] ~@2 [b4,d#5] ~@11", // A G# A A# B
  I: "~@3 [a4,c#5,e5] ~ [c#5,e5] ~@2 a4 [c#5,e5] ~@4 [c#5,f#5]!2 ~ [c#5,f#5] ~@2 [c#5,f#5]!2 ~@2, ~@15 a4@2 ~@7", // A C#m F#5
  J: "~@3 [a4,c5,f5] ~ [c5,f5] ~@2 a4 [c5,f5] ~@4 [d#5,g5]!2 ~ [d#5,g5] ~@2 [d#5,g5]!2 ~@2, ~@15 a4@2 ~@7", // F F5 D#
  K: "~@3 [a#4,d5,f5] ~ [d5,f5] ~@2 a#4 [d5,f5] ~@4 [d5,g5]!2 ~ [d5,g5] ~@2 [d5,g5]!2 ~@2, ~@15 a#4@2 ~@7", // A# Dm G5
  L: "~@3 [a#4,d5,f5] ~ [d5,f5] ~@2 a#4 [d5,f5] ~@4 [d5,g5]!2 ~ [d5,g5] ~@2 [g5,a#5] [d5,a#5] ~@2, ~@15 a#4@2 ~@7", // A# Dm G5 Gm
  M: "[a#4,d5,f5]!2 ~@2 a#4 [d5,f5] ~@6 [b4,d#5,f#5]!2 ~@2 b4 [d#5,f#5] ~@6", // A# Dm B D#m
  N: "[a4,c5,f5] ~@4 [a4,c5,f5]!2 ~@2 [a4,c#5,f5] ~@2 [a#4,d5,f5] ~@2 [a4,c#5,f5] ~@2 [a#4,d5,f5] ~@5", // F Aaug A# Aaug A#
})).s("gm_banjo").gain(0.16).pan(0.7)

// chords · banjo · soft notes
const banjo_soft = note(`<
  ~ A B@9 C B D B@5 D@2 E D ~ C B@3 D B@3 D C B@8 D E D ~ B@4 D B@7 D E D E D E D E@2 F E F E F E ~ G
>`.pickRestart({
  A: "~@8 f#4 ~@15", B: "~@20 b4 ~@3", C: "~@12 b4 ~@7 b4 ~@3", D: "~@20 g#4 ~@3", E: "~@20 a4 ~@3", F: "~@20 a#4 ~@3",
  G: "~@8 c5 ~@5 d5 ~@9",
})).s("gm_banjo").gain(0.1).pan(0.7)

// chords · brass section
const brass_section = note(`<
  A B C D E ~ F E ~ F E ~ F E ~ F E ~ F E G H G I ~ F E ~ F E ~ F E ~ F E ~ F E ~ F E G H G I ~ F E ~ F E ~ F E ~ F E G
  H G J G H G J K L K M K L K N O
>`.pickRestart({
  A: "[e4,a4] e4 a4 ~@2 [e4,a4]!2 ~@5 [e4,a#4]!2 ~@3 [e4,a#4]!2 ~@5", // A5 Edim
  B: "[d4,b4]!2 ~@3 [d4,b4]!2 ~@2 d4 c5 [c#5,d5] [e4,d#5,e5] ~@5 [e3,e4] ~@2 [f#3,f#4] ~@2, ~@9 b4@2 ~@13", // G Dmaj7 Emaj7 E F#
  C: "[a3,a4] ~@2 [a3,a4] ~@2 [f#3,f#4] ~@2 [a3,a4] ~ [b3,b4] ~@6 [e3,e4] ~@2 [f#3,f#4] ~@2", // A F# A B E F#
  D: "[a3,a4] ~@2 [a3,a4] ~@2 [f#3,f#4] ~ [a3,a4] ~@2 [b2,b3] ~@6 [e3,e4] ~@2 [f#3,f#4] ~@2", // A F# A B E F#
  E: "[a3,a4]@2 [g#3,g#4] [f#3,f#4]@15 ~@6, ~@3 [g3,g4] ~@20", F: "~@18 [e3,e4] ~@2 [f#3,f#4] ~@2",
  G: "[e4,b4,e5]@8 ~ [d#4,g4,b4,d#5] ~@2 [d4,d5]@3 ~ d#4 [d4,d5,d#5] [c#4,a4,c#5] ~@2 [b3,f#4,g#4,b4] ~@2, ~@3 b4 ~@2", // E5 D#aug D D#maj7 F#m G#m7
  H: "[c#4,e4,a4,c#5]@5 ~ [a3,e4,a4]@16 ~@2", // A A5
  I: "[c#4,a4,c#5] ~@4 [b3,d#4,g#4,c5] [c#4,e4,a4,c#5] ~@2 [d4,f4,a#4,d5] ~@2 [d#4,f#4,b4,d#5] ~@11, e4 ~@11", // F#m G# A A# B
  J: "[c#4,e4,a4,c#5]@11 ~", // A
  K: "[f4,c5,f5]@8 ~ [e4,g#4,c5,e5] ~@2 [d#4,d#5]@3 ~ [e4,e5] [d#4,d#5] [d4,a#4,d5] ~@2 [c4,g4,a4,c5] ~@2, ~@3 c5 ~@2", // F5 Eaug D# E D# Gm Am7
  L: "[d4,f4,a#4,d5]@5 ~ [a#3,f4,a#4]@16 ~@2", M: "[d4,f4,a#4,d5]@11 ~",
  N: "[a#3,f4,a#4]!2 ~@3 [a#3,f4,a#4]!2 ~@5 [b3,f#4,b4]!2 ~@3 [b3,f#4,b4]!2 ~@5", // A#5 B5
  O: "[c4,a4,c5]!2 ~@2 [c4,a4,c5] ~ [b3,g4] b4 ~ [c4,a4] c#5 d4 [a#4,d5] ~@2 [c4,a4,c5] ~@2 [d4,a#4] ~@5, ~@6 a#4@2 ~ c5@2 ~@7 d5@2 ~@4", // F Em F A# F Gm
})).s("gm_brass_section").gain(0.56)

// chords · brass section · soft notes
const brass_section_soft = note("<~@20 A B A ~@19 A B A ~@13 A B A ~ A B A ~ C D C ~ C D C ~@2>".pickRestart({
  A: "g#4@6 ~@6 f#4@5 ~ e4 ~@5", B: "~@3 f#4@8 ~", C: "a4@6 ~@6 g4@5 ~ f4 ~@5", D: "~@3 g4@8 ~",
})).s("gm_brass_section").gain(0.32)

// other · trombone
const trombone = note(`<
  A B C@2 D C@2 D C@2 D C@2 D C@2 D C@2 D E F E G C@2 D C@2 D C@2 D C@2 D C@2 D C@2 D E F E G C@2 D C@2 D C@2 D C@2 D E
  F E F E F E F H I H I H I H J K
>`.pickRestart({
  A: "e3!2 ~@3 e3!2 ~@5 e3!2 ~@3 e3!2 ~@5", B: "d3!2 ~@2 d3 ~ d3 ~@2 d3 ~@2 e3@3 ~@9",
  C: "a3@2 ~ f#3@2 ~ d3@2 ~ e3@2 ~", D: "a3 ~@5 g3@12 ~@6", E: "e3@5 ~ g#3@5 ~", F: "a3@5 ~ e3@5 ~",
  G: "a3!2 ~@3 g#3 a3 ~@2 a#3 ~@2 b3 ~@11", H: "f3@5 ~ a3@5 ~", I: "a#3@5 ~ f3@5 ~", J: "a#3@7 ~@5 d#3!2 ~@3 d#3!2 ~@5",
  K: "f3!2 ~@2 f3 ~ g3 ~@2 a3 ~@2 a#3 ~@2 f3 ~@2 a#3 ~@5",
})).s("gm_trombone").gain(0.4).pan(0.8)

// other · french horn
const french_horn = note(`<
  A B C D E C D E C D E C D E C D E C D E F G F H C D E C D E C D E C D E C D E C D E F G F H C D E C D E C D E C D E F
  G F G F G F G I J I J I J I K L
>`.pickRestart({
  A: "e4!2 ~@3 e4!2 ~@5 e4 ~ e4 ~@2 e4!2 ~@5", B: "d4!2 ~@3 d4!2 ~@2 d4 ~@2 e4 ~@5 e4 ~@5",
  C: "e4@4 ~@2 c#4@5 ~ d4@6 ~@6", D: "e4@5 ~ d#4@5 ~ d4@6 ~@6", E: "c#4 ~@5 c#4@5 ~ d4@5 ~@7",
  F: "b3@6 ~@3 b3 ~@2 d4@10 ~@2", G: "c#4@5 ~ a3@5 ~", H: "c#4!2 ~@3 c4 c#4 ~@2 d4 ~@2 d#4 ~@11",
  I: "c4@6 ~@3 c4 ~@2 d#4@10 ~@2", J: "d4@5 ~ a#3@5 ~", K: "d4@7 ~@5 d#4!2 ~@3 d#4!2 ~@5",
  L: "d4!2 ~@2 d4!2 ~@2 d4 ~@2 d4 ~@3 d4 ~@2 d4 ~@5",
})).s("gm_french_horn").gain(0.25).pan(0.4)

// other · trumpet
const trumpet = note(`<
  A B C D E C F E C F E C F E C F E C F G H I H J C F E C F E C F E C F E C F E C F G H I H J C F E C F E C F E C F G H
  I H K H I H K L M L N L M L O P
>`.pickRestart({
  A: "a4!2 ~@3 a4!2 ~@5 a#4 ~ a#4 ~@2 a#4!2 ~@5", B: "b4 ~ b4 ~@2 b4!2 ~@2 b4 c5 [c#5,d5] [d#5,e5] ~@5 e4 ~@2 f#4 ~@2",
  C: "a4 ~@2 a4 ~@2 f#4 ~@2 a4 ~ b4 ~@6 e4 ~@2 f#4 ~@2", D: "a4 ~@2 a4 ~@2 f#4 ~ a4 ~@2 b3 ~@6 e4 ~@2 f#4 ~@2",
  E: "a4@2 [g4,g#4] f#4@14 ~ e4 ~@2 f#4 ~@2", F: "a4 ~@2 a4 ~@2 f#4 ~@2 a4 b3 ~@7 e4 ~@2 f#4 ~@2",
  G: "a4@2 [g4,g#4] f#4@14 ~@7", H: "e5@7 ~ [g#5,a5] g5 ~@2 f#5@4 ~ f#5 e5 ~@2 d5 ~@2", I: "e5@4 ~@2 c#5@15 ~@3",
  J: "c#5 ~@4 c5 c#5 ~@2 d5 ~@2 d#5 ~@5 e4 ~@2 f#4 ~@2", K: "e5@11 ~",
  L: "f5@7 ~ [a5,a#5] g#5 ~@2 g5@4 ~ g5 f5 ~@2 d#5 ~@2", M: "f5@4 ~@2 d5@15 ~@3", N: "f5@11 ~",
  O: "a#4!2 ~@3 a#4!2 ~@5 b4!2 ~@3 b4!2 ~@5",
  P: "c5!2 ~@2 c5 ~@3 a#4 [b4,c5] c#5 d5@2 ~@2 f5 ~ a5 a#5 ~@5, ~@3 g#4 ~@8, ~@7 a4@2 ~@15", // Cmaj7
})).s("gm_trumpet").gain(0.43).pan(0.3)

// bass · tuba
const bass = note(`<
  A B C@12 D C@5 E F G H C@9 D C D C@3 D C@2 E F G H C@3 D C D C@3 D C@2 G F E F G F E F I J K J L M N O P
>`.pickRestart({
  A: "a1 ~ a#1 ~", B: "b1!2 ~@3 b1!2 ~@2 b1 ~@2 e1@2 ~@4 e2@2 ~@4", C: "a1 ~@5 f#1 ~@5 b1 ~@5 e1 ~@5",
  D: "a1 ~@5 f#1 ~@5 b1 ~@5 e1 ~@2 f#1 ~@2", E: "e1 ~@5 g#1 ~@5 b1 ~@2 d2 ~@2 c#2 ~@2 b1 ~@2",
  F: "a1 ~@5 e1 ~@5 a1 ~@2 g#1 ~@2 f#1 ~@2 g#1 ~@2", G: "e1 ~@5 g#1 ~@5 b1 ~@4 b1 c#2 ~@2 b1 ~@2",
  H: "a1 ~@4 g#1 a1 ~@2 a#1 ~@2 b1 ~@11", I: "f1 ~@5 a1 ~@5 c2 ~@4 c2 d2 ~@2 c2 ~@2",
  J: "a#1 ~@5 f1 ~@5 a#1 ~@2 a1 ~@2 g1 ~@2 a1 ~@2", K: "f1 ~@5 a1 ~@5 c2 ~@2 d#2 ~@2 d2 ~@2 c2 ~@2",
  L: "f1 ~@5 a1 ~@5 c2 ~@2 d#2 ~ d#2 d2 ~ d2 c2 ~@2", M: "a#1 ~@5 f1 ~@5 a#1 ~ a#1 a1 ~@2 g1 ~@2 a1 ~@2",
  N: "f1 ~@5 a1 ~@5 c2 ~ c2 d#2 ~@2 d2 ~@2 c2 ~@2", O: "a#1 ~@5 b1 ~@5",
  P: "c2!2 ~@2 c2 ~ f1 ~ a1 ~@3 a#1 ~@2 a1 ~@2 a#1@2 ~@4",
})).s("gm_tuba").gain(0.45)

// drums · kick
const kick = s("bd").struct("<A B C@21 ~ C@21 ~ C@27 A D>".pickRestart({
  A: "x!2", B: "x ~@2 x", C: "x!4", D: "x ~ x!2",
})).gain(0.48)

// drums · snare
const snare = s("sd").struct(`<
  A B C@2 D E C F E C D E C F E C G C@2 H E C I J C@2 I C@2 G C@2 K C@2 G C@2 I C@2 L C@2 M B C@2 G C@2 M C@2 G C@2 N
  C@7 O C@6 M A P
>`.pickRestart({
  A: "x!2 ~@3 x!2 ~@5 x!2 ~@3 x!2 ~@5", B: "x!2 ~@3 x!2 ~@2 x ~@2 x ~@4 x!2 ~@5", C: "~ x ~ x ~ x ~ x",
  D: "~@3 x ~@2 x ~@2 x ~@5 x ~@4 x!2 ~ x", E: "x!2 ~ x ~ x ~ x", F: "~@3 x ~@5 x ~@5 x!2 ~ x ~ x!2 ~ x",
  G: "~@3 x ~@5 x ~@5 x ~@4 x!2 ~@2", H: "~@3 x ~@2 x ~@2 x ~@5 x!2 ~ x ~ x!2 ~ x",
  I: "~@3 x ~@5 x ~@5 x!2 ~ x ~ x!2 ~@2", J: "x ~ x ~@2 x!2 ~@2 x ~@2 x ~@4 x!2 ~@5",
  K: "~@3 x ~@5 x ~@5 x!2 ~ x ~ x!4", L: "~@3 x ~@2 x ~@2 x ~@5 x!3 ~@2 x!4", M: "~@3 x ~@5 x ~@5 x!3 ~@2 x!2 ~@2",
  N: "~@3 x ~@5 x ~@5 x!3 ~@2 x!4", O: "~@3 x ~@2 x ~@2 x ~@5 x ~@5 x!3", P: "x!2 ~@2 x ~ x ~@2 x ~@2 x ~@2 x ~ x ~@6",
})).gain(0.32)

// drums · snare · soft notes
const snare_soft = s("sd").struct(`<
  ~@3 A B ~ A C ~ A B ~ A C ~ A ~@2 A B ~ A D ~@2 A D ~ A ~@2 A E ~ A ~@2 A D ~ A F ~ A ~@3 A ~@2 A ~@2 A ~@2 A G ~ A ~
  A ~ A ~ F ~ A ~ A ~ A ~@3
>`.pickRestart({
  A: "~@5 x", B: "~@7 x!16 ~", C: "~@17 x!6 ~", D: "~@17 x ~@6", E: "~@17 x!5 ~@2", F: "~@7 x!15 ~@2",
  G: "~@18 x!4 ~@2",
})).gain(0.16)

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

stack(
  guitar_harmonics, guitar_harmonics_soft, banjo, banjo_soft, brass_section, brass_section_soft, trombone, french_horn,
  trumpet, bass, kick, snare, snare_soft, ride
)

More by C'est Tout