Strudelify

Shallow

Lady Gaga

KeyG majorTempo120 bpm
0:00/0:00
// Shallow — Lady Gaga
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5552949; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 78 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/4)

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

// other · violin
const violin = note(`<
  ~ A B C D E B C D E F G H I F G H I J K C L M N O L M N O P Q R S P Q R S T U@2 V W X Y V W X Y Z AA AB AC Z AA AD@2
  AE AF AG AH AE AI V W X Y V W X Y ~@8
>`.pickRestart({
  A: "~@2 d5!2 f#5 d5@3", B: "~@2 e5!3 d5@3", C: "b4", D: "~@2 c5!2 c5@2 c5!2", E: "b4 a4@3 a4@4", F: "g4 a4",
  G: "b4@3 ~", H: "~@2 d5!2 d5@2 c5 b4", I: "a4 b4@3 a4@4", J: "~@2 c5!2 b4 a4@3", K: "b4 c5", L: "~@2 b4!3 g4@2 b4",
  M: "g4@2 g4!3 e4@2 g4", N: "g4@2 g4!2 g4@2 g4!2", O: "f#4 d4 c4 b3 a3@2 f#4@2", P: "~@2 d4!3 c4@3",
  Q: "b3 d4 g4!2 g4@2 e4@2", R: "f#4@2 c5!2 b4 a4@2 g4", S: "f#4 e4 d4 c#4 d4@2 f#4@2", T: "e4 f#4", U: "g4/2",
  V: "[e5,c6]!3 e5!2 b5@3, ~@3 c6@2 ~@3", W: "[c5,a5]!2 [c5,b5] c5!2 g5@2 ~, ~@3 a5@2 ~@3",
  X: "[d5,b5]!3 d5!2 g5@2 g5, ~@3 d6@2 ~@3", Y: "~ a5 b5@6 ~@8", Z: "~@2 d4!3 d4@3", AA: "d4!4 e4@2 ~@2",
  AB: "~@2 d4!2 b3@2 a3!2", AC: "a3 g3@2 g3@3 e4@2", AD: "[g5!3 g5@2 d5@2 b4@5 ~@4]/2", AE: "[f#4,d5]!8",
  AF: "[g4,b4]!4 [f#4,a4]!4", AG: "[e4,c#5]!8", AH: "[e4,b4]!8", AI: "[g#4,e5]!8",
})).s("gm_violin").gain(0.3)

// other · violin · soft notes
const violin_soft = note("<~@70 A B C D A B E@2>".pickRestart({
  A: "~@2 d4!3 d4@3", B: "d4!4 e4@2 ~@2", C: "~@2 d4!2 b3@2 a3!2", D: "a3 g3@2 g3@3 e4@2",
  E: "[g5!3 g5@2 d5@2 ~ d4@8, ~@7 b4@9]/2",
})).s("gm_violin").gain(0.2)

// other · cello · "Violoncello"
const cello = note(`<
  A@4 B C A@2 B C D E F G D E F G H I J A@2 B C A@2 B C D E F G D E F G H I J K L M N K L M N O P Q R O P S T U V W X Y
  Z K L M N K L M N ~@8
>`.pickRestart({
  A: "g2 b2 d3 b2", B: "g2 c3 e3 c3", C: "d3 f#3 a3 d3", D: "g2 d3 a2 d3", E: "g2 g3!3", F: "d3@2 d3@2 d3@2 d3 c3",
  G: "d3 a2!2 f#3", H: "g3 c3 d3!2", I: "g2@2 g2!2 c3 c3@3", J: "g2", K: "a2!3 g2", L: "f#2!3 e2", M: "d2 g2 b2 d3",
  N: "g2 b2 a2!2", O: "~@2 g3!3 g3@3", P: "f#3!2 g3 f#3@3 ~@2", Q: "~@2 g3!2 g3@2 f#3!2", R: "f#3 e3@2 e3@5",
  S: "g3 d3", T: "g2 ~", U: "b2!6 f#2!2", V: "e2!4 d2!3 g2", W: "a2!8", X: "b2!2 e3!2 d3!2 c3!2", Y: "b2!6 c#3 d3",
  Z: "e3!8",
})).s("gm_cello").gain(0.3)

// other · cello · "Violoncello" · soft notes
const cello_soft = note("<~@70 A B C D A B E F>".pickRestart({
  A: "~@2 g3!3 g3@3", B: "f#3!2 g3 f#3@3 ~@2", C: "~@2 g3!2 g3@2 f#3!2", D: "f#3 e3@2 e3@5", E: "g3 d3", F: "g2",
})).s("gm_cello").gain(0.2)

stack(violin, violin_soft, cello, cello_soft)

More by Lady Gaga