Strudelify

Funk V2 (Or maybe it's not funk- you decide)

me

KeyA majorTempo120 bpm
0:00/0:00
// Funk V2 (Or maybe it's not funk- you decide) — me
// 120 bpm, 2/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/1087091; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 85 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/2)

// 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 · brass section · "Horn"
const brass_section = note("<~@24 A B@2 C D E F G@4 H@2 B@2 C D E F I@2 ~@31 J B@2 C D E F K@2>".pickRestart({
  A: "f#4@2 ~@2 f#4 ~ a4@2", B: "b4@2 ~@2 b4 a4@3", C: "b4 [f#4,a4,b4] [d4,g4,b4] [b3,f#4,b4]",
  D: "[b3,f#4,b4]@2 ~@2 [b3,f#4,b4] [a3,e4,c#5]@3", E: "[b3,f#4,d5]@2 ~@2 [b3,f#4,d5] [a3,e4,c#5]@3",
  F: "[b3,f#4,d5]@2 ~@2 [b3,f#4,b4] [a3,e4,c#5]@3", G: "d5 f#5 b4 c#5",
  H: "[d5@4 f#5@3 [e4,a4]@7 b4@6 ~@4 f#4@2 ~@2 a4@4, b4@7 ~@25]/2", // A5
  I: "[[b3,f#4,b4]@7 [a3,e4,c#5]@7 [b3,f#4,b4]@10 ~@8]/2", J: "b4@2 ~@2 f#4 ~ a4@2",
  K: "[[b3,f#4,b4]@7 [a3,e4,c#5]@7 [b3,f#4,b4]@6 ~@12]/2", // B5 A B5
})).s("gm_brass_section").gain(0.64)

// chords · piano
const piano = note(`<
  A B C D@2 B C D@2 B C D@2 B C E@2 F G H@2 F G H@2 F G H@2 F G H@2 F G H@2 F G H@2 F G H@2 F G H@2 F G I ~@8 A ~@3 A
  ~@3 A ~@3 A ~@2 J K F G H@2 F G L@2
>`.pickRestart({
  A: "f#1@2 ~@2 f#1 ~ a1@2", B: "b1@2 ~@2 b1 a1@3", C: "b1@2 ~@2 b1 ~ a1@2",
  D: "[b1@7 e1@7 f#1@6 ~@4 f#1@2 ~@2 a1@4]/2", E: "[b1@7 e1@7 ~@2 b2@4 ~@4 [f#1,b2]@2 ~@2 [a1,c#3]@4, ~@7 f#1@3 ~@6]/2",
  F: "[b1,d3]@2 ~@2 [b1,d3] [a1,c#3]@3", G: "[b1,d3]@2 d3 ~ [b1,d3] ~ [a1,c#3]@2",
  H: "[[b1,d3]@7 [e1,a2]@7 [f#1,b2]@6 ~@4 [f#1,b2]@2 ~@2 [a1,c#3]@4]/2", I: "[b1,d3]@7 [e1,a2]@7 [f#1,b2]@2", J: "f#1",
  K: "[f#1,b2]@2 ~@2 [f#1,b2] ~ [a1,c#3]@2", L: "[[b1,d3]@7 [e1,a2]@7 [f#1,b2]@6 ~@12]/2",
})).s("gm_piano").gain(0.5)

// bass · fretless bass · "Fretless Electric Bass"
const bass = note(`<
  A B C D@2 B C D@2 B C D@2 B C D@2 B C D@2 B C D@2 B C D@2 B C E A B C E A B C E A B C E A B C D@2 B C E ~@8 A ~@3 A
  ~@3 A ~@3 A ~@2 F A B C E A B C E G
>`.pickRestart({
  A: "f#1@2 ~@2 f#1 ~ a1@2", B: "b1@2 ~@2 b1 a1@3", C: "b1@2 ~@2 b1 ~ a1@2",
  D: "[b1@7 e1@7 f#1@6 ~@4 f#1@2 ~@2 a1@4]/2", E: "b1@7 e1@7 f#1@2", F: "f#1", G: "f#1 ~@3",
})).s("gm_fretless_bass").gain(0.5)

// drums · kick
const kick = s("bd").struct("<x!84 ~>").gain(0.3)

// drums · clap
const clap = s("cp").struct(`<
  ~@7 A B@7 A B@7 A B@7 A B@3 A B@3 A B@3 A B@7 A B@3 A B@3 A B@3 A B@3 A B@3 A B@3 A B@3 A B@3 A ~
>`.pickRestart({
  A: "~@2 x ~ x!2 ~@2", B: "~ x",
})).gain(0.3)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[~ x]!84 ~>").gain(0.3)

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

// drums · congas
const congas = s("conga:13").struct(`<
  ~@44 A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C A@2 B C ~
>`.pickRestart({
  A: "~@2 x ~ x!2 ~@2", B: "~@2 x ~ x!2 ~ x", C: "x ~ x!2 ~@2 x ~",
})).gain(1.43)

// drums · congas
const congas_2 = s("conga:18").struct(`<
  ~@44 A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B ~
>`.pickRestart({
  A: "~@2 x ~ x!2 ~@2", B: "x ~ x!2 ~@2 x ~",
})).gain(1.43)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct(`<
  ~@52 A B A C A B A C A B A C A B A C A B A C A B A C A B A C A B A C ~
>`.pickRestart({
  A: "x!2", B: "x!2 ~@2", C: "x!2 ~ x ~ x!3",
})).gain(0.65)

// drums · woodblocks
const woodblocks_2 = s("woodblock:4").struct(`<
  ~@52 A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A ~ A B A ~@2
>`.pickRestart({
  A: "~@5 x ~ x", B: "~@3 x ~ x!3",
})).gain(0.65)

stack(brass_section, piano, bass, kick, clap, pedal_hat, cowbell, congas, congas_2, woodblocks, woodblocks_2)

More by me