Strudelify

histoires sans paroles

Harmonium

KeyC majorTempo92 bpm
0:00/0:00
// histoires sans paroles — Harmonium
// 92 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: metre changes (1/2 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/1065916; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 14 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(92/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · piano
const piano = note("<A B C B C B C B C B C B D E>".pickRestart({
  A: "~@10 [g3,c4,e4] ~@3 [g3,c4,e4] ~", // C
  B: "[c4,e4,g4] ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~ [c4,e4,g4] ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~", // C
  C: "[c4,e4,g4] ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~@3 [g3,b3,d4,f4] ~ [c4,e4,g4] ~ [g3,c4,e4] ~", // C G7 C
  D: "[c4,e4,g4] ~ [g3,c4,e4] ~@3 [g3,c4,e4] ~@3 [g3,b3,d4,f4] ~ [c4,e4,g4] ~@3", // C G7 C
  E: "[g3,g4]@2 ~@2 [g3,g4] ~ [g3,g4] ~ [g#3,g#4]@2 ~@2 [g3,g4]@2 ~@6 [g3,b3,d4,f4]@2 ~@2 [g3,c4,e4]@2 ~@6", // G G# G G7 C
})).s("gm_piano").gain(0.12)

// bass · acoustic bass
const bass = note("<A B C B C B D B D B C B E F>".pickRestart({
  A: "~@4 c2 ~ g1 ~", B: "c2 ~ g1 ~ c2 ~ g1 ~", C: "c2@2 ~@2 g1@2 ~@2 d2 ~ g1 ~ c2@2 ~@2", D: "c2 ~ g1 ~ g1 ~ c2 ~",
  E: "c2@2 ~@2 g1@2 ~@2 d2 ~ g1 ~ c2 ~@3", F: "g1@2 ~@2 g1 ~ g1 ~ g#1@2 ~@2 g1@2 ~@6 g1@2 ~@2 c2@2 ~@6",
})).s("gm_acoustic_bass").gain(0.24)

// drums · rim
const rim = s("rim").struct(`<
  [~@16 x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x]
  [x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x]!11
  [x ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@2 x!2 ~@7]
  ~
>`).gain(0.14)

// drums · snare
const snare = s("sd").struct("<~@13 [x ~ x!3 ~ x ~@3 x ~ x ~@3]>").gain(0.14)

stack(piano, bass, rim, snare)