Strudelify
The Reflex cover art

1993 · Seven and the Ragged Tiger

The Reflex

Duran Duran

KeyB majorTempo123 bpm
0:00/0:00
// The Reflex — Duran Duran
// 123 bpm, 4/4, key B major. 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 142 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(123/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.

// bass · electric bass finger · "Fingered Bass"
const bass = note(`<
  ~@7 A B C B D B C B D E F G H I F G H J K L K L K M N O K L K L K P Q R S T U V W X Y Z S T U V W X AA AB C B D B C B
  D E F G H J K L K L K M N O K L K L K P Q R S T U V W X Y Z S T U V W X Y AC AD AE AD AF ~ AG ~ AH AI L K L K P Q R S
  T U V W X Y Z S T U V W X Y AJ AK X U V W X Y AL@2
>`.pickRestart({
  A: "~@15 e1", B: "a1@2 g#1@2 f#1@2 ~@4 e1 ~ e1@2 ~@2", C: "~@2 b1 ~@3 a1 ~", D: "~@4 b1@2 ~@6 a1@2 ~ a2",
  E: "a1@2 e1@2 f#1@2 f#2 ~@3 d#1@2 e1@2 e2@2", F: "~@2 a1@2 b1@2 b2 ~@5 a1@2 ~@2", G: "a1 g#1 f#1 f#2 ~ d#1 e1 e2",
  H: "~@2 a1@2 b1@2 b2@2 ~@4 a1@3 a2", I: "a1@2 g#1@2 f#1@2 f#2 ~@3 d#1@2 e1@2 e2@2", J: "a1 f#1 g#1 ~@2 f#1 g#1 ~",
  K: "~ g#1 e1 ~@2 d#1 e1 e2", L: "f#1 f#2 g#1 ~@2 f#1 g#1 ~", M: "f#1 f#2 b1 ~@2 a1 b1 ~", N: "~ b1 e1 ~@3 e1 ~",
  O: "f#1 g1 g#1 ~@2 f#1 g#1 ~", P: "f#1@2 f#2@2 f#1@2 f#2 f#1 ~ f#1 e1@2 f#1@2 f#2 f#1",
  Q: "~ f#1!2 ~ f#1@2 f#2 f#1 ~ f#1 e1@2 f#1@2 f#2 f#1", R: "~ f#1 f#1@2 c#2@3 c#3 c#2@2 a#1@2 g#1 ~@3",
  S: "g#2@4 c#2@3 c#3 c#2@2 a#1@2 g#1 ~@3", T: "g#2@4 b1@3 b2 b1 ~ b1 ~ b1@2 ~@2",
  U: "~@4 f#1@3 f#2 f#1@2 e1@2 c#2 d#2 f#2@2", V: "c#2 d#2 f#2@2 c#2@3 c#3 c#2@2 a#1@2 g#1 ~@3",
  W: "~@4 c#2@3 c#3 c#2@2 a#1@2 g#1 ~@3", X: "~@4 b1@3 b2 b1 ~ b1 ~ b1@2 ~@2", Y: "~@4 e1@3 e2 e1@2 d#1@2 b1 c#2 e2@2",
  Z: "b1 c#2 e2@2 c#2@3 c#3 c#2@2 a#1@2 g#1 ~@3", AA: "~@4 e1@3 e2 e1@2 d#1@2 e1@2 e2@2",
  AB: "f1@2 f2@2 f#1@2 ~@4 e1 ~ e1@2 ~@2", AC: "~@4 f#1@5 ~ f#1@2 e1@2 ~@2", AD: "b2@4 b1 ~ b1 ~ b1@2 ~@2 b1@2 a1@2",
  AE: "g#1@2 e1@2 f#1@5 ~ f#1@2 e1@2 ~@2", AF: "g#1 e1 [f#1,f#2]@4 ~@2", AG: "~@2 f#1 ~@2 f#1 e1 ~",
  AH: "~@12 g#1 ~ g#2 ~", AI: "g#1 ~ g#1 ~ e1@2 ~@4 d#1@2 e1@2 e2@2",
  AJ: "b1 c#2 e2@2 c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~ c#2 ~", AK: "c#2 ~ c#2 ~ c#2@3 c#3 c#2@2 a#1@2 g#1@2 ~@2",
  AL: "[b1 c#2 e2@2 c#2 g#1 c#2 d#2 e2 d#2 c#2 g#1 c#2@6 ~@14]/2",
})).s("gm_electric_bass_finger").gain(0.26)

// chords · piano · "Piano 2"
const piano = note(`<
  ~@8 A@16 B@7 ~ C@8 D@4 E@4 F@4 E@4 G@8 H@8 I@3 ~@7 J@2 D@4 E@4 F@4 K@4 L@5 ~ M ~ N O@7 D@4 E@4 F@4 E@4 P Q@3 E@4 R@2
>`.pickRestart({
  A: "[~@2 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d4,f#4]@3 [g#3,b3,e4]@5 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d#4,f#4]@3 [a3,c#4,e4]@5 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d4,f#4]@3 [g#3,b3,e4]@5 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d#4,f#4]@3 [a3,c#4,e4]@3]/8", // F#m E Bm E F#m E B A …
  B: "[~@4 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 ~@12]/7", // G#m F# E G#m F# E G#m F# …
  C: "[~@4 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [a#3,c#4,f#4]@16 [f#3,a#3,a#6] [c#4,f#6] [f#4,c#6] [a#3,c#4,a#6] [f#4,f#6] [a#4,c#6] [c#4,f#4,a#5] a#4 [c#5,c#6] [f#4,a#4,a#5] [c#5,f#5] [f#5,c#6], ~@123 f#6@2 ~@3]/8", // G#m F# E G#m F# E G#m F# …
  D: "[[a#4,c#5,a#5] f#5 [c#5,a#5] ~ [g#3,c#4,f4]@16 [g#3,c#4,f#4]@6 [g#3,c#4,f4]@10 [b3,d#4,f#4]@16 [a#3,c#4,f#4]@8 g#4 a#4 f#4 ~, ~@30 c#5 ~]/4", // A#m F# C# C#sus4 C# B F#
  E: "[[g#3,c#4] ~ f#3@2 [g#3,c#4,f4]@16 [g#3,c#4,f#4]@6 [g#3,c#4,f4]@10 [b3,d#4,f#4]@16 [b3,e4,g#4]@7 a5 g#5 e5 b4 a4, ~ a#3@3 ~@60]/4", // C#5 C# C#sus4 C# B E
  F: "[g#4 ~ b3@2 [g#3,c#4,f4]@16 [g#3,c#4,f#4]@6 [g#3,c#4,f4]@10 [b3,d#4,f#4]@16 [a#3,c#4,f#4]@7 g#4@2 ~ f#4@2, ~ e4@3 ~@55 c#5@5, ~@61 a#4@3]/4", // C# C#sus4 C# B F#
  G: "[g#4 e4 b3@2 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d4,f#4]@6 [g#3,b3,e4]@10 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d4,f#4]@6 [g#3,b3,e4]@10 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d4,f#4]@6 [g#3,b3,e4]@10 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,f#4]@6 [a3,c#4,e4]@6]/8", // F#m E Bm E F#m E Bm E …
  H: "[~@4 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d4,f#4]@6 [g#3,b3,e4]@10 [a3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,f#4]@6 [a3,c#4,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@6]/8", // F#m E Bm E F#m E B A …
  I: "[~@4 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 ~@12]/3", // G#m F# E
  J: "[~@4 [a#3,c#4,f#4]@16 [f#3,a#3,a#6] [c#4,f#6] [f#4,c#6] [a#3,c#4,a#6] [f#4,f#6] [a#4,c#6] [c#4,f#4,a#5] a#4 [c#5,c#6] [f#4,a#4,a#5] [c#5,f#5] [f#5,c#6], ~@27 f#6@2 ~@3]/2", // F# F#5 A#m F# A#m F# C# F# …
  K: "[[g#3,c#4] ~ f#3@2 [g#3,c#4,f4]@16 [g#3,c#4,f#4]@6 [g#3,c#4,f4]@10 [b3,d#4,f#4]@16 [b3,e4,g#4]@12, ~ a#3@3 ~@60]/4", // C#5 C# C#sus4 C# B E
  L: "[~@2 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d4,f#4]@3 [g#3,b3,e4]@5 [a3,c#4,f#4]@3 [g#3,b3,e4]@5 [b3,d4,f#4]@3 [g#3,b3,e4]@5 [a3,c#4,f#4]@4 ~@2]/5", // F#m E Bm E F#m E Bm E …
  M: "~@2 [a3,c#4,f#4] ~@2 [a3,c#4,f#4] [g#3,b3,e4] ~", // F#m E
  N: "~@4 [b3,d#4,g#4] ~ [b3,d#4,g#4] ~ [b3,d#4,g#4] ~ [b3,d#4,g#4] ~ [b3,d#4,g#4] ~@3", // G#m
  O: "[~@4 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [b3,d#4,g#4]@2 g#3 [b3,d#4,g#4] g#3 [b3,d#4,g#4] g#3 ~ [b3,d#4,g#4]@8 [a#3,c#4,f#4]@6 [g#3,b3,e4]@10 [a#3,c#4,f#4]@16 [f#3,a#3,a#6] [c#4,f#6] [f#4,c#6] [a#3,c#4,a#6] [f#4,f#6] [a#4,c#6] [c#4,f#4,a#5] a#4 [c#5,c#6] [f#4,a#4,a#5] [c#5,f#5] [f#5,c#6], ~@107 f#6@2 ~@3]/7", // F# E G#m F# E G#m F# E …
  P: "g#4 e4 b3@2 [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~", // C#
  Q: "[[g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f#4]@6 [g#3,c#4,f4]@10 [b3,d#4,f#4]@16 [a#3,c#4,f#4]@8 g#4 a#4 f#4 ~, ~@22 c#5 ~]/3", // C# C#sus4 C# B F#
  R: "[g#4 ~ b3@2 c#5 g#4 c#5 d#5 e5 d#5 c#5 g#4 c#5@6 ~@14, ~ e4@3 ~@28]/2",
})).s("gm_piano").gain(0.21)

// chords · electric guitar clean · "Clean Guitar"
const electric_guitar_clean = note(`<
  ~@8 A B C D E B C D E B C D E B C D F G H G H G H ~@2 G H G H G I J K L M N O L P Q R L M N O L P Q S B E B E B C D E
  B C D F G H G H G H ~@7 T J K L M N O L P Q R L M N O L P Q A B E B F ~@4 G H G H G I J K L M N O L P Q R L M N O L P
  Q U V M N O L P W X ~
>`.pickRestart({
  A: "~@4 [a3,c#4,f#4] ~ a3!2 [a3,c#4,f#4]@2 a3!2 [g#3,b3,e4]@2 g#3!2", // F#m E
  B: "[g#3,b3,e4]@2 g#3!2 [b3,d4,f#4]@2 b3!2 [b3,d4,f#4]@2 b3!2 [c#4,e4,a4] ~ [b3,e4,g#4] ~", // E Bm A E
  C: "[a3,c#4,f#4]@2 ~@2 [a3,c#4,f#4]@2 a3!2 [a3,c#4,f#4]@2 ~ a3 [g#3,b3,e4]@2 g#3!2", // F#m E
  D: "[g#3,b3,e4]@2 g#3!2 [b3,d#4,f#4]@2 b3!2 [b3,d#4,f#4]@2 b3!2 [c#4,e4,a4] ~ [b3,e4,g#4] ~", // E B A E
  E: "[a3,c#4,f#4]@2 ~@2 [a3,c#4,f#4] ~ a3!2 [a3,c#4,f#4]@2 a3!2 [g#3,b3,e4]@2 g#3!2", F: "[a3,c#4,f#4] ~@7",
  G: "~@14 [e4,g#4,b4]!2", H: "[e4,g#4,b4] ~@3",
  I: "[e4,g#4,b4]@4 [f#3,f#4] ~@2 [f#3,f#4] ~ [f#3,f#4]!2 ~ [f#3,f#4] ~ [f#3,f#4]!2", // E F#
  J: "~ [f#3,f#4]!2 ~ [f#3,f#4] ~@2 [f#3,f#4] ~ [f#3,f#4]!2 ~ [f#3,f#4] ~ [f#3,f#4]!2", // F#
  K: "~ [f#3,f#4]!2 ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2", // F# C#
  L: "~@2 [g#3,c#4,f4] ~ [g#3,c#4,f#4]@2 [g#3,c#4,f#4]!2 ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2", // C# C#sus4 C#
  M: "~@2 [g#3,c#4,f4] ~ [b3,d#4,f#4]@2 [b3,d#4,f#4] [d#4,f#4] ~@2 [b3,d#4,f#4] ~ [b3,d#4,f#4]@2 [b3,d#4,f#4]!2", // C# B D#m B
  N: "~@2 [b3,d#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]!2 ~@2 [a#3,c#4,f#4] ~ [a#3,c#4,f#4]@2 [a#3,c#4,f#4]!2", // B F#
  O: "~@2 [a#3,c#4,f#4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2", // F# C#
  P: "~@2 [g#3,c#4,f4] ~ [b3,d#4,f#4]@2 [b3,d#4,f#4]!2 ~@2 [b3,d#4,f#4] ~ [b3,d#4,f#4]@2 [b3,d#4,f#4]!2", // C# B
  Q: "~@2 [b3,d#4,f#4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]!2 ~@2 [b3,e4,g#4] ~ [b3,e4,g#4]@2 [b3,e4,g#4]!2", // B E
  R: "~@2 [b3,e4,g#4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2 ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2", // E C#
  S: "~@2 [b3,e4,g#4] ~ [a3,c#4,f#4] ~ a3!2 [a3,c#4,f#4]@2 a3!2 [g#3,b3,e4]@2 g#3!2", // E F#m E
  T: "~@4 [f#3,f#4] ~@2 [f#3,f#4] ~ [f#3,f#4]!2 ~ [f#3,f#4] ~ [f#3,f#4]!2", // F#
  U: "~@2 [b3,e4,g#4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f4] ~", // E C#
  V: "[g#3,c#4,f4] ~ [g#3,c#4,f4] ~ [g#3,c#4,f#4]@2 [g#3,c#4,f#4]!2 ~@2 [g#3,c#4,f4] ~ [g#3,c#4,f4]@2 [g#3,c#4,f4]!2", // C# C#sus4 C#
  W: "~@2 [b3,d#4,f#4] ~ [b3,g#4]@2 [b3,g#4]!2 ~@2 [b3,g#4] ~ [b3,g#4]@2 [b3,g#4]!2", X: "~@2 [b3,g#4] ~@13",
})).s("gm_electric_guitar_clean").gain(0.12)

// other · distortion guitar
const distortion_guitar = note(`<
  ~@3 A ~@26 B C D ~@5 E F G H I J@2 H K L@2 H K J@2 H K M N ~@17 B C@7 O F G H I J@2 H K L@2 H K J@2 H K M P Q R Q S ~
  T ~@7 E F G H I J@2 H K L@2 H K J@2 H K U@2 V I J@2 H K W@3
>`.pickRestart({
  A: "~@7 c#2", B: "~@4 g#2 ~@2 g#2 ~ g#2!2 ~ g#2 ~ g#2!2", C: "~ g#2!2 ~ g#2 ~@2 g#2 ~ g#2!2 ~ g#2 ~ g#2!2",
  D: "~ g#2!2 ~@13", E: "~@4 f#2@2 ~ f#2 ~ f#2!2 ~ f#2 ~ f#2!2", F: "~ f#2!2 ~ f#2@2 ~ f#2 ~ f#2!2 ~ f#2 ~ f#2!2",
  G: "~ f#2!2 ~ b2@3 ~ c#3@2 ~@6", H: "~@2 b2 ~ b2@4 c#3@2 ~@6", I: "~@2 c#3@2 b2@2 b2 ~ b2@2 ~@6",
  J: "[~@2 b2@2 a#2@14 b2 ~ b2@4 c#3@2 ~@6]/2", K: "~@2 c#3@2 b2 ~ b2 ~ b2@2 ~@6",
  L: "[~@2 b2@2 [e2,e3]@14 b2 ~ b2@4 c#3@2 ~@6]/2", M: "~ b2 [e2,e3]@6", N: "[f2,f3]@4 [f#2,f#3]@7 ~@5",
  O: "~ g#2!2 ~ f#2@2 ~ f#2 ~ f#2!2 ~ f#2 ~ f#2!2", P: "~@4 f#2@5 ~ f#2@2 e2@2 ~@2",
  Q: "b2@4 b2 ~ b2 ~ b2@2 ~@2 b2@2 a2@2", R: "g#2@2 e2@2 f#2@5 ~ f#2@2 e2@2 ~@2", S: "g#2 e2 [f#2,f#3]@4 ~@2",
  T: "~@2 f#2 ~@2 f#2 e2 ~", U: "[~@2 b2@2 [e2,e3]@16 c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~ c#3 ~]/2",
  V: "c#3 ~ c#3 ~ b2@4 c#3@2 ~@6",
  W: "[~@2 b2@2 [e2,e3]@14 b2 ~ c#3 g#2 c#3 d#3 e3 d#3 c#3 g#2 c#3@6 ~@14, ~@28 a2 ~@19]/3", // E
})).s("gm_distortion_guitar").gain(0.23)

// chords · percussive organ · "Organ 3"
const percussive_organ = note("<~@9 A B ~@2 A B ~@2 A B ~@2 A B ~@38 A B ~@2 A B ~@34 A B A B ~@35 C@2>".pickRestart({
  A: "~@4 [c#6,e6,f#6]!12", B: "[e6,f#6]!4 ~@12", C: "[~@4 c#5 g#4 c#5 d#5 e5 d#5 c#5 g#4 g#5@6 ~@14]/2",
})).s("gm_percussive_organ").gain(0.1)

// chords · percussive organ · "Organ 3" · soft notes
const percussive_organ_soft = note("<~@10 A ~@3 A ~@3 A ~@3 A ~@39 A ~@3 A ~@35 A ~ A ~@37>".pickRestart({
  A: "c#6!4 ~@12",
})).s("gm_percussive_organ").gain(0.06)

// chords · synth brass 1
const synth_brass_1 = note("<~@57 A ~ A ~@45 A ~ A ~@32 B@2>".pickRestart({
  A: "~@4 [b4,d5,g#5]!5 ~ [b4,d5,g#5] ~ [b4,d5,f#5] ~@3", B: "[~@6 [e5,g#5,c#6]@3 ~@7]/2",
})).s("gm_synth_brass_1").gain(0.16)

// other · tenor sax
const tenor_sax = note("<~@106 A ~@33 B@2>".pickRestart({
  A: "~@2 [f#2,f#3] ~@2 [f#2,f#3] [e2,e3] ~", B: "[~@4 c#3 g#2 c#3 d#3 e3 d#3 c#3 g#2 c#2@6 ~@14]/2",
})).s("gm_tenor_sax").gain(0.22)

// chords · brass section · "Brass 1" · Esus2
const brass_section = note(`<
  ~@106
  [~@6 [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~]
  [[f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~ [f#5,b5,e6] ~@5]
  ~@32
  [~@4 c#5 g#4 c#5 d#5 e5 d#5 c#5 g#4 ~@4]
  ~
>`).s("gm_brass_section").gain(0.19)

// chords · brass section · "Brass 1" · soft notes · Esus2
const brass_section_soft = note("<~@107 [~@12 [f#5,b5,e6] ~ [f#5,b5,e6] ~] [[f#5,b5,e6] ~ [f#5,b5,e6] ~@13] ~@33>")
  .s("gm_brass_section").gain(0.11)

// other · string ensemble 1 · "Strings"
const string_ensemble_1 = note(`<
  ~@40 A@2 B@4 C@4 B@4 D@3 ~@27 A@2 B@4 C@4 B@4 E@2 ~@16 A@2 B@4 C@4 B@4 C@4 B@4 F@3 ~
>`.pickRestart({
  A: "[~ c#6@2 b5@2 g#5@2 a#5]/2", B: "[b5 a#5@2 g#5@2 a#5@4 c#6@2 b5@2 g#5@2 a#5]/4",
  C: "[b5 d#6@4 e6@4 c#6@2 b5@2 g#5@2 a#5]/4", D: "[b5 d#6@4 e6@4 ~@3]/3", E: "[b5@4 d#6@16 e6@11 ~]/2",
  F: "[b5 d#6@4 e6@4 ~@2 [c#5,e6]]/3", // C#m
})).s("gm_string_ensemble_1").gain(0.2)

// drums · kick
const kick = s("bd").struct(`<
  ~@7 A B C B C B C B D B C B C B C B C B C B C E C B C B C B C B C B C F G@15 E C B C B C B C B C B C B C B C B C B C H
  C I C I C J C F G@15 K ~ K L E C B C M C B C B C B C F G@15 E C F G@5 N ~
>`.pickRestart({
  A: "~@15 x", B: "~ x!2 ~@2 x!2 ~", C: "~@4 x ~@7 x ~@2 x", D: "~@4 x ~@6 x ~@2 x ~", E: "~@2 x ~@2 x!2 ~",
  F: "~@2 x ~ x ~@2 x ~@2 x ~ x ~@3", G: "~@4 x ~@2 x ~@2 x ~ x ~@3", H: "~ x!2 ~ x!3 ~", I: "x!3 ~ x!3 ~",
  J: "x!3 ~@2 x!2 ~", K: "~ x ~@2", L: "~ x ~@6", M: "~ x ~@5 x", N: "~@5 x ~@6 x ~@3",
})).gain(0.45)

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

// drums · clap
const clap = s("cp").struct(`<
  ~@8 A B@46 C B@20 D@2 ~ D ~ D A B@8 C B@8 ~ E F G B@3 C H B@2 C B@20 I J B@5 C D ~
>`.pickRestart({
  A: "~ x", B: "x!2", C: "x ~ x!2", D: "x", E: "x ~ x!3 ~ x ~", F: "x ~@2 x", G: "x!4", H: "x ~ x!5 ~", I: "x ~ x!6",
  J: "x!2 ~@2 x ~@3",
})).gain(0.45)

// drums · hihat
const hihat = s("hh").struct("<~@8 A B@91 C D@3 E B@35 F ~>".pickRestart({
  A: "~@4 x!12", B: "x!16", C: "~@2 x!6", D: "x!8", E: "x ~ x ~ x!12", F: "x!4 ~@12",
})).gain(0.25)

// drums · low tom
const low_tom = s("lt").struct("<~@102 [~@5 x ~@2] ~@37 [~@7 x ~@2 x ~@5] ~>").gain(0.45)

// drums · mid tom
const mid_tom = s("mt").struct("<~@140 [~@9 x ~@6] ~>").gain(0.45)

// drums · crash
const crash = s("cr").struct(`<
  ~@8 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@7 A ~@27 A ~@7 A ~@7 A ~@3 A ~@7 A ~@3 A ~@7 A ~@8 A ~@6 B ~
>`.pickRestart({
  A: "~ x ~@2", B: "~@3 x",
})).gain(0.35)

// drums · high tom
const high_tom = s("ht").struct("<~@140 [~ x] ~>").gain(0.45)

// drums · whistle
const whistle = s("ballwhistle:0").struct("<~@100 [~ x] ~ [~ x] ~@39>").gain(0.58)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct(`<
  [~ x!2 ~ x!3 ~ x!3 ~@5]
// … 23 more lines

More by Duran Duran