Strudelify

The World I Know

Collective Soul

KeyD majorTempo78 bpm
0:00/0:00
// The World I Know — Collective Soul
// 78 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Full arrangement: all 80 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(78/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
const piano = note(`<
  A B C B D B D B E F E F E F E G H I J K D B D B E F E F E F E G H I J L M@3 N O@2 P@2 E F E F E F E G H I J L M@3 N
  O@2 P@2 Q@3 N O@2 P@2 R S R S R S T U
>`.pickRestart({
  A: "[b3,d4]!5 ~ [b3,d4] d4@2 [f#3,a3,d4] [f#3,a3,d4]@2 ~ [f#3,a3,d4]!3, ~@7 b3 ~@8", // Bm D
  B: "[f#3,a3,d4] [g3,b3,d4]!4 ~ [g3,b3,d4]!2 ~ [g3,b3,d4] [g3,b3,d4]@2 ~ [a3,c#4,d4]!3", // D G Dmaj7
  C: "[a3,c#4] [b3,d4]!4 ~ [b3,d4]!2 ~ [f#3,a3,d4] [f#3,a3,d4]@2 ~ [f#3,a3,d4]!3", // A Bm D
  D: "[a3,c#4] [b3,d4]!4 ~ [b3,d4]!2 ~ [a3,d4] [a3,d4]@2 ~ [f#3,a3,d4]!3", // A Bm D5 D
  E: "[a3,c#4] [b3,d4]!3 [b3,d4]@4 ~@2 [d4,f#4,a4]@2 ~ [d4,f#4,a4]@2 ~", // A Bm D
  F: "[d4,g4,a4] ~ b4 ~ [d4,g4,b4]@3 ~@2 [g3,b3,d4] [g3,b3,d4]@2 ~ [a3,c#4,d4]!3", // Dsus4 G Dmaj7
  G: "[d4,g4,a4] ~ b4 ~ [d4,g4,b4]@3 ~@2 [g3,b3,d4]@5 ~@2", // Dsus4 G
  H: "~ e4 c#5!2 [e4,a4,c#5] ~ c#5 [e4,a4,d5]@2 ~ a4 ~ g4 ~ a4 ~", // A Dsus2
  I: "~ c#5!3 [e4,a4,c#5] ~ c#5 [a4,c#5,e5]@2 ~ d5 ~ c#5 a4!3", J: "[d4,g4,b4] ~ a4@3 ~ [b3,d4]@7 ~@3",
  K: "[d4,g4,c5] ~ [d4,g4,b4]@3 ~ [b3,d4,g4]@7 ~@3", L: "[d4,g4,c5] ~ [d4,g4,b4]@3 ~ d4 e4 [b3,d4]@5 ~@3",
  M: "[~@6 a4!3 ~ d5 d5@2 ~ [g4,a4,c#5,e5]@6 ~@2 e5!2 [g4,a4,c#5,e5] ~ d5 c#5@2 ~ [g4,b4,d5]@6 ~@2 b4 b4@2 ~ a4 a4@2 g4 a4 ~]/3", // A7 G
  N: "[a3,d4,f#4]@5 ~@3 [a3,d4,f#4] ~ [a3,d4,g4] ~ [a3,d4,f#4] ~ [a3,d4,e4] ~", // D Dsus4 D Asus4
  O: "[[a3,d4,f#4]@5 ~ a4!2 [d4,f#4,a4] ~ d5 d5@2 ~ [g4,a4,c#5,e5]@6 ~@2 g5!2 [a4,c#5]@2 f#5 ~ d5 ~ d5 ~, ~@24 g5 ~@7]/2", // D A7 A
  P: "[[e4,g4,c5]@3 ~@2 g5!3 [d5,e5,g5] ~ f#5 ~ d5 ~ [g4,b4,d5]@5 ~@2 g5!3 [b4,d5,g5] ~ f#5 ~ d5 ~ d5 ~]/2", // C Em7 G
  Q: "[[d4,f#4,a4]@4 ~@2 a4!3 ~ d5 d5@2 ~ [g4,a4,c#5,e5]@6 ~@2 e5!2 [g4,a4,c#5,e5] ~ d5 c#5@2 ~ [g4,b4,d5]@6 ~@2 b4 b4@2 ~ a4!2 ~ g4 a4 ~]/3", // D A7 G
  R: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]!2 ~ [a3,d4] [a3,d4]@2 ~ [a3,d4] ~ [a3,d4]", // D D5
  S: "[a3,d4] [b3,d4]!2 ~ [b3,d4]@3 ~ [b3,d4]!3 ~ [b3,d4] [a3,c#4,e4]@2 ~", // D5 Bm A
  T: "[a3,d4,f#4]@3 ~ [a3,d4,f#4] ~ [a3,d4,f#4]!2 ~ [a3,d4] [a3,d4]@2 ~ [a3,d4]@2 ~", U: "[g3,b3,d4]@11 ~@5",
})).s("gm_piano").gain(0.64)

// other · cello
const cello = note(`<
  ~@3 A B C B C B C B C B C B D E@2 F G B C B C B C B C B C B D E@2 F H I E F I@2 E J K B C B C B C B D E@2 F H I E F
  I@2 E J K I E F I@2 E J K L M L M L M L N
>`.pickRestart({
  A: "~@8 g2 f#2 ~ e2@2 ~ d2 ~", B: "b2@5 ~@3 d3 e3 d3@4 ~@2", C: "g2@3 ~ g2@3 ~@2 g2!2 ~@2 a2!3",
  D: "g2@3 ~ g2@3 ~@2 g2 g2@3 ~ g2 ~", E: "a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~ a2 ~",
  F: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~", G: "g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ g2 ~ a2@3 ~",
  H: "g2 ~ g2 ~ g2 ~ d3 ~ g3 ~ g3!3 f#3 e3 ~", I: "d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~ d3 ~",
  J: "c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~ c3 ~", K: "g2 ~ g2 ~ g2 ~ d3 ~ e3 ~ d3 ~ a2 ~ g2 ~",
  L: "d3 ~ d3 ~ d3 ~ d3!2 ~ f#2 f#2@2 ~ f#2@2 ~", M: "g2@3 ~ g2@3 ~ g2!3 ~ g2 a2@2 ~", N: "g2@11 ~@5",
})).s("gm_cello").gain(0.64)

stack(piano, cello)

More by Collective Soul