Strudelify

kahoot lobby theme

Misc Computer Games

KeyF majorTempo120 bpm
0:00/0:00
// kahoot lobby theme — Misc Computer Games
// 120 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/4533856; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 63 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(120/4)

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

// other · soprano sax · "Soprano Saxophone"
const soprano_sax = note(`<
  A@2 B C A@2 B C A@2 B C A@2 B C D B E F D B E G H I J F H I J F A@2 B C A@2 B C A@2 B C A@2 B C D B E F D B E G H I J
  F H I K
>`.pickRestart({
  A: "~@4 g4 ~ g4 ~@5 g4 ~ g4 ~", B: "~@4 f4 ~ f4 ~@5 f4 ~ f4 ~", C: "~@4 f4 ~ f4 ~@5 eb4 ~ eb4 ~",
  D: "c4 ~ c4 ~ f4 ~ f4 ~ ab4 ~ ab4 ~ f4 ~ f4 ~", E: "g4 ~ g4 ~ d4 ~ d4 ~ eb4 ~ eb4 ~ c4 ~ c4 ~",
  F: "~@4 c4 ~ c4 ~@5 c4 ~ c4 ~", G: "~@4 c4 ~ c4 ~@5 eb4 ~ eb4 ~", H: "c5 ~ c5 ~ bb4 ~ bb4 ~ ab4 ~ ab4 ~ eb4 ~ eb4 ~",
  I: "~@4 eb4 ~ eb4 ~@5 eb4 ~ eb4 ~", J: "g4 ~ g4 ~ f4 ~ f4 ~ eb4 ~ eb4 ~ c4 ~ c4 ~",
  K: "g4 ~ g4 ~ f4 ~ f4 ~ eb4 ~ eb4 ~@5",
})).s("gm_soprano_sax").gain(0.27)

// other · tenor sax · "Tenor Saxophone"
const tenor_sax = note(`<
  A@2 B C A@2 B C A@2 B C A@2 B C D B E F D B E G H B I J H B I J A@2 B C A@2 B C A@2 B C A@2 B C D B E F D B E G H B I
  J H B K
>`.pickRestart({
  A: "~@4 c4 ~ c4 ~@5 c4 ~ c4 ~", B: "~@4 ab3 ~ ab3 ~@5 ab3 ~ ab3 ~", C: "~@4 ab3 ~ ab3 ~@5 g3 ~ g3 ~",
  D: "eb3 ~ eb3 ~ ab3 ~ ab3 ~ c4 ~ c4 ~ ab3 ~ ab3 ~", E: "c4 ~ c4 ~ g3 ~ g3 ~ g3 ~ g3 ~ eb4 ~ eb4 ~",
  F: "~@4 eb4 ~ eb4 ~@5 eb4 ~ eb4 ~", G: "~@4 eb4 ~ eb4 ~@5 g3 ~ g3 ~",
  H: "eb4 ~ eb4 ~ d4 ~ d4 ~ c4 ~ c4 ~ ab3 ~ ab3 ~", I: "c4 ~ c4 ~ bb3 ~ bb3 ~ g3 ~ g3 ~ eb3 ~ eb3 ~",
  J: "~@4 eb3 ~ eb3 ~@5 eb3 ~ eb3 ~", K: "c4 ~ c4 ~ bb3 ~ bb3 ~ g3 ~ g3 ~@5",
})).s("gm_tenor_sax").gain(0.2)

// other · baritone sax · "Baritone Saxophone"
const baritone_sax = note(`<
  A B C D A B C D E ~ C D E ~ C D F ~ E ~ F ~ E ~ G ~ H ~ G ~ H I A J C K A L C K M N C O M N C O F ~ E ~ F ~ E ~ P ~ Q
  ~ P ~ Q
>`.pickRestart({
  A: "c2@2 ~@2 c3@2 ~ g2", B: "bb2 c3 ~@6", C: "f2 ~ f2 ~", D: "~@3 g2 eb2 d2 c2@2",
  E: "eb3 ~ eb3 ~ bb2 ~ bb2 ~ c3 ~ c3 ~@5", F: "eb2 ~ eb2 ~ ab2 ~ ab2 ~ c3 ~ c3 ~@5",
  G: "ab3 ~ ab3 ~ g3 ~ g3 ~ f3 ~ f3 ~@5", H: "eb3 ~ eb3 ~ d3 ~ d3 ~ c3 ~ c3 ~@5", I: "~@12 c3 ~ g2 ~",
  J: "bb2 c3 ~ c3@3 ~@2", K: "ab2 ~@2 g2 eb2 d2 c2@2", L: "bb2 c3 ~ c2@3 ~@2", M: "eb2 ~ eb2 ~ bb2 ~ bb2 ~ c3 ~ c3 ~@5",
  N: "~@4 c3 ~ c3 ~@5 c3 ~ c3 ~", O: "~@4 ab2 ~ g2@2 eb2@2 d2@2 c2@4", P: "ab2 ~ ab2 ~ g2 ~ g2 ~ f2 ~ f2 ~@5",
  Q: "eb2 ~ eb2 ~ d2 ~ d2 ~ c2 ~ c2 ~@5",
})).s("gm_baritone_sax").gain(0.26)

// other · baritone sax · "Baritone Saxophone" · soft notes
const baritone_sax_soft = note("<~@17 A ~ B ~ A ~ C ~ D ~ E ~ D ~ F ~@17 A ~ B ~ A ~ B ~ D ~ G ~ D ~>".pickRestart({
  A: "~@4 f3 ~ f3 ~@5 c3 ~ f3 ~", B: "~@4 eb3 ~ eb3 ~@5 c3 ~ g2 ~", C: "~@4 eb3 ~ eb3 ~@5 c3 ~ g3 ~",
  D: "~@4 eb3 ~ eb3 ~@5 c3 ~ ab2 ~", E: "~@4 c3 ~ c3 ~@5 c3 ~ g3 ~", F: "~@4 c3 ~ c3 ~@9",
  G: "~@4 c3 ~ c3 ~@5 c3 ~ g2 ~",
})).s("gm_baritone_sax").gain(0.17)

// drums · kick
const kick = s("bd").struct("<A@48 B A B A B A B A B A B A B A B>".pickRestart({
  A: "x ~@4 x ~@2", B: "x!6 ~@2",
})).gain(0.15)

// drums · snare
const snare = s("sd").struct(`<
  A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B A@3 B C A C B C A C B C A C B C A D
>`.pickRestart({
  A: "~ x ~ x", B: "~@2 x ~@3 x!2", C: "x!7 ~", D: "x!6 ~@2",
})).gain(0.15)

// drums · woodblocks
const woodblocks = s("woodblock:5").struct(`<
  A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ B ~ B ~ B ~ B ~ B ~ B
  ~ B ~ B
>`.pickRestart({
  A: "x", B: "x!6 ~@2",
})).gain(0.22)

// drums · woodblocks
const woodblocks_2 = s("woodblock:4").struct(`<
  ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~ A ~
  A ~ A B
>`.pickRestart({
  A: "x", B: "x!6 ~@2",
})).gain(0.22)

stack(soprano_sax, tenor_sax, baritone_sax, baritone_sax_soft, kick, snare, woodblocks, woodblocks_2)

More by Misc Computer Games