Strudelify

Joe temerario

Ron

KeyC majorTempo111 bpm
0:00/0:00
// Joe temerario — Ron
// 111 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: pitch bends are ignored
// note: ch 9 "Chitarra Pizzicata" named as a string part, played on pizzicato strings (its electric guitar muted patch is not one)
// note: Full arrangement: all 117 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(111/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 · tuba · "Bassotuba"
const tuba = note("<~@43 A@2 B C D E ~@32 A@2 B C D E ~@30>".pickRestart({
  A: "a2@2 ~ f#3 ~ e3 ~ f#3", B: "b2@2 ~ f#3 ~ e3 ~@2", C: "~@5 a2 b2!2", D: "a2 ~@2 b2 ~@4", E: "a2 ~@5 f#3 ~",
})).s("gm_tuba").gain(0.29)

// other · electric guitar clean · "Chitarra Funky"
const electric_guitar_clean = note(`<
  ~@17 A ~@3 A ~@3 B C D ~ E F G@2 A ~@3 A ~@17 B H ~@5 I J K L ~ E F G@2 A ~@3 A ~@17 B H ~@5 M B H ~@5 M B H ~@5 M
>`.pickRestart({
  A: "[c4,g4]", B: "e4 c5 b4 g4@5", C: "d4@10 ~@2 g4@3 ~", D: "g4 a4@2 ~", E: "g4", F: "g4@2 c5@2 b4@2 f4@9 ~",
  G: "[e4@2 c5@2 e4@2 d4@17 ~@9]/2", H: "d4@5 ~@3", I: "[e2,c3,e3]", J: "e4 c5 b4 g4@5, [f2,d3,f3]",
  K: "[g2,e3,g3], d4 ~", L: "~@6 a3@9 ~, a2@3 ~@5, ~@2 c3@7 ~@7, ~@4 f3@7 ~@5", M: "e2",
})).s("gm_electric_guitar_clean").gain(0.24).pan(0)

// chords · string ensemble 2 · "Archi lenti"
const string_ensemble_2 = note(`<
  A@7 B A@7 B C@2 D E F@2 G@2 A@7 B C@2 D H@3 I J@2 K@2 J@2 K@2 L@2 ~@5 M@3 N ~@25 K@2 L@2 ~@5 A@7 B A@7 B A@7 B ~
>`.pickRestart({
  A: "[[c3,e3]@15 ~@16 e3@17 f3@15 e3@16 ~@25 b3@8, c4@13 ~, ~@15 [d3,f3]@17 ~@47 d3@17 g3@16, ~@15 g3@9 a3@16 f3@9 ~@7]/7", // C Dm
  B: "[e3,c4]@7 [d3,b3]@9", C: "[g3 f3, c4]/2", D: "[g3,d4]", E: "[g3,c4]", F: "[e3 f3, c4]/2",
  G: "[g3 [e3,g#3], b3]/2", H: "[g3 e3 f3, c4]/3", I: "[g3,b3]", J: "[c#3,e3,a3]/2", K: "[d3,f#3,b3]/2",
  L: "[c#3,f#3,a3]/2", M: "[[c3,e3]@15 ~@16 e3@17, ~@15 [d3,f3]@17 ~@16, ~@5 g3@3]/3", N: "[f3,a3]",
})).s("gm_string_ensemble_2").gain(0.17)

// bass · acoustic bass · "Basso"
const bass = note(`<
  ~@16 A B C D A B C E F G H I H I J K A B C D A B C L M N O L M N@2 L P Q P H@3 F G H I ~@4 F G H I H I J K A B C D A B
  C L M N O L M N@2 L P Q P H@3 F G H I L G C R F G H I L G C R F G H I ~@5
>`.pickRestart({
  A: "a1@3 b1@2 c2@2 d2", B: "d2 f1!7", C: "g1!8", D: "c2!6 b1!2", E: "g#1!8", F: "c2!8", G: "d2!8", H: "e2!8",
  I: "f2!8", J: "g2!8", K: "c2!3 b1!5", L: "a1!8", M: "a1!7 c#2", N: "f#1!8", O: "f#1!7 b1", P: "b1!8", Q: "f#2!8",
  R: "c2!3 g1!5",
})).s("gm_acoustic_bass").gain(0.29)

// bass · pizzicato strings · "Chitarra Pizzicata"
const bass_2 = note("<~@8 A B C D C D E F ~@42 G B H I ~@4 J K ~@44 G B H I ~>".pickRestart({
  A: "c2!8", B: "d2!8", C: "e2!8", D: "f2!8", E: "g2!8", F: "c2!3 b1!5", G: "a1!8", H: "g1!8", I: "c2!3 g1!5",
  J: "[c4,c5] ~ [b3,b4] ~ [a3,a4] [c3,c4] [g3,g4] [c3,c4]", K: "[g3,g4] ~@7",
})).s("gm_pizzicato_strings").gain(0.29)

// other · string ensemble 1 · "Archi veloci"
const string_ensemble_1 = note("<~@94 A B ~@6 A B ~@6 A B ~@5>".pickRestart({
  A: "~@12 g4@3 ~", B: "g4@2 a4 f4@4 ~",
})).s("gm_string_ensemble_1").gain(0.25)

// drums · kick
const kick = s("bd").struct("<~@16 [x!4]!100 ~>").gain(0.24)

// drums · snare
const snare = s("sd").struct("<~@15 [~@3 x] [~ x ~ x]!100 ~>").gain(0.4)

// drums · hihat
const hihat = s("hh").struct("<~@16 [x!8]!100 ~>").gain(0.24)

// drums · crash
const crash = s("cr").struct("<~@15 [~@3 x] ~@101>").gain(0.24)

stack(tuba, electric_guitar_clean, string_ensemble_2, bass, bass_2, string_ensemble_1, kick, snare, hihat, crash)

More by Ron