Strudelify

Life Goes On (M*A*S*H mix)

LeAnn Rimes

KeyA majorTempo125 bpm
0:00/0:00
// Life Goes On (M*A*S*H mix) — LeAnn Rimes
// 125 bpm, 4/4, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 11 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(125/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 · electric guitar clean
const electric_guitar_clean = note("<A@5 B@6>".pickRestart({
  A: "[d4@36 a3@5 ~ e4@10 d4@10 c#4@10 ~ a3@10 d4@10 ~ f#4@10 b3@10 ~ d4@10 a3@10 e4@8 e4@2 ~ f#4@2 e4@2 ~ d4@5 d4@2 ~ c#4]/5",
  B: "[~ a3@5 ~ d4@36 a3@5 e4@10 ~ d4@10 c#4@10 ~ a3@10 d4@10 f#4@10 ~ b3@10 d4@10 ~ a3@10 e4@8 e4@2 f#4@2 ~ e4@2 ~ d4@5 d4@2 c#4@2 ~ a3@5 ~@19]/6",
})).s("gm_electric_guitar_clean").gain(0.33)

// other · rock organ
const rock_organ = note("<A@5 B@6>".pickRestart({
  A: "[f#5@42 e5@41 f#5@21 d5@21 e5@35]/5", B: "[~@7 f#5@41 e5@42 f#5@21 d5@21 e5@42 ~@18]/6",
})).s("gm_rock_organ").gain(0.28)

// bass · electric bass finger
const bass = note("<A@3 B@2 C D E@4>".pickRestart({
  A: "[d2@7 ~@11 a1@2 ~ d2@3 ~@2 e2@3 ~@2 f#2@4 ~ g2@3 ~@3 a1@13 ~@5 a1@2 a2@12 ~@4 a1@3 ~@2 b1@10 ~@3]/3",
  B: "[~@8 g2@6 ~@10 g2@4 ~ a1@10 ~@16 a1@4 ~ b1@4, ~@3 b1@2 ~@27]/2", C: "~ d2@4 ~@2 d2@7 ~@11 a1@2 d2@3 ~@2",
  D: "~ e2@3 ~@2 f#2@4 ~ g2@3 ~@2 a1@13 ~@3",
  E: "[~@3 a1@2 a2@12 ~@4 a1@3 ~@2 b1@10 ~@8 b1@3 g2@6 ~@9 g2@4 ~@2 a1@10 ~@16 a1@4 ~ b1@5 d2@4 ~@20]/4",
})).s("gm_electric_bass_finger").gain(0.5)

// other · acoustic guitar nylon
const acoustic_guitar_nylon = note("<A@5 B@6>".pickRestart({
  A: "[d3@42 ~@5 e4@34 ~@2 b3@22 ~@4 b3@16 ~@5 c#4@7 ~@23, ~@125 a3@31 ~@4]/5",
  B: "[~@7 d3@42 ~@5 e4@34 ~@2 b3@22 ~@4 b3@16 ~@5 c#4@7 ~@48, ~@132 a3@31 ~@29]/6",
})).s("gm_acoustic_guitar_nylon").gain(0.28)

// other · acoustic guitar nylon
const acoustic_guitar_nylon_2 = note("<A@4 B C@6>".pickRestart({
  A: "[~@5 a3@31 ~@6 a3@42 ~@5 d4@16 ~@10 d4@12 ~]/4", B: "~@7 e4@21 ~@4",
  C: "[~@12 a3@31 ~@5 a3@42 ~@5 d4@16 ~@10 d4@12 ~@9 e4@21 ~@29]/6",
})).s("gm_acoustic_guitar_nylon").gain(0.28)

// other · acoustic guitar nylon
const acoustic_guitar_nylon_3 = note("<A@4 ~ B@3 C@2 ~>".pickRestart({
  A: "[~@10 d4@27 ~@15 a4@28 ~@14 f#4@10 g3@22 ~@2]/4", B: "[~@17 d4@27 ~@15 a4@28 ~@9]/3",
  C: "[~@4 f#4@10 ~ g3@22 ~@27]/2",
})).s("gm_acoustic_guitar_nylon").gain(0.28)

// other · pad warm
const pad_warm = note("<A@5 B@6>".pickRestart({
  A: "[a3@83 b3@21 g3@21 a3@35]/5", B: "[~@7 a3@83 b3@21 g3@21 a3@42 ~@18]/6",
})).s("gm_pad_warm").gain(0.19)

// other · pad warm
const pad_warm_2 = note("<A@5 B@6>".pickRestart({
  A: "[d4@42 c#4@41 d4@21 b3@21 c#4@35]/5", B: "[~@7 d4@41 c#4@42 d4@21 b3@21 c#4@42 ~@18]/6",
})).s("gm_pad_warm").gain(0.19)

// other · pad warm
const pad_warm_3 = note("<A@5 B@6>".pickRestart({
  A: "[f#4@42 e4@41 f#4@21 d4@21 e4@35]/5", B: "[~@7 f#4@41 e4@42 f#4@21 d4@21 e4@42 ~@18]/6",
})).s("gm_pad_warm").gain(0.19)

// chords · piano
const piano = note("<~@2 A@2 ~@3 B@2 ~@2>".pickRestart({
  A: "[~@19 b2@10 ~ [d4,f#4]@4 ~@6 g2@10 ~ [b3,d4]@3 ~@10]/2", B: "[~@26 b2@10 [d4,f#4]@4 ~@7 g2@10 [b3,d4]@3 ~@4]/2",
})).s("gm_piano").gain(0.19)

// drums · kick
const kick = s("bd").struct("<A B C D E F G H I J K>".pickRestart({
  A: "x ~@20 x ~@4 x ~@5", B: "~@2 x ~@2 x ~@9 x", C: "~@4 x ~@9 x ~@4 x ~@12", D: "~@8 x ~@4 x ~@10 x ~@4 x ~@2",
  E: "~@18 x ~@4 x ~@8", F: "~ x ~@5 x ~@19 x ~@4", G: "~ x ~@9 x ~@4 x ~@15", H: "~@5 x ~@4 x ~@10 x ~@4 x ~@5",
  I: "~@15 x ~@4 x ~@9 x ~", J: "~@2 x ~@9 x ~@2 x", K: "~ x ~@2",
})).gain(0.5)

// drums · snare
const snare = s("sd").struct("<A B C D E F G H I J K>".pickRestart({
  A: "~@10 x ~@20 x", B: "~@5 x ~@2", C: "~@9 x ~@20 x ~", D: "~@19 x ~@12", E: "~@7 x ~@20 x ~@3",
  F: "~@4 x ~@12 x ~@14", G: "~@6 x ~@20 x ~@4", H: "~ x", I: "~@4 x ~@20 x ~@6", J: "~@7 x ~@8", K: "~@3 x ~@7 x ~@20",
})).gain(0.5)

stack(
  electric_guitar_clean, rock_organ, bass, acoustic_guitar_nylon, acoustic_guitar_nylon_2, acoustic_guitar_nylon_3,
  pad_warm, pad_warm_2, pad_warm_3, piano, kick, snare
)

More by LeAnn Rimes