Strudelify
Something Got Me Started cover art

Stars

Something Got Me Started

Simply Red

KeyD minorTempo113 bpm
0:00/0:00
// Something Got Me Started — Simply Red
// 113 bpm, 4/4, key D minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 119 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(113/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 · piano · "A.PIANO 2"
const piano = note(`<
  A@4 B C D E B E D F B C D E B E D F G H G I G J K L M@2 N@2 B C D E B E D F G H G I G J K L M@2 N@2 O P Q@2 R@2 S@2
  ~@4 T U T V T W X Y G H G I G J K L G H G I M@2 N@2 M@2 N@2 Z AA AB AC AD AE Z AF AG AH AI AJ AK AL AM AN AO AP AQ AR
  M@2 N@2 M@2 AS
>`.pickRestart({
  A: "[d1,d2,d3,a3,d4,e4]/2", B: "d2 ~ d2@2 [f3,a3,c4,e4]@2 d2 [f3,a3,c4,e4] ~@2 [f3,a3,d4] ~@5",
  C: "g2 ~ g2@2 [f3,bb3,d4]@2 g2 [f3,bb3,d4] ~@4 [g3,c4,e4]@4", // Bb C
  D: "d2 ~ d2@2 [f3,a3,c4,e4]@2 ~ [f3,a3,c4,e4] ~@2 [f3,a3,d4] ~@5", // Fmaj7 Dm
  E: "g2 ~ g2@2 [f3,bb3,d4]@2 ~ [f3,bb3,d4] ~@4 [g3,c4,e4]@4", // Bb C
  F: "g2 ~ g2@2 [f3,bb3,d4]@2 g2 [f3,bb3,d4] ~@4 [g3,c4,e4]@3 ~", // Bb C
  G: "[c4,d4,f4,a4]@2 ~ [c4,d4,f4,a4] ~@2 [c4,d4,f4,a4] ~@3 [c4,d4,f4,a4] ~ d3 [c4,d4,f4,a4] ~ g2", // Dm7
  H: "[bb3,d4,f4]@2 ~ [bb3,d4,f4] ~@2 [bb3,d4,f4] ~ g2 ~ [bb3,d4,f4] ~ g2 [bb3,d4] ~ d3, ~@13 f4@2 ~", // Bb
  I: "[bb3,d4,f4]@2 g2 [bb3,d4,f4] g2 ~ [bb3,d4,f4] ~ g2 ~ [bb3,d4,f4] ~ g2 [bb3,d4,f4] ~ g2", // Bb
  J: "[bb3,d4,f4]@2 ~ [bb3,d4,f4] ~@2 [bb3,d4,f4] ~ g2 ~ [bb3,d4,f4] ~ g2 [bb3,d4,f4] ~ d3", // Bb
  K: "[c4,d4,f4,a4]@2 d3 [c4,d4,f4,a4] ~@2 [c4,d4,f4,a4] ~ d3 ~ [c4,d4,f4,a4] ~ d3 [c4,d4,f4,a4] ~ g2", // Dm7
  L: "[bb3,d4,f4]@2 g2 [bb3,d4,f4] ~@2 [bb3,d4,f4] ~ g2 ~ [bb3,d4,f4] ~ g2 [bb3,d4,f4]@2 g2", // Bb
  M: "[d3@2 ~@2 [a3,db4,d4,f4] ~ [a3,d4,f4] ~ [g3,c4,e4]@2 d3 [a3,d4,f4]@2 d3@2 bb3 b2@3 [f3,b3,d4] ~ [f3,b3,d4]@2 ~ [g3,c4,e4]@2 c3 [g3,c4,e4] ~ [g3,c4,e4]@2 a2, d2@15 ~@8 c2@6 ~@3, ~@3 d3@4 ~@8 [f3,b3,d4]@3 ~@2 b2@3 ~ c3 ~@3 c3@2 ~@2]/2", // Dm C Dm Bdim C Bdim
  N: "[~@2 a3 ~ [a3,db4,d4,f4] ~ [a3,d4,f4] ~ [g3,c4,e4]@2 d3 [a3,d4,f4]@3 d3 bb3 b2@3 [f3,b3,d4] b2 ~ b2 ~ [g3,c4,e4]@2 c3 [g3,c4,e4] ~ [g3,c4,e4]@3, d2@15 ~@4 b1@3 ~ c2@9, ~@3 d3@5 ~@7 [f3,b3,d4]@3 ~@3 [f3,b3,d4]@2 ~@5 c3@4]/2", // Dm C Dm Bdim C Bdim
  O: "[d2,d3,f3,a3,d4,f4]@3 ~@13", P: "[f3,a3,c4] ~ [f3,bb3] ~@13, [g1,g2] d4 ~@6",
  Q: "[[d2,d3,f3,a3,d4,f4]@3 ~@13 [f3,a3,c4] ~ [f3,d4] ~@7 [f3,bb3,d4] ~ [g3,c4,e4]@3 a2, ~@15 g2@2 ~ bb3@2 ~@12]/2", // Dm F Dm Bb C
  R: "[[d2,d3,f3,a3,d4,f4]@4 ~@12 [f3,a3,c4] ~ [f3,bb3] ~@13, ~@15 g2@5 ~@12, ~@9 d4 ~@6]/2", // Dm F Bb5
  S: "[[d3,f3,a3,d4,f4]@4 ~@12 [f3,a3,c4] ~ [f3,bb3] ~@6 g2 [f3,bb3,d4] ~ [g3,c4,e4]@2 ~@2, ~@15 g2@3 d4@2 ~@12]/2", // Dm F Bb5 Bb C
  T: "[d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~@3 [d4,d5] ~@2 [d4,d5] ~@2", // D
  U: "d4!2 ~ [d4,d5] ~@2 [d4,d5] ~ d4 ~ [d4,d5] ~@2 [d4,d5] ~ d4, d5 ~@7", // D
  V: "[d4,d5]!2 ~ [d4,d5] ~@2 [d4,d5] ~@3 [d4,d5] ~@2 [d4,d5] ~ d4", // D
  W: "[d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~ d4 ~ [d4,d5] ~@2 [d4,d5] ~ d4", // D
  X: "[d4,d5]@2 ~ [d4,d5] ~@2 [d4,d5] ~@3 [d4,d5] ~ d5 [d4,d5] ~@2", // D
  Y: "[f3,bb3,d4,f4]@10 [g3,db4,e4,g4] ~ e3 [g3,db4,e4,g4]@2 ~", // Bb Dbdim
  Z: "[a3,c4,d4,f4]@2 ~ [a3,c4,d4,f4] ~@6 d3 ~ [a3,c4,d4,f4] ~@3", // Dm7
  AA: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4] ~@8 [f3,bb3,d4,f4] ~ d3 ~", // Bb
  AB: "[a3,c4,d4,f4]@2 ~ [a3,c4,d4,f4] ~@8 [a3,c4,d4,f4] ~@3", // Dm7
  AC: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4] ~@6 d3 ~ [f3,bb3,d4,f4] ~@3", // Bb
  AD: "[a3,c4,d4,f4]@2 ~ [a3,c4,d4,f4] ~@6 d3 ~ [a3,c4,d4,f4] ~ d3 ~", // Dm7
  AE: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4] ~@6 [f3,bb3,d4,f4] ~ d3 [f3,bb3,d4,f4] ~ d3", // Bb
  AF: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4] ~@6 [d3,f3] ~ [f3,bb3,d4,f4] ~@3", // Bb Dm Bb
  AG: "[a3,c4,d4,f4]@2 ~ [a3,c4,d4,f4] ~@2 [a3,c4,d4,f4] ~@3 [a3,c4,d4,f4] ~ d3 [a3,c4,d4,f4] ~ d3", // Dm7
  AH: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4,f4] ~@6 d3 ~ [f3,bb3,d4,f4] ~@3", // Bb
  AI: "[a3,c4,d4,f4]@2 d3 [a3,c4,d4,f4] d3 ~ [a3,c4,d4,f4] ~@3 [a3,c4,d4,f4] ~ d3 [a3,c4,d4,f4] ~ d3", // Dm7
  AJ: "[f3,bb3,d4,f4]@2 ~ [f3,bb3,d4,f4] ~@6 [f3,bb3,d4,f4] ~ d3 [f3,bb3,d4,f4] ~@2", // Bb
  AK: "[d4,d5]!2 d4 [d4,d5] d4 ~ [d4,d5]!2 ~ [d4,d5] ~ [d4,d5] ~ [d4,d5] d4 [d4,d5]", // D
  AL: "~ [d4,d5] ~ [d4,d5] d4 [d4,d5] ~ [d4,d5] d4 [d4,d5] ~ [d4,d5] d4 [d4,d5] d4 [d4,d5]", // D
  AM: "[d4,d5]!2 ~ [d4,d5] ~@2 [d4,d5]!2 d4 [d4,d5]!2 ~ [d4,d5]!2 d4 [d4,d5]", // D
  AN: "d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 [d4,ab4,d5] a4 d4 [ab4,d5] d4!2 [f4,d5] d4!2", // D Ddim Abdim Dm
  AO: "[d4,d5]!2 d4 [d4,d5] d4 ~ [d4,d5]!2 d4 [d4,d5] d4 [d4,d5] ~ [d4,d5] d4 [d4,d5]", // D
  AP: "d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 [d4,d5] d4 ~", // D
  AQ: "[d4,d5]!2 d4 [d4,d5] d4 ~ [d4,d5]!2 d4 [d4,d5]!2 d4 [d4,d5]!2 d4 [d4,d5]", // D
  AR: "d4 [d4,d5] d4 [d4,d5] d4 [d4,ab4,d5] a4 d4 [d4,ab4,d5] a4 d4 [f4,d5] d4 [d4,d5] d4 [d4,d5]", // D Ddim Dm D
  AS: "~@2 a3 ~ [a3,db4,d4,f4] ~ [a3,d4,f4] ~ [g3,c4,e4]@2 d3 [a3,d4,f4]@3 ~@2, d2@9 ~@7, ~@3 d3@5 ~@8", // Dm C Dm
})).s("gm_piano").gain(0.36)

// bass · electric bass finger · "FINGERDBAS"
const bass = note(`<
  ~@3 A B C B C B C B D B C B C B C B D E F G H G I G J K L M N B C B C B C B D E F G H G I G J K L M N B C B C B C B O
  P@2 Q@2 B C B C B C B R E F G H G I G J E F G H K L M N K L M N B C B C B C B D S C T U B C B C B C B D K L M N K L V
>`.pickRestart({
  A: "~@3 a1", B: "d1@6 ~ d1 c2@2 db2@2 d2@4", C: "g1 ~ g1@5 f1 g1 ~ g1@2 f1@4", D: "g1 ~ g1@5 f1 g1 ~ g1@2 f1@3 ~",
  E: "d2 a1 c2@2 d2@2 f1 d2@2 f1 g1@2 f1@3 ~", F: "g1 d1 f1@2 g1@2 d1 g1@2 d1 g1@2 f1@3 c2",
  G: "d2 a1 c2@2 d2@2 ~ d2@2 f1 g1@2 f1@3 d1", H: "g1 d1 f1@2 g1@2 d1 g1@2 d1 g1@2 f1@2 ~ d1",
  I: "g1 d1 f1@2 g1@2 d1 g1@2 d1 g1@2 f1@2 ~ [d1,c2]", J: "g1 d1 f1@2 g1@2 d1 g1@2 d1 g1@2 f1@4",
  K: "d1@4 d2 ~ d2@2 c2@3 d2@5", L: "b1@8 c2@7 ~", M: "c2 d2 d1@2 d2 ~ d2@2 c2@3 d2@5", N: "b1 c2",
  O: "g1 ~ g1@4 g2 a2 c3 a2 g2 f2 d2@2 c2@2", P: "[d1@31 ~]/2", Q: "[d1@24 a1@7 ~]/2", R: "g1@9 ~ a1@2 ~ a1@2 ~",
  S: "d1@5 ~@2 d1 c2@2 db2@2 d2@4", T: "d1@6 ~ d1 c2@2 db2@2 d2@3 ~", U: "g1 ~ g1@4 g2 a2 c3 a2 g2 f2 d2 f2 c2@2",
  V: "c2 d2 d1@2 d2 ~ d2@2 c2@3 d2@2 ~@3",
})).s("gm_electric_bass_finger").gain(0.32)

// other · rock organ · "ORGAN 3"
const rock_organ = note("<~@20 A B A B A B C B ~@12 A B A B A B C B ~@24 A B A B A B C B A B A B ~@35>".pickRestart({
  A: "d6 c6 ~@10 [c6,d6] c6 ~@2", B: "~@8 a5 g5 ~@6", C: "d6 c6 ~@10 d6 c6 ~@2",
})).s("gm_rock_organ").gain(0.36).pan(0.9)

// other · alto sax
const alto_sax = note("<~@52 A@5 B C@2 ~@59>".pickRestart({
  A: "[a5@10 g5@2 f5 ~ f5@5 ~@5 ab5 g5 f5 d5 c5 a4 d5@4 [g4,ab4] ~ ab4 g4 f4 d5@2 ~ [g4,ab4] ~ g4 f4 d4 f4@2 c4 d4 ~@6 g4 ~ a4 ~ bb4 ~ c5@2 ~ c5 ~ c5 ~@3 c5 d5 f5 ~ g5@2 f5 ~, ~@17 a4 ~@3 a4 ~@18]/5", // Abmaj7
  B: "bb5@6 c6 a5@4 f5 e5@3 c5", C: "[a4@5 ~@3 a4@2 c5 d5@3 f5 d5@3 c5@2 a4@2 ab4@2 g4 f4 d4 c4@3 d4 ~, ~@22 g4 ~@9]/2",
})).s("gm_alto_sax").gain(0.42)

// chords · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2 = note(`<
  ~@4 A B A B A B A B A B A B A B A B C D C D C D C D E@2 F@2 A B A B A B A B C D C D C D C D E@2 F@2 G H G H G H G H I
  J I K L@8 C D C D C D C D C D C D E@2 F@2 E@2 F@2 G H G H G H G H G H G H G H G H G H G H E@2 F@2 E@2 M
>`.pickRestart({
  A: "[d4,f4,a4]@7 ~@9", B: "[bb3,d4,g4]@7 ~@9", C: "[c4,d4,f4]@15 ~", D: "[bb3,d4,f4]@15 ~",
  E: "[[a3,d4,f4]@8 ~@7 [f3,b3,d4]@9 [g3,c4,e4]@8]/2", F: "[[a3,d4,f4]@8 ~@7 [f3,b3,d4]@9 [g3,c4,e4]@7 ~]/2",
  G: "[a3,d4,f4] ~@3", H: "[f3,bb3,d4] ~@3", I: "g5 gb5", J: "f5 e5", K: "f5@4 e5@3 ~",
  L: "[g5@8 gb5@8 f5@8 e5@8 g5@8 gb5@8 f5@8 e5@8 g5@8 gb5@8 f5@8 e5@8 g5@8 gb5@8 a5@13 ~@3, [d6,d7]@63 ~]/8", // D
  M: "[a3,d4,f4] ~", // Dm
})).s("gm_string_ensemble_2").gain(0.24).pan(0.6)

// chords · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note(`<
  ~@8 A@2 B@2 A@2 B@2 A@2 B@2 ~@12 A@2 B@2 A@2 B@2 ~@52 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 A@2 B@2 ~@7
>`.pickRestart({
  A: "[~@8 d4 ~ d4 ~ d4 ~ d4 ~ d4 [d4,g4] ~@14, ~@7 d4@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 ~@15]/2", // G5
  B: "[~@7 g4@2 ~ d4 ~ d4 ~ d4 ~ d4 [d4,g4] ~@14, ~@9 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 [d4,g4]@2 ~@15]/2", // G5
})).s("gm_electric_guitar_jazz").gain(0.18).pan(0.3)

// chords · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note(`<
  ~@8 A ~ B ~ A ~ B ~ A ~ B ~@13 A ~ B ~ A ~ B ~@53 A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~ A ~ B ~@8
>`.pickRestart({
  A: "~@6 d4 g4@2 ~@7", B: "~@7 d4@2 ~@7",
})).s("gm_electric_guitar_jazz").gain(0.12).pan(0.3)

// chords · string ensemble 1 · "STRINGS"
const string_ensemble_1 = note("<~@60 A@5 B C D C E C F ~@47>".pickRestart({
  A: "[[a3,d4,g4]@8 [a3,gb4]@8 [c4,f4]@8 [a3,e4]@8 [d4,g4]@8 [a3,gb4]@8 [c4,f4]@8 [a3,e4]@8 [a3,d4]@5 ~@3 gb4@8, [d2,d3]@69 ~@11, ~@8 g4 ~]/5", // Dsus4 D F5 A5 G5 D F5 A5 …
  B: "f4 e4", C: "g4 gb4", D: "f4@7 e4@9", E: "f4@7 ~ e4@8", F: "[g3,bb3,d4,f4,a4]@3 ~",
})).s("gm_string_ensemble_1").gain(0.26).pan(0.8)

// other · string ensemble 2 · "SLOWSTRING"
const string_ensemble_2_2 = note("<A ~ A ~@61 B C B C B C B D ~@47>".pickRestart({
  A: "~ [d4,f4,a4]", B: "d4 a3", C: "c4 g3", D: "g3@11 ~@5",
})).s("gm_string_ensemble_2").gain(0.34).pan(0.3)

// bass · slap bass 2 · "SLAPBASS 2"
const bass_2 = note("<~@29 A B C ~@17 A B C ~@33 A B C ~ A B C ~@21 A B C ~ A B>".pickRestart({
  A: "~@4 b1 b2@2 ~@4 c3@2 c3 ~ d1", B: "c2 ~@15", C: "~@11 c3 ~@4",
})).s("gm_slap_bass_2").gain(0.42).pan(0.3)

// bass · slap bass 2 · "SLAPBASS 2" · soft notes
const bass_soft = note("<~@30 A B ~@18 A B ~@34 A B ~@2 A B ~@22 A B ~@2 A>".pickRestart({
  A: "~ d2 d1 ~@13", B: "b1 ~@3",
})).s("gm_slap_bass_2").gain(0.24).pan(0.3)

// chords · timpani
const timpani = note("<A@2 B@2 ~@56 C@2 D@2 ~@55>".pickRestart({
  A: "[[eb1,b1]@25 ~@7]/2", B: "[b1, d1@25 ~@7]/2", C: "[e1@7 ~]/2", D: "[e1@31 ~]/2",
})).s("gm_timpani").gain(0.37).pan(0.3)

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

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

// drums · hihat
const hihat = s("hh").struct(`<
  ~@4 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
  ~@4 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 D E D E D E ~
>`.pickRestart({
  A: "x!7 ~ x!8", B: "x!7 ~ x!2 ~@2 x!4", C: "x!7 ~ x!2 ~@2 x!3 ~", D: "~ x ~ x ~ x ~ x", E: "~ x ~ x ~@3 x",
})).gain(0.3)

// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@4 A@56 ~@4 A@47 B C D C D C D E>".pickRestart({
  A: "~@7 x ~@8", B: "~@7 x ~@7 x", C: "x!2 ~ x!3 ~ x!3 ~ x!3 ~ x", D: "x!2 ~ x!3 ~ x!3 ~@2 x!2 ~ x", E: "x",
})).gain(0.1)

// drums · low tom
const low_tom = s("lt").struct(`<
  ~@3 A ~@15 B ~@7 C ~@3 B ~@7 B ~@7 C ~@3 B ~@7 B ~@11 B ~@7 C ~@7 B ~@3 B ~@7 B ~@3 B ~@7 D ~@3 B ~@3
>`.pickRestart({
  A: "~@3 x", B: "~@7 x", C: "~@11 x ~@4", D: "~@14 x!2",
})).gain(0.35)

// drums · mid tom
const mid_tom = s("mt").struct(`<
  ~@27 A ~@3 B ~@15 A ~@3 B ~@11 C ~@15 A ~@7 D ~@3 D ~@11 D ~@7 E ~@3 D ~@2 F
>`.pickRestart({
  A: "~@10 x ~ x!2 ~@2", B: "~@13 x!2 ~", C: "~@15 x", D: "~@13 x ~@2", E: "~@7 x", F: "~@3 x ~@4",
})).gain(0.45)

// drums · open hat
const open_hat = s("oh").struct(`<
  ~@4 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
  ~@4 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 ~ C ~ C ~ C ~
>`.pickRestart({
  A: "~@3 x ~@4", B: "~@3 x ~ x ~@2", C: "~@5 x ~@2",
})).gain(0.35)

// drums · high tom
const high_tom = s("ht").struct("<~@31 A ~@19 A ~@11 B ~@23 C ~@3 C ~@19 D ~@3 C ~@3>".pickRestart({
  A: "~@5 x!2 ~", B: "~@12 x!3 ~", C: "~@3 x", D: "~@13 x ~@2",
})).gain(0.45)

// drums · crash
const crash = s("cr").struct(`<
  ~@4 A ~@3 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@3 A ~@2 B A ~@3 A ~@2 B A ~@3 A ~@3 A ~@2 B A ~@3 A ~@3 A ~@2
  B A ~@3 A ~@2 B A ~@3 A ~@3 A ~@3 A ~@3 A ~@2 B A ~@3 A ~@3 A ~@2 B A ~@3 A ~ C
>`.pickRestart({
// … 32 more lines

More by Simply Red