Strudelify
Runaway (Tin Tin Out remix) cover art

1995 · Forgiven, Not Forgotten

Runaway (Tin Tin Out remix)

The Corrs

KeyF majorTempo80 bpm
0:00/0:00
// Runaway (Tin Tin Out remix) — The Corrs
// 80 bpm, 6/8, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 8 "guitar" named as a guitar, played on electric guitar clean (its harpsichord patch is not one)
// note: Full arrangement: all 112 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): guitar.
setcpm(80/3)

// 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, A@4 for four bars: edit a riff to change every repeat.

// bass · electric bass finger · "bass"
const bass = note(`<
  A B C A D E F G H I J E K L M N O P Q R S T U T U V W V X I Y Z Y AA Y E AB E O AC AD AE AF AG AH R AI AJ AK AL AK AL
  AM V AN AO AP AQ AN AR AS AT AU AC AV AW AU AG AX R AI AY AZ AJ AZ AL BA BB S BC AZ AJ S V W BD S V BE BF S V BG BH S
  V BE BI S V BE BH S V BE BI S V BE BJ BK@2
>`.pickRestart({
  A: "f1@5 ~ f1@5 ~ f1@11 ~", B: "f1@5 ~ f1@4 ~@2 f1@10 c2@2", C: "f2@6 f1@4 ~@2 f1@11 ~",
  D: "f1@5 ~ f1@2 ~@2 f1 ~ g1@11 ~", E: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@10 ~@2", F: "f1@5 ~ f1 ~@3 f1 ~ g1@9 ~ a1@2",
  G: "bb1@6 bb1 ~@3 bb1 ~ c2@9 ~@3", H: "f1@6 f1@4 f1 ~ g1@11 ~", I: "bb1@10 bb1 ~ c2@10 ~@2",
  J: "a1@5 ~ a1@2 ~@2 a1 ~ g1@11 ~", K: "d2@2 d2@3 ~ d2@3 ~ d2@4 ~@6 d2 ~@3", L: "bb1@5 ~ bb1@2 ~@2 bb1@5 ~@7 bb1 ~",
  M: "g1@4 ~@2 g1@3 ~ g1@5 ~@5 g1 ~@3", N: "c2@4 ~@2 c2@2 ~@2 c2@5 ~@9", O: "d2@5 ~ d2@3 ~ d2@5 ~@7 a1@2",
  P: "bb1@4 ~@2 bb1@3 ~ bb1@5 ~@5 d2@2 f2@2", Q: "g2@6 g1@4 g1@4 ~@8 g1 ~", R: "c2@5 ~ c2@2 ~@2 c2 ~ bb1@5 ~ bb1@3 ~@3",
  S: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1 ~", T: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ e2@2",
  U: "f2@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1@2", V: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ c2 ~",
  W: "a1@5 ~ a1@2 ~@2 a1 ~ g1@5 ~ g1@2 ~@2 a1 ~", X: "f1@12 g1@9 ~ a1@2", Y: "f1@5 ~ f1@3 ~ f1 ~ g1@10 a1 ~",
  Z: "bb1@5 ~ bb1@3 ~ bb1 ~ c2@9 ~@3", AA: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@8 f2@4", AB: "a1@6 a1 ~@3 a1 ~ g1@10 a1 ~",
  AC: "bb1@5 ~ bb1@3 ~ bb1@4 ~@10", AD: "g1@5 ~ g1@2 ~@2 g1@4 ~@8 g1 ~", AE: "c2@4 ~@2 c2@3 ~ c2@4 ~@6 c2@2 db2@2",
  AF: "d2@4 ~@2 d2@3 ~ d2@4 ~@4 a1@2 d2@2 a1@2", AG: "bb1@5 ~ bb1@3 ~ bb1@4 ~@6 d2@2 f2@2",
  AH: "g2@5 ~ g1@2 ~@2 g1@4 ~@8 g1 ~", AI: "f1@5 ~ f1@2 ~@2 f1 ~ g1@5 ~ g1@5 ~",
  AJ: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@4 ~@2 c2@3 ~ f2 ~", AK: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ g1 ~",
  AL: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@5 ~", AM: "a1@5 ~ a1@4 a1 ~ g1@5 ~ g1@3 ~ a1 ~", AN: "f1@23 ~",
  AO: "g1@22 a1 ~", AP: "bb1", AQ: "c2@7 ~ e2@3 c2", AR: "g1@11 a1", AS: "bb1@3 ~ bb1@20", AT: "c2@11 ~",
  AU: "d2@5 ~ d2@2 ~@2 d2@5 ~@5 d2 ~@3", AV: "g1@4 ~@2 g1@3 ~ g1@5 ~@9", AW: "c2@5 ~ c2@2 ~@2 c2@5 ~ e2@8",
  AX: "g2@3 g1 ~ g1@2 ~@3 g1 bb1", AY: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@4 ~@2",
  AZ: "f1@5 ~ f1@3 ~ f1 ~ g1@5 ~ g1@3 ~ a1@2", BA: "a1@5 ~ a1@3 ~ a1 ~ g1@5 ~ g1@2 ~@2 g1 ~",
  BB: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@4 f2@6 c2@2", BC: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@5 ~ c2@3 ~@3",
  BD: "bb1@5 ~ bb1@2 ~@2 bb1 ~ c2@3 ~ c2@3 ~ c2@3 ~", BE: "d2@4 ~@2 d2@3 ~ d2 ~ g1@5 ~ g1@3 ~ a1@2",
  BF: "bb1 ~ bb1 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@5 ~ c2@3 ~ c2 ~", BG: "d2@5 ~ d2@3 ~ d2 ~ g1@4 ~@2 g1@3 ~ a1 ~",
  BH: "bb1@3 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@3 ~ c2 ~ c2@3 ~ c2 ~", BI: "bb1@4 ~@2 bb1@3 ~ bb1 ~ c2@4 f2@6 c2 ~",
  BJ: "bb1@3 ~ bb1 ~ bb1@3 ~ bb1 ~ c2@3 ~ c2@2 c2 ~ c2@4", BK: "f1/2",
})).s("gm_electric_bass_finger").gain(0.29)

// chords · piano
const piano = note(`<
  A@4 B@8 C@8 D@8 E@2 B@8 C@8 D@8 F@2 G@2 F@2 H@2 C@8 D@16 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 I@2 J@2 K@2
>`.pickRestart({
  A: "[a3 bb3 a3 bb3 a3 bb3 a3 bb3, [f3,c4]]/4", // F5
  B: "[[f3,a3] g3 ~@2 a3 g3 ~@2 a3 g3 ~@2 a3 g3 f3@2, c4, ~ bb3@3 ~ bb3@3 ~ bb3@3 ~ bb3@3, ~@2 f3@3 ~ f3@3 ~ f3@3 ~@3]/8", // F
  C: "[[a3,c4]@2 ~@4 e4@2 a3@2 ~@4 e4 f4, [d4,f4]@3 c4@2 bb3@3, ~ bb3@3 [d4,f4]@3 c4, ~ g3 ~ g3]/8", // Am Dm
  D: "[[f3,a3,c4] g3 f3 g3 [f3,a3] [g3,d4] f3 g3 [f3,a3] g3 f3 g3 [f3,a3] g3 f3 [g3,c4], ~ bb3@3 ~ bb3@3 ~ bb3@3 ~ bb3@3, ~ d4@2 c4@2 ~ c4@3 d4@2 c4@2 d4@2 ~]/8", // F G5 F C5
  E: "[[f3,a3] g3 f3@2, c4, ~ bb3@3]/2", F: "[[f2,f3,a3] [g2,g3,bb3], c4]/2",
  G: "[[bb2,a3,d4]@2 ~ e3, f3@3 ~, ~ [c3,bb3,c4]]/2", H: "[[bb2,a3,d4]@6 ~@5 e3, f3@11 ~, ~ [c3,bb3,c4]]/2",
  I: "[[f3,a3,c4] [g3,b3] f3 [g3,c4], ~ d4@2 ~, ~ bb3]/2", J: "[[f3,a3] [g3,b3] [f3,bb3] [g3,bb3,c4], d4@3 ~]/2",
  K: "[f3,a3,c4]/2", // F
})).s("gm_piano").gain(0.29)

// other · string ensemble 2 · "sting haunting melow sustain"
const string_ensemble_2 = note(`<
  ~@28 A@2 ~@12 B C D@2 E@4 F G@3 H@2 I J@5 ~@4 K@2 ~@10 L@2 M@2 N@4 O@2 P@2 O@2 P@2 Q R Q R Q R Q S Q R Q T Q U P@2 V@2
>`.pickRestart({
  A: "c4/2", B: "a3", C: "bb3", D: "[d4@23 e4@13 f4@12]/2", E: "[c5@39 f5@5 e5@4]/2", F: "f5 g5",
  G: "[f5@11 c6@36 f5@12 ~ [e5,g5]@12]/3", H: "[f5@3 g5]/2", I: "[f5,a5]",
  J: "[f5@11 e5@12 ~@37 g5@12 [f5,a5]@24 f5@12 e5@12, ~@23 f5@36 ~@61, ~ c6@4]/5", K: "[[f4,a4]@47 ~]/2",
  L: "[c6@10 f6 e6]/2", M: "[c6@3 bb5]/2", N: "[c6@36 f6@7 e6@4 f6@13 g6@11 f6@12 ~ e6@12]/4", O: "[f6@3 g6]/2",
  P: "[f6@3 e6]/2", Q: "f6", R: "~@4 f6@2 e6@2 f6@3 ~ f6@2 e6@2 f6@2 e6@2 f6@2 g6@2",
  S: "~@3 f6@2 e6@2 f6@3 ~ f6@3 e6@2 f6@2 ~ f6@2 ~ g6@2, ~@9 e6 ~@2",
  T: "~@3 f6@2 e6@2 ~ f6@2 ~@2 f6@2 e6@2 f6@2 e6@2 f6@2 g6@2",
  U: "~@4 f6@2 e6@2 f6@3 f6@2 ~@2 f6@2 e6@2 f6@2 ~ g6@2, ~@7 e6 ~@4", V: "f6/2",
})).s("gm_string_ensemble_2").gain(0.37)

// other · violin
const violin = note(`<
  A@2 B@2 C ~@7 D@3 E F G H I J ~@7 K@2 C ~@27 A@2 B@2 L ~@23 M@2 N@2 M@2 N@2 M@2 N@2 M@2 N@2 M@2 N@2 M@2 N@2 O@2
>`.pickRestart({
  A: "[a4@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@9 ~ f4@2 e4@2 f4@3 ~ f4@2 e4@2 f4@2 e4@2 f4@2 g4@2]/2",
  B: "[a4@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@14 d5@4 c5@6 bb4 c5 bb4@2 a4@2, ~@32 c5 ~@15]/2", C: "f4",
  D: "[a3@24 bb3@23 ~ bb3@23 ~, f4]/3", E: "e4@10 d4 e4, c4", F: "f4@18 g4 ~ g4@2 a4@2, a3, ~@19 a4@2 ~@3",
  G: "~ bb4@23, bb3", H: "[bb3,f4]", I: "e4@3 f4@2 g4, c4", J: "f4@13 ~@11",
  K: "[f5@4 c5@3 ~ c5@2 a4@2 bb4@2 a4@2 g4@2 f4@14 d5@4 c5@6 bb4 c5 bb4@2 a4@2, ~@32 c5 ~@15]/2", L: "a4",
  M: "[a4@4 c5@3 ~ c5@2 a4@2 b4@2 a4@2 g4@2 f4@9 ~ f4@2 e4@2 f4@3 ~ f4@2 e4@2 f4@2 e4@2 f4@2 g4@2]/2",
  N: "[a4@4 c5@3 ~ c5@2 a4@2 b4@2 a4@2 g4@2 f4@14 d5@4 c5@6 bb4 bb4@2 ~ a4@2, ~@32 c5 ~@10 c5 ~@4]/2", O: "f4/2",
})).s("gm_violin").gain(0.42).pan(0.6)

// other · pizzicato strings · "pizzicatto"
const pizzicato_strings = note("<~@38 A B C D C B C E ~@16 F G H I F G H J ~@42>".pickRestart({
  A: "a4@2 ~@10 f4 ~@11", B: "bb4 ~@11 f4 ~@11", C: "a4 ~@11 f4 ~@11", D: "c5 ~@11 g5 ~@11", E: "c5 ~@11 f4 ~@11",
  F: "a4 ~@5 d4 ~@5 c5 ~@11", G: "bb4 ~@5 d5 ~@5 f5 ~@11", H: "g4 ~@5 d5 ~@5 f5 ~@11", I: "c5@2 ~@4 e5 ~@5 g5 ~@11",
  J: "c5 ~@5 e5 ~@5 f5 ~@11",
})).s("gm_pizzicato_strings").gain(0.29).pan(0.4)

// chords · acoustic guitar steel · "guitar"
const acoustic_guitar_steel = note(`<
  A B@3 C D C D C D C D E F G H I F G J K L K L K L K M K L C D C D C D C D E F G H I F G J K L K L K L K M N O P Q R O
  P S E F G H I F G J K T K L K L K M K T K L K L K M U V W V U V W V U V W V U V W V U V W V U V W X Y@2
>`.pickRestart({
  A: "f4@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // F Fsus4
  B: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // F Fsus4
  C: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!3 [f3,a3,c4] [g3,bb3,c4]@2 [g3,bb3,c4,f4]!4, ~@5 f4@3 ~@4", // F C7 Gm7
  D: "[f3,bb3,c4,f4]@2 [f3,bb3,c4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4] [f3,bb3,c4,f4]!3, ~ f4 ~@2", // Fsus4
  E: "[f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3 [f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3", // Dm
  F: "[f3,bb3,d4,f4]@2 [f3,bb3,d4] [f3,bb3,d4,f4]!3 [f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4", // Bb
  G: "[g3,bb3,d4,f4]@2 [g3,bb3,d4,f4]!4 [g3,bb3,d4,f4]@2 [g3,bb3,d4,f4]!4", // Gm7
  H: "[g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4 [g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4", // C
  I: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!2 [f3,a3,d4,f4] [f3,a3,d4,f4]@2 [f3,a3,d4] [f3,a3,d4,f4]!3", // F Dm
  J: "[g3,c4,e4,g4]@2 [g3,c4,e4,g4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4", // C Fsus4
  K: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!3 [f3,a3,c4] [g3,bb3,c4]@2 [g3,bb3,c4,f4] [g3,bb3,c4]!2 [g3,bb3,c4,f4], ~@10 f4@5 ~@3 f4@4 ~@2", // F C7 Gm7 C7 Gm7
  L: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,f4]@2 [f3,bb3,f4] [f3,bb3,c4,f4]!3, ~@4 f3 ~@3", // Bb Bbsus2 Bb5 Fsus4
  M: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,e4]@2 [g3,bb3,e4] [g3,bb3,c4,e4]!3, ~@4 g3 ~@3", // Bb C7 Edim C7
  N: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4] [f3,a3,c4] [f3,a3,c4,f4]!2", // F
  O: "[g3,bb3,c4,f4]@2 [g3,bb3,c4,f4]!4 [g3,bb3,c4,f4]@2 [g3,bb3,c4,f4]!4", // Gm7
  P: "[f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4 [f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4", // Dm
  Q: "[f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!4", // Fsus4 C7
  R: "[f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4 [f3,a3,c4,f4]@2 [f3,a3,c4,f4]!4", // F
  S: "[f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!4 [f3,bb3,c4,f4]@2 [f3,bb3,c4,f4]!2 [g3,bb3,c4,e4]@2", // Fsus4 C7
  T: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [bb3,c4,f4]@2 [g3,bb3,f4] [g3,bb3,c4,f4]!3, ~@4 g3 ~@3", // Bb Bbsus2 Gm7
  U: "[f3,a3,c4,f4]@2 [f3,a3,c4] [f3,a3,c4,f4]!3 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]!4", // F G7
  V: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!4", // Bb C7
  W: "[f3,a3,d4,f4]@2 [f3,a3,d4,f4]!4 [g3,b3,d4,f4]@2 [g3,b3,d4,f4]!4", // Dm G7
  X: "[f3,bb3,d4,f4]@2 [f3,bb3,d4,f4]!4 [g3,bb3,c4,e4]@2 [g3,bb3,c4,e4]!2 [g3,bb3,c4,e4]@2", Y: "[f3,a3,c4,f4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.09).pan(0.7)

// chords · electric guitar clean · "guitar"
const electric_guitar_clean = note(`<
  A B@3 C ~ C ~ C ~ C ~@4 D E ~@2 F G H G H G H G I J H C ~ C ~ C ~ C ~@4 D E ~@2 F G H G H G H G I ~@2 K ~@3 K ~@4 D E
  ~@2 F G H G H G H G I G H G H G H G I ~@26
>`.pickRestart({
  A: "[a3,c4,a4]@2 ~@4 g4@2 g4!4", B: "~@6 g4@2 g4!4", C: "~@3 f4@2 ~", D: "bb4@2 bb4!4 bb4@3 bb4!3", E: "d4@3 d4 ~@8",
  F: "bb4@2 bb4!4 ~@6", G: "~@6 [d4,f4]@2 d4!2 [d4,f4] d4", H: "~@8 c4 ~@3", I: "~@6 f4@2 [c4,f4] f4!3",
  J: "~@6 f4@2 ~@2 f4 ~", K: "bb3@3 bb3!3 bb3@3 bb3!3",
})).s("gm_electric_guitar_clean").gain(0.08).pan(0.3)

// drums · kick
const kick = s("bd").struct(`<
  A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A
  B A B A B A B A B A B A B A B A B A B A B A B A B A B A B A C A B A C A B A C A B A C A B A C A B A C D ~
>`.pickRestart({
  A: "x ~@2 x ~ x ~@4 x ~", B: "x ~@2 x ~ x ~@6", C: "x ~ x!2 ~ x", D: "x",
})).gain(0.4)

// drums · snare
const snare = s("sd").struct("<A@15 B A@3 B A@57 B A@11 C A@2 B C A@3 C A@2 B C A@3 C A@2 B C ~@2>".pickRestart({
  A: "~ x", B: "~@6 x ~@4 x", C: "~ x ~ x",
})).gain(0.35)

// drums · pedal hat
const pedal_hat = s("hh").struct("<[x!6]!66 [x ~ x ~ x ~ x ~ x!2 ~@2] [x!6]!42 [x!5 ~] ~@2>").gain(0.3)

// drums · open hat
const open_hat = s("oh").struct("<~@66 [~@5 x] ~@42 [~@5 x] ~@2>").gain(0.3)

// drums · splash
const splash = s("cr").struct(`<
  A ~@11 A ~@7 A ~@3 A ~@3 A ~@9 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@3 A ~@7 A ~@7 A ~@7 A ~@3 A ~@3 A ~@3 A ~ A B C ~@3 A
  ~@3 A ~
>`.pickRestart({
  A: "x", B: "~@11 x", C: "~ x",
})).gain(0.45)

// drums · splash · soft notes
const splash_soft = s("cr").struct("<~@79 A ~@18 A ~@3 B ~@3 A ~@5>".pickRestart({
  A: "~ x", B: "x",
})).gain(0.3)

// drums · cabasa
const cabasa = s("cabasa:4").struct("<[x!12]!110 ~@2>").gain(1.26)

stack(
  bass, piano, string_ensemble_2, violin, pizzicato_strings, acoustic_guitar_steel, electric_guitar_clean, kick, snare,
  pedal_hat, open_hat, splash, splash_soft, cabasa
)

More by The Corrs