Strudelify

Ariane Grande God Is A Woman

Rickey C Battle jr

KeyG♭ majorTempo70 bpm
0:00/0:00
// Ariane Grande God Is A Woman — Rickey C Battle jr
// 70 bpm, 4/4, key Gb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 "B♭ Trumpet" trumpet (copy of ch 2 "B♭ Clarinet" clarinet); ch 7 "Horn in F" french horn (copy of ch 3 "Alto Saxophone" alto sax); ch 8 "Mellophone" french horn (copy of ch 3 "Alto Saxophone" alto sax); ch 11 "Baritone Horn" french horn (copy of ch 4 "Tenor Saxophone" tenor sax)
// note: Transcription provider: pdmx. https://musescore.com/score/5607122; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 41 bars on a 32-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(70/4)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.

// other · clarinet · "B♭ Clarinet"
const clarinet = note("<~@4 A B C D E ~ F G H ~@3 I@4 E ~@7 J K L M A B C D A B C D N>".pickRestart({
  A: "~@14 eb5@2 bb5@2 bb5@2 ab5@2 gb5@2 ab5@6 gb5 f5",
  B: "eb5@4 ~@4 bb5@2 bb5@2 ab5@2 gb5@2 ab5@6 gb5 f5 [eb5,eb6]@4 [db5,db6]@4", // Eb Db
  C: "[f5,f6]@2 ~@5 [db5,db6]!2 [eb5,eb6] [f5,f6] [eb5,eb6] [f5,f6]@2 ~@2", // F Db Eb F Eb F
  D: "ab5@6 gb5 f5 gb5@6 [f5,f6] [eb5,eb6] [f5,f6]@8 [eb5,eb6]@8", E: "[eb5,eb6] ~@3", F: "~@4 gb5!4 db6@2 ~@4 b5 bb5",
  G: "ab5@2 ~@2 ab5 bb5!2 ab5 ~@4 ab5!4", H: "[eb5,bb5,eb6] ~@3",
  I: "[~@20 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,bb5]@5 ~@16 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,bb5]@5 ~@16 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,gb5,bb5]@5 ~@12 f5@6 f5@2 ~@2 f5@2 eb5@4]/4", // Ab5 Ab Bb Ab5 Ab Bb Ab5 Ab …
  J: "~ eb5", K: "~@12 eb5!3 db5", L: "eb5 db5 b4@2 b4@2 ~@2 gb5@4 ~@2 eb5!2", M: "eb5 bb4 gb5 ab5@4 ~",
  N: "[eb5,gb5,eb6,gb6] ~@3", // Ebm
})).s("gm_clarinet").gain(0.5)

// other · clarinet · "B♭ Clarinet" · soft notes · Eb F Gb Ab Bb Ab Gb F
const clarinet_soft = note(`<
  [~@28 [eb4,eb5] [f4,f5] [gb4,gb5] [ab4,ab5]]
  [[bb4,bb5]@2 [bb4,bb5] [ab4,ab5]]
  [[gb4,gb5]@3 [f4,f5]@5]
  ~@38
>`).s("gm_clarinet").gain(0.2)

// other · alto sax · "Alto Saxophone"
const alto_sax = note("<A B C ~ D E F G H ~ I J H ~@3 K@3 L M ~@7 N O P Q D E R G D E R G H>".pickRestart({
  A: "eb5 bb4!2 bb4@4 ~", B: "~@2 bb4 ab4", C: "gb4@3 f4@5", D: "eb5 bb4 gb5 f5@4 ~", E: "eb5 bb4 gb5 f5@3 eb5 db5",
  F: "f5 ~ gb5 f5@4 ~", G: "ab5@6 gb5 f5 gb5@6 f5 eb5 f5@8 eb5@8", H: "[eb5,gb5] ~@3", I: "~@4 gb5!4 db5@2 ~@4 b4 bb4",
  J: "ab4@2 ~@2 f5 gb5!2 f5 ~@4 f5!4",
  K: "[~@20 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,bb5]@5 ~@16 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,bb5]@5 ~@16 [eb5,ab5]!2 ~ [eb5,ab5] ~@4 [ab4,ab5] f5 ~ [bb4,gb5,bb5]]/3", // Ab5 Ab Bb Ab5 Ab Bb Ab5 Ab …
  L: "[bb4,bb5]@2 ~@6 f5@3 f5 ~ f5 eb5@2", M: "[eb5,gb5,bb5] ~@3", N: "eb5 ~ [eb5,ab5]@2", O: "~@12 eb5!3 db5",
  P: "eb5 db5 b4@2 b4@2 ~@2 gb5@4 ~@2 eb5!2", Q: "eb5 bb4 gb5 ab5@4 ~", R: "f5@2 ~@2 gb5@2 ~ db5!2 eb5 f5 eb5 f5@2 ~@2",
})).s("gm_alto_sax").gain(0.5)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note("<~@4 A B C D E ~ F G H ~@3 I@4 J ~@7 K L M N A O C D P O C D E>".pickRestart({
  A: "eb4@4 bb3@4 gb4@4 ~@2 eb4@2 bb4@2 bb4@2 ab4@2 gb4@2 ab4@6 gb4 f4", B: "~@2 eb4 ~ ab4@3 ~",
  C: "f4@2 gb4@2 ~@2 bb3 gb4 [db4,f4,ab4]@6 ~@2", D: "ab3@8 ab4@6 g4 gb4 f4@8 ab4@4 ~@4", E: "bb4 ~@3",
  F: "~@4 gb4!4 ~@2 ab4@2 ab4@2 b4 bb4", G: "ab4@2 ~@2 [f4,ab4] [gb4,bb4]!2 [f4,ab4] ~@4 [f4,ab4]!4",
  H: "[eb4,gb4,bb4] ~@3", // Ebm
  I: "[~@16 ab4!2 ~ ab4!3 ~ ab4!3 ~ ab4 ~@3 bb4@5 ~@12 ab4!2 ~ ab4 ~@4 ab4!2 ~ ab4 ~@3 bb4@5 ~@12 ab4!2 ~ ab4 ~@4 ab4!2 ~ ab4 ~@3 bb4@5 ~@12 f4@6 f4@2 ~@4 eb4@4]/4",
  J: "[gb4,bb4] ~@3", K: "bb4 ~ ab4@2", L: "~@12 gb4!3 f4", M: "gb4 f4 eb4@2 db4@2 ~@2 gb4@4 ~@2 eb4!2",
  N: "eb4 bb3 gb4 ab4@4 ~", O: "eb4@4 ~@4 eb4@4 ~@4 ab4@6 gb4 f4 eb4@4 ~@4",
  P: "bb4@8 ~@6 eb4@2 bb4@2 bb4@2 ab4@2 gb4@2 ab4@6 gb4 f4",
})).s("gm_tenor_sax").gain(0.5)

// other · tenor sax · "Tenor Saxophone" · soft notes
const tenor_sax_soft = note("<[eb4 bb3 gb4 f4@4 ~]!2 [eb4 b3 gb4 f4@4 ~] ~@38>").s("gm_tenor_sax").gain(0.2)

// chords · trombone
const trombone = note("<~@4 A B C D E ~ F G H ~@3 I@2 J@2 H ~@7 A@2 K D A@2 L D A@2 L D E>".pickRestart({
  A: "[gb3,bb3,eb4]@2 [gb3,bb3,eb4] [f3,ab3,db4]@4 ~", B: "~@2 [gb3,bb3,eb4] [f3,ab3,db4]@4 ~",
  C: "~@2 [ab3,b3,eb4] [ab3,b3,eb4]@4 ~", D: "[gb3,b3,eb4] [f3,bb3,db4]", E: "[gb3,bb3,eb4] ~@3",
  F: "[gb3,bb3,eb4]@3 [gb3,bb3,eb4]@3 ~@2", G: "[ab3,b3,f4]@4 [bb3,db4,f4]@2 [bb3,db4,f4] ~", H: "[bb3,eb4,gb4] ~@3",
  I: "[gb3,bb3,eb4]@8 ~@4 [gb3,bb3,eb4]@8 [gb3,bb3,eb4]!2 ~ [gb3,bb3,eb4] ~@4 [gb3,bb3,eb4]!2 ~ [gb3,bb3,eb4]", // Ebm
  J: "[[gb3,b3,eb4]@8 ~@4 [gb3,b3,eb4]@8 ~@4 [gb3,b3,eb4]!2 ~ [gb3,b3,eb4] ~@3 [ab3,db4,f4]@5 ~@4 [gb3,b3,eb4,ab4]@2 ~@6 [bb3,db4,f4]@6 [bb3,db4,f4]@2 ~@2 [bb3,db4,f4]@2 [gb3,bb3,eb4]@4]/2", // B Db Abm7 Bbm Ebm
  K: "[ab3,b3,eb4]@2 [ab3,b3,eb4] [ab3,b3,eb4]@4 ~", L: "[gb3,b3,eb4]@2 [ab3,b3,eb4] [ab3,b3,eb4]@4 ~",
})).s("gm_trombone").gain(0.5)

// chords · trombone · soft notes · Ebm Db Ebm Db B Ebm Db
const trombone_soft = note(`<
  [~@2 [gb3,bb3,eb4] [f3,ab3,db4]@4 ~]
  [~@2 [gb3,bb3,eb4] [f3,ab3,db4]@3 ~@2]
  [[eb3,gb3,b3]@2 [gb3,bb3,eb4] [f3,ab3,db4]@5]
  ~@38
>`).s("gm_trombone").gain(0.2)

// other · tuba · "Euphonium"
const tuba = note("<~@4 A B C D E ~ F G H ~@15 I J K L A M C D N M C D E>".pickRestart({
  A: "eb4@4 bb3@4 gb4@4 ~@2 eb4@2 bb4@2 bb4@2 ab4@2 gb4@2 ab4@6 gb4 f4", B: "~@2 eb4 ~ ab4@3 ~",
  C: "f4@2 gb4@2 ~@2 bb3 gb4 [db4,f4,ab4]@6 ~@2", D: "ab3@8 ab4@6 g4 gb4 f4@8 ab4@4 ~@4", E: "bb4 ~@3",
  F: "~@4 gb4!4 ~@2 ab4@2 ab4@2 b4 bb4", G: "ab4@2 ~@2 [f4,ab4] [gb4,bb4]!2 [f4,ab4] ~@4 [f4,ab4]!4",
  H: "[eb4,gb4,bb4] ~@3", I: "bb4 ~ ab4@2", J: "~@12 gb4!3 f4", K: "gb4 f4 eb4@2 db4@2 ~@2 gb4@4 ~@2 eb4!2",
  L: "eb4 bb3 gb4 ab4@4 ~", M: "eb4@4 ~@4 eb4@4 ~@4 ab4@6 gb4 f4 eb4@4 ~@4",
  N: "bb4@8 ~@6 eb4@2 bb4@2 bb4@2 ab4@2 gb4@2 ab4@6 gb4 f4",
})).s("gm_tuba").gain(0.5)

// other · tuba · "Euphonium" · soft notes
const tuba_soft = note("<[eb4 bb3 gb4 f4@4 ~]!2 [eb4 b3 gb4 f4@5] ~@38>").s("gm_tuba").gain(0.2)

// bass · tuba
const bass = note("<A B C D E F G H E F G I E F G H E F G J E F G H E F G I K L M N E F O P E F O Q R>".pickRestart({
  A: "eb2", B: "eb2@2 eb2 db2", C: "b1", D: "ab2@2 ab2 ab2@2 ~@4 bb2 bb2@2 ~ bb2 ~ bb2",
  E: "eb3@2 ~ eb3@2 ~ eb3@2 ~ eb3 eb3@2 ~ bb2 ~ bb2", F: "eb3@2 ~ eb3@2 ~ eb3@2 ~ eb3 eb3@2 ~ db3 ~ bb2",
  G: "b2@2 ~ b2@2 ~ b2@2 ~ b2 b2@2 ~ db3 ~ bb2", H: "ab2@2 ~ ab3 ~ ab2@2 a2 bb2@2 ~@2 bb3 ab3 gb3 f3",
  I: "ab2@4 ~@2 ab3@2 ~@2 ab2@4 a2@2 bb2@4 ~@4 bb3!2 ~ bb3 ab3 gb3 ~ f3",
  J: "ab2@4 ~@4 ab3 f3 [db3,eb3] [bb2,b2] ab2 ~@3 bb2@4 ~@4 bb3!2 ~ bb3 ab3 gb3 ~ f3", // Dbsus2 Bmaj7
  K: "eb3@4 ~@6 bb2@2 bb2 ab2 gb2@2", L: "eb2@8 ~ eb2 gb2@2 gb2@2 ~ bb2", M: "b2@2 ~ gb2 b1@4", N: "b2!4 db3 ~ bb2 db3",
  O: "b2@2 ~ b2@2 ~ b2@2 ~ b2 b2@2 ~ db3 ~ gb3", P: "ab3@2 ~ ab3 ~ ab2@2 a2 bb2@2 ~@2 bb3 ab3 gb3 f3",
  Q: "ab3@2 ~ ab3 ~ ab3@2 a3 bb3@2 ~@2 bb3 ab3 gb3 f3", R: "eb3 ~@3",
})).s("gm_tuba").gain(0.5)

// drums · kick
const kick = s("bd").struct("<~@3 A B@3 C B@3 D B@3 C B@3 E B@3 C B@3 F ~@3 G B@3 C B@3 C E>".pickRestart({
  A: "~@9 x!2 ~@2 x ~ x", B: "x ~@2 x ~@2 x ~@2 x!2 ~@2 x ~ x", C: "x ~@2 x ~ x ~ x!2 ~@3 x!4",
  D: "x ~@5 x ~@3 x ~@3 x ~ x ~@7 x!2 ~ x!3 ~ x", E: "x", F: "x ~@2 x ~ x ~ x!2 ~@7", G: "x!5 ~ x!2",
})).gain(0.5)

// drums · crash
const crash = s("cr").struct("<~@8 A@4 B@4 ~@4 A@4 B C B C ~@3 D A@4 B@2 A@2 E>".pickRestart({
  A: "x!8", B: "x!4", C: "~ x ~ x", D: "x!4 ~@4", E: "x",
})).gain(0.3)

stack(
  clarinet, clarinet_soft, alto_sax, tenor_sax, tenor_sax_soft, trombone, trombone_soft, tuba, tuba_soft, bass, kick,
  crash
)

More by Rickey C Battle jr