Strudelify
Pennyroyal Tea cover art

In Utero

Pennyroyal Tea

Nirvana

KeyD minorTempo115 bpm
0:00/0:00
// Pennyroyal Tea — Nirvana
// 115 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 1 "Kurt Cobain-Guitar" named as a guitar, played on electric guitar clean (its harpsichord patch is not one)
// note: Full arrangement: all 91 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(115/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.

// chords · electric guitar clean · "Kurt Cobain-Guitar"
const electric_guitar_clean = note(`<
  A B@2 C D E@2 F G H I J K L@3 M N O P Q N O P Q R O S M N T U V W X Y Z AA AB AC M N O P Q AD O AE M N O P M N AF AG
  AH@2 AI AJ@6 AK@7 AL@8 AM@3 AN@4 AO@4
>`.pickRestart({
  A: "[a3,e4,a4,c5,e5]@2 e4 [a4,c5,e5]@2 [a4,c5,e5] [e4,a4] [a4,c5,e5]", // Am A5 Am
  B: "[[a3,e4,a4,c5]@2 e4 [a4,c5,e5]@2 [a4,c5,e5] [a3,e4,a4,c5,e5] ~ g3@2 d4 [b4,g5]@2 [b4,g5] d4 [b4,g5], ~@7 [d4,g4,b4]@3 ~@6]/2", // Am Em G
  C: "[g3,b3,d4] [b4,g5]@2 ~ g3 [f3,d4] g3 e3, ~@3 [d4,g4]@2 ~@3", D: "[a3,e4] e4@2 [a4,db5]@2 a3 [e4,a4] a3",
  E: "[a3@2 e4 [e4,a4]@2 [e4,a4]!2 ~ g3@2 g3 [g4,b4]@2 d4 g3 [d4,g4], ~@7 [d4,g4,b4]@3 ~@6]/2", // A5 G G5 G
  F: "g3 [d4,g4] g3 ~ g3 f3 g3 e3, ~@3 d4@2 ~@3", G: "[c4,e4]@2 e4 e4@2 a3 e4 a3", H: "e4@2 a4 [a3,e4]@2 a4 e4 g4",
  I: "g3@2 d4 [b4,g5]@3 [g4,b4] d4", J: "g3@2 [d4,g4] g3!2 f3 g3 e3", K: "[a3,e4]@2 e4 a4@2 a3 a4 [a3,e4]",
  L: "[[a3,e4]@2 e4 a4 a3 a4 [a3,e4] ~ [g3,b3,d4]@2 d4 [g4,b4,g5]@3 [g3,b3,d4] [g4,b4,g5]@2 [g3,b3,d4]!5 [g3,b3,d4,g4,b4] [g4,b4], ~@7 [g4,b4]@3 ~@14]/3", // A5 G
  M: "[c4,g4,c5,e5]@2 [c4,g4,c5,e5] [c4,g4,c5,e5]@2 [c4,g4,c5,e5]!2 [g4,b4]", // C G
  N: "[d4,a4,d5,gb5]@2 [d4,a4,d5,gb5] [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]!2 [g4,b4]", // D G
  O: "[bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5] [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]!3", // Bb
  P: "[bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5] [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]!2 [g4,b4]", // Bb G
  Q: "[c4,g4,c5,e5]@2 [c4,g4,c5,e5]!2 g3 [g4,c5,e5] [c4,g4,c5,e5] [d4,g4,b4]", // C G
  R: "[d4,a4,d5,gb5]!3 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]!2 [g4,b4]", // D G
  S: "[bb3,f4,bb4,d5] [bb3,f4,bb4] [bb3,f4,bb4,d5]!5 [g4,b4]", // Bb Bb5 Bb G
  T: "[bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]!2 bb3 [f4,bb4,d5] [bb3,f4,bb4,d5]!2", U: "[bb3,f4,bb4,d5]!7 e3",
  V: "a3@2 e4 a4@2 a3 [a4,c5] a3, ~@3 c5 ~@4", W: "a3@2 e4 ~ a3!2 [a4,c5] a3, ~@3 [a4,c5]@2 ~@3",
  X: "g3@2 g3 [b4,g5]@3 [g4,b4] b3", Y: "g3@2 g3 ~ g3 f3 g3 e3, ~@3 [d4,g4]@2 ~@3",
  Z: "[a3,e4]@2 e4 [a4,db5]@2 a3 e4 a4", AA: "[a3,e4]@2 [a3,e4] [a4,db5]@2 a3 [e4,a4] e3",
  AB: "[g3,d4,g4,b4]@3 [g4,b4,g5]@2 g3 [d4,g4] g3", AC: "[g3,b3,d4,g4]!2 [g3,b3,d4,g4,b4]!6",
  AD: "[d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]!2 a3 [a4,d5,gb5] [d4,a4,d5,gb5] [d4,g4,b4]", // D G
  AE: "[bb3,f4,bb4,d5]!3 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]!2 [d4,g4]", AF: "[bb3,f4,bb4]@2 bb3!2 [bb3,f4]!4",
  AG: "[bb3,f4,bb4]!8", AH: "[[a3,e4,a4,db5]@5 a4@3 db5@5 a3@2 a4@3 a3@2 [a3,e4]@5 ~ db5@2 e4@4]/2",
  AI: "~ a4@3 [a3,e4]@2 d4@3 g3@5 b3@2", // A5
  AJ: "[~ [g4,b4]@5 g3@2 g4@3 b3@2 [g3,b3]@5 d4@3 g4@5 g3@3 [b3,d4]@2 e3@3 [a3,e4]@5 e4@2 [a4,db5]@5 ~ [a3,e4]@2 a4@3 [a3,e4]@2 [a3,e4]@5 [a3,e4]@3 [a4,db5]@8 [a4,db5]@2 e3@3 [g3,d4,g4,b4]@7 [g4,b4,g5]@5 [g4,b4,g5]@3 [g3,d4,g4,b4,g5]@3 [g4,b4,g5]@2 g3]/6", // G Bm A5 A A5 A G
  AK: "[~@2 [g3,b3,d4,g4,b4]@2 [g3,b3,d4,g4,b4]@2 [g3,b3,d4,g4,b4]@2 ~ [g3,b3,d4,g4,b4]@2 [g3,b3,d4,g4,b4]@2 [g3,b3,d4,g4,b4]@2 [g3,b3,d4,g4,b4]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@2 [g4,b4]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [g4,b4]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [g4,b4]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@2 g3@2 [g4,c5,e5]@2 [c4,g4,c5,e5]@2 [d4,g4,b4]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [g4,b4]]/7", // G C G D G Bb G C …
  AL: "[~ [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [g4,b4]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@2 g3@2 [g4,c5,e5]@2 [c4,g4,c5,e5]@2 [d4,g4,b4]@2 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [g4,b4]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@4 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [bb3,f4,bb4,d5]@2 [g4,b4]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@4 [c4,g4,c5,e5]@2 [c4,g4,c5,e5]@2 [g4,b4]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@4 [d4,a4,d5,gb5]@2 [d4,a4,d5,gb5]@2 [g4,b4]]/8", // Bb G C G D G Bb Bb5 …
  AM: "[~ [bb3,f4,bb4]@4 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4]@2 [bb3,f4,bb4,e5]@2 [bb3,f4,bb4,e5]@2 [bb3,f4,bb4,e5]@2 [bb3,f4,bb4,e5]@2 [g4,b4]@2 a3@5 e4@2 [a4,b4]@5 ~ e4@2]/3", // Bb5 Bb G Asus2
  AN: "[[a4,b4]@3 e4@2 [a4,c5,e5]@3 [c5,e5]@5 [a4,c5]@5 a3@3 [a4,c5]@2 a3@3 [a3,e4,a4,c5]@5 e4@2 [a4,c5,e5]@5 e4@3 [a4,c5]@3 a3@2 [a3,e4]@5 [e4,a4]@3 [a4,c5]@5 ~ e4@2 [a4,c5]@2]/4", // Asus2 Am C Am A5 Am
  AO: "[~ e4@3 a3@5 e4@3 c5@6 e4@3 a4@3 e4@3 a3@23 ~@14]/4",
})).s("gm_electric_guitar_clean").gain(0.3)

stack(electric_guitar_clean)

More by Nirvana