Strudelify

unsquare dance

Dave Brubeck

KeyA minorTempo210 bpm
0:00/0:00
// unsquare dance — Dave Brubeck
// 210 bpm, 7/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5884794; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 36 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(210/7)

// 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.

// other · alto sax · "Sassofono contralto"
const alto_sax = note("<~@6 A B C B D E A B C B D E F@2 G F H I F@2 G F H I A B C B J K>".pickRestart({
  A: "e4@9 e4@2 d4@2 ~ c4@4 a3@2 ~ c4@4 a3@2 d4@5", B: "e4@9 e4@2 d4@2 ~ c4@4 a3@2 ~ c4@4 a3@2 g3@5",
  C: "a4@9 a4@2 g4@2 ~ f4@4 d4@2 ~ f4@4 d4@2 g4@5", D: "b3@9 b3@2 a3@2 ~ g3@4 e3@2 ~ g3@4 e3@2 b3@5", E: "a3@9 ~@7",
  F: "a3@5 ~@4 g3@5 ~@4 a3@5 ~@9", G: "d4@5 ~@4 c4@5 ~@4 d4@5 ~@9", H: "e4@5 ~@4 d4@5 ~@4 e4@5 ~@9",
  I: "a4@5 ~@4 g4@5 ~@4 a4@5 ~@9", J: "f3@5 e3@4 e3@2 e3@2 ~ f3@4 e3@9 g#3@5", K: "a3@5 e4@2 e4@2 f4@5 e4@9 b4@4 c5@5",
})).s("gm_alto_sax").gain(0.25)

// chords · electric guitar muted · "Chitarra"
const electric_guitar_muted = note("<~@6 A@2 B A C A@3 B A C A@3 B A C A@3 B A C A@3 B A ~ D>".pickRestart({
  A: "~@5 [a2,e3,a3]@2 ~@7 [a2,e3,a3]@2 ~@7 [a2,e3,a3]@2 ~@2 [a2,e3,a3]@2 ~@3", // A5
  B: "~@5 [d3,a3,d4]@2 ~@7 [d3,a3,d4]@2 ~@7 [d3,a3,d4]@2 ~@2 [d3,a3,d4]@2 ~@3", // D5
  C: "~@5 [e3,b3,e4]@2 ~@7 [e3,b3,e4]@2 ~@7 [e3,b3,e4]@2 ~@2 [e3,b3,e4]@2 ~@3", // E5
  D: "~@23 [e2,b2,e3,g#3,b3,e4]@2 ~@2 [e2,a2,e3,a3,c4,e4]@2 ~@3", // E Am
})).s("gm_electric_guitar_muted").gain(0.3)

// bass · acoustic bass · "Basso 1"
const bass = note("<A@2 B A C A@3 B A C A@3 B A C A D E F D G D@2 E F D G D@2 E F D H I>".pickRestart({
  A: "a2@5 ~@4 g2@5 ~@4 a2@5 ~@9", B: "d2@5 ~@4 c2@5 ~@4 d2@5 ~@9", C: "e2@5 ~@4 d2@5 ~@4 e2@5 ~@9",
  D: "a1@9 b1@9 c2@9 d2@5", E: "a2@9 g2@9 f2@9 e2@5", F: "d2@9 e2@9 f2@9 g2@5", G: "e1@9 f1@9 g1@9 a1@5",
  H: "f1@5 e1@5 ~@22", I: "a1@5 e2@2 e2@2 f2@5 e2@9 e2@4 a1@5",
})).s("gm_acoustic_bass").gain(0.24)

// bass · acoustic bass · "Basso 2"
const bass_2 = note("<A@2 B A C A@3 B A C A@3 B A C A D E F D G D@2 E F D G D@2 E F D ~ H>".pickRestart({
  A: "a2@5 ~@4 g2@5 ~@4 a2@5 ~@9", B: "d2@5 ~@4 c2@5 ~@4 d2@5 ~@9", C: "e2@5 ~@4 d2@5 ~@4 e2@5 ~@9",
  D: "~@5 c3@5 ~@4 d3@4 c2@2 ~ e3@4 b1@2 d3@5", E: "~@5 c3@5 ~@4 d3@4 c3@2 ~ e3@4 b2@2 e3@5",
  F: "~@5 f3@5 ~@4 g3@4 f2@2 ~ a3@4 e2@2 g3@5", G: "~@5 g2@5 ~@4 a2@4 g1@2 ~ b2@4 f1@2 a2@5", H: "~@23 e3@4 a3@5",
})).s("gm_acoustic_bass").gain(0.23)

// drums · kick
const kick = s("bd").struct("<[x ~@8 x ~@8 x ~@13]!34 [x ~@6 x ~@8] [x ~@8 x ~@13 x ~@3 x ~@4]>").gain(0.3)

// drums · snare
const snare = s("sd").struct("<[~@5 x ~@8 x ~@8 x ~@3 x ~@4]!34 [~@5 x ~@21 x ~@4] ~>").gain(0.3)

// drums · clap
const clap = s("cp").struct("~@5 x ~@8 x ~@8 x ~@3 x ~@4").gain(0.3)

// drums · low tom
const low_tom = s("lt").struct("<~@34 [~@9 x ~ x ~@6 x ~@13] [~@5 x ~ x ~@6 x ~@17]>").gain(0.3)

// drums · hihat
const hihat = s("hh").struct("<A@6 B A@5 B A@5 ~@12 A@4 C ~>".pickRestart({
  A: "x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4", B: "~@5 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4", C: "x ~@4 x ~@26",
})).gain(0.3)

// drums · crash
const crash = s("cr").struct("<~@6 x ~@5 x ~@22 [x ~@26 x ~@4]>").gain(0.3)

// drums · ride
const ride = s("rd").struct("<~@18 [x ~@4 x ~@3 x ~@4 x ~@3 x ~@4 x ~@3 x ~@4]!12 ~@6>").gain(0.3)

stack(alto_sax, electric_guitar_muted, bass, bass_2, kick, snare, clap, low_tom, hihat, crash, ride)

More by Dave Brubeck