Strudelify

Serenade for String Orchestra Op.48

Tchaikovsky

KeyD majorTempo52 bpm
0:00/0:00
// Serenade for String Orchestra Op.48 — Tchaikovsky
// 52 bpm, 3/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5385143; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 20 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(52/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// other · string ensemble 2 · "Violin II"
const string_ensemble_2 = note("<A B C D A E F G A B H I A E J K L M N@2>".pickRestart({
  A: "b3@2 c#4 d4 e4 f#4", B: "a4 b4 c#5@2 d5@2", C: "e5 d5 e5@2 d5 c#5", D: "b4 c#5 ~", E: "a4 b4 c#5@2 c#5@2",
  F: "b4 c#4 c#5@2 f#4 b4", G: "a#4 b4 ~", H: "f#5 e5 f#5@2 e5 d5", I: "c#5 b4 ~", J: "e4@2 b4@2 c#4@4 b3 ~ d4 ~",
  K: "e4 b3 ~", L: "e4@4 d4 g3", M: "d4 ~ b3 ~ c#4@7 a3", N: "a3@2 ~",
})).s("gm_string_ensemble_2").gain(0.21).pan(0.9)

// other · string ensemble 2 · "Viola"
const string_ensemble_2_2 = note("<A B C D A E F G A B H I A E J K L M N@2>".pickRestart({
  A: "g3@2 a3 b3 c#4 d4", B: "e4 f#4 g4@2 a4@2", C: "b4 a4 b4@2 a4 g4", D: "f#4 a4 ~", E: "e4 f#4 a4@2 a#4@2",
  F: "f#4 b4 a#4@2 b4 c#4", G: "c#5 b4 ~", H: "c5 b4 c5@2 b4 a4", I: "g4 f#4 ~", J: "b4@2 f4@2 e4@4 d4 ~ g4 ~",
  K: "c#4 d4 ~", L: "b3@4 a3 b3", M: "a3 ~ e4 ~ a3@4 g3@3 f#3", N: "f#3@2 ~",
})).s("gm_string_ensemble_2").gain(0.23).pan(0.6)

// other · string ensemble 2 · "Violoncello"
const string_ensemble_2_3 = note("<A B C D A B ~@2 A B E F A B G H I J K@2>".pickRestart({
  A: "~@5 b2", B: "a2@3 g2 f#2@2", C: "e2 f#2 e2@2 f#2 a2", D: "b2 ~@2", E: "e2@2 e2 f#2 g2 a2", F: "a#2 b2 ~",
  G: "g2@2 g#2@2 a2@4 b2 ~ g2 ~", H: "a2 b2 ~", I: "e2@4 f#2 g2", J: "f#2 ~ e2 ~ a2@7 [a2,d3]", K: "[a2,d3]@2 ~",
})).s("gm_string_ensemble_2").gain(0.2).pan(0.3)

// other · string ensemble 2 · "Violoncello" · soft notes
const string_ensemble_2_soft = note("<A ~@2 B A ~ C D A ~@3 A ~@7>".pickRestart({
  A: "d3@4 c#3 ~", B: "~ a2 ~", C: "b2 g2 f#2@2 b2 e2", D: "f#2 g2 ~",
})).s("gm_string_ensemble_2").gain(0.15).pan(0.3)

// bass · string ensemble 2 · "Contrabass"
const bass = note("<A B C D A B E F A B G H A B I J K L M@2>".pickRestart({
  A: "d2@4 c#2 b1", B: "a1@3 g1 f#1@2", C: "e1 f#1 e1@2 f#1 a1", D: "b1 a1 ~", E: "b1 g1 f#1@2 b1 e1", F: "f#1 g1 ~",
  G: "e1@2 e1 f#1 g1 a1", H: "a#1 b1 ~", I: "g1@2 g#1@2 a1@4 b1 ~ g1 ~", J: "a1 b1 ~", K: "e1@4 f#1 g1",
  L: "f#1 ~ e1 ~ a1@7 d2", M: "d2@2 ~",
})).s("gm_string_ensemble_2").gain(0.2).pan(0.8)

stack(string_ensemble_2, string_ensemble_2_2, string_ensemble_2_3, string_ensemble_2_soft, bass)

More by Tchaikovsky