Strudelify

Jsu Rub You The Right Way MUSIC SHEET

James Brown

KeyF majorTempo120 bpm
0:00/0:00
// Jsu Rub You The Right Way MUSIC SHEET — James Brown
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 "B♭ Trumpet 1" trumpet (copy of ch 1 "Flute" flute); ch 3 "Alto Saxophone" alto sax (copy of ch 9 "Mellophone" french horn); ch 11 "Trombone" trombone (copy of ch 4 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5904488; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 49 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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.

// other · clarinet · "B♭ Clarinet 1"
const clarinet = note(`<
  A B C D A B C D E F E G E F E H I J K L I J K M N O N O N O N P Q ~@6 R I J S T I J S U V
>`.pickRestart({
  A: "[a4,d5] ~ [a4,d5]@2", B: "[a4,d5] ~ a4 db5", C: "d5 ~ [bb4,d5]@2", D: "~ e5 db5 a4", E: "~ a4!3 g4 f4 ~@2",
  F: "~ f4!2 g4!2 ~@3", G: "a4@2 bb4 a4@3 f4@2 g4@2 ~@6", H: "a4@2 c5 a4 c5@2 d5@2", I: "[f4,f5]", J: "[g4,g5]",
  K: "[a4,a5] ~ [a4,a5] ~", L: "[a4,a5]@3 [g4,g5]", M: "a4@2 ~@2 a4@2 a4 d5", N: "f5@3 f5@3 d5 a4",
  O: "c5!3 d5 d5@2 a4 d5", P: "c5!3 d5 d5@2 d5@2", Q: "d5 ~@3", R: "c5 e5", S: "[f4,f5] ~ [f4,f5] ~",
  T: "[f4,f5]@3 [e4,e5]", U: "[f4,f5] ~ [e4,e5]!2", V: "[f4,f5] ~@3",
})).s("gm_clarinet").gain(0.3)

// chords · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A B A B A B A B C D C E C D C F G H A I G H A J K L K M K L K M K ~@6 N G H A I G H A O K
>`.pickRestart({
  A: "[f3,d4,f4] ~ [f3,d4,f4] ~", B: "[e3,c4,e4]@3 [e3,c4,e4]@2 [e3,c4,e4] [e3,c4,e4]@2", C: "~ a3!3 g3 f3 ~@2",
  D: "~ f3!2 g3!2 ~@3", E: "a3@2 bb3 a3@3 f3@2 g3@2 ~@6", F: "a3@2 c4 a3 c4@2 ~@2", G: "[f3,d4,f4]", H: "[g3,e4,g4]",
  I: "[f3,d4,f4]@3 [e3,c4,e4]", J: "[f3,d4,f4] ~ [f3,d4,f4]!2", K: "[f3,d4,f4] ~@3",
  L: "[e3,c4,e4]@3 [e3,c4,e4]@3 [e3,c4,e4]@2", M: "[e3,c4,e4]@3 [f3,d4,f4]@3 [e3,c4,e4]@2", N: "c4 e4",
  O: "[f3,d4,f4] ~ [e3,c4,e4]!2", // Dm C
})).s("gm_tenor_sax").gain(0.3)

// other · trumpet · "B♭ Trumpet 2"
const trumpet = note(`<
  A B A C A B A C D E F G D E F H I J K L I M K N O P Q R Q R S R T ~@7 I J K L I M K N T
>`.pickRestart({
  A: "d4@3 f4@3 d4@2", B: "c4@3 e4@2 d4 c4 d4", C: "e4@3 db4@3 db4@2", D: "d4 ~@2 d4", E: "~ e4", F: "f4@2 ~ f4",
  G: "~@2 a4 c5", H: "a3@2 c4 a3 c4@2 d4 f4", I: "~@8 a4 bb4 c5 d5 c5@4", J: "~@2 e4 c4", K: "~@8 a4@3 g4@3 f4@2",
  L: "e4@3 d4@3 c4@2 d4@8", M: "~@2 e5 c5", N: "a4@3 g4@3 f4@2 a4@4 a4@4", O: "~@7 a4",
  P: "c5@2 c5@2 c5@2 d5@2 d5@2 ~@2 a4 d5@3", Q: "f5 ~@6 a4", R: "c5@2 c5 d5!2 ~ d5@2", S: "d5@2 ~@5 a4", T: "d5 ~@3",
})).s("gm_trumpet").gain(0.3)

// other · french horn · "Mellophone"
const french_horn = note("<A B A B A B A B C D C E C D C F G H I J G H K L M N O ~@13 G H I J G H I J P>".pickRestart({
  A: "[a3,a4] ~ [a3,a4]@2", B: "[g3,g4]@2 [g3,g4]!2", C: "~ a4!3 g4 f4 ~@2", D: "~ f4!2 g4!2 ~@3",
  E: "a4@2 bb4 a4@3 f4@2 g4@2 ~@6", F: "f4 ~ a4 f4", G: "~ g4 a4 bb4", H: "~ bb4 a4 g4", I: "a4 ~ a4 ~", J: "a4@3 f4",
  K: "g4 ~ g4 ~", L: "g4 ~@3", M: "a4 c5 bb4 a4", N: "g4@3 f4@3 e4@2", O: "f4 ~@3", P: "a4 ~@3",
})).s("gm_french_horn").gain(0.48)

// other · french horn · "Baritone"
const french_horn_2 = note(`<
  A B C D A B C D E F E G E F E H I J K L I J K M N O N O N O N P Q ~@6 R I J S T I J S U V
>`.pickRestart({
  A: "[a3,d4] ~ [a3,d4]@2", B: "[a3,d4] ~ a3 db4", C: "d4 ~ [bb3,d4]@2", D: "~ e4 db4 a3", E: "~ a3!3 g3 f3 ~@2",
  F: "~ f3!2 g3!2 ~@3", G: "a3@2 bb3 a3@3 f3@2 g3@2 ~@6", H: "a3@2 c4 a3 c4@2 d4@2", I: "[f3,f4]", J: "[g3,g4]",
  K: "[a3,a4] ~ [a3,a4] ~", L: "[a3,a4]@3 [g3,g4]", M: "a3@2 ~@2 a3@2 a3 d4", N: "f4@3 f4@3 d4 a3",
  O: "c4!3 d4 d4@2 a3 d4", P: "c4!3 d4 d4@2 d4@2", Q: "d4 ~@3", R: "c4 e4", S: "[f3,f4] ~ [f3,f4] ~",
  T: "[f3,f4]@3 [e3,e4]", U: "[f3,f4] ~ [e3,e4]!2", V: "[f3,f4] ~@3",
})).s("gm_french_horn").gain(0.48)

// other · electric guitar muted · "Sousaphone"
const electric_guitar_muted = note(`<
  A B A B A B A B A B A B A B A C D E F G D E H I A B A B A B A J K ~ L ~ K ~ L M D E F G D E H I K
>`.pickRestart({
  A: "d3!3 a2 bb2 ~@3", B: "a2!3 bb2!2 ~@3", C: "a2 ~ bb2 ~ c3 ~ d3 ~", D: "g2@3 a2@3 bb2@2 ~@8",
  E: "a2@3 bb2@3 c3@2 ~@8", F: "bb2 a2 g2 ~", G: "f3 d3 c3 d3 f3 d3 c3 d3", H: "bb2 ~ d3 ~", I: "e3 ~ a2!2",
  J: "a2!3 bb2!2 ~ d3@2", K: "d3 ~@3", L: "d3!4 ~@4", M: "g2 ~ a2 ~ bb2 ~ c3 ~",
})).s("gm_electric_guitar_muted").gain(0.72)

// drums · high tom
const high_tom = s("ht").struct("<[x!16]!48 x>").gain(0.4)

// drums · whistle
const whistle = s("ballwhistle:0").struct("<[~@6 x!2 ~@6 x!2]!48 ~>").gain(0.58)

// drums · guiro
const guiro = s("guiro:4").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
>`.pickRestart({
  A: "~@9 x ~@2 x ~@3",
})).gain(6.29)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct("<[~ x ~ x]!48 x>").gain(0.43)

stack(
  clarinet, tenor_sax, trumpet, french_horn, french_horn_2, electric_guitar_muted, high_tom, whistle, guiro, woodblocks
)

More by James Brown