0:00/0:00
// sherlock bbc theme — Erin Buck
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 12 "Double Bass" named as a bass, played on acoustic bass (its contrabass patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/2125051; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 201 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(120/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 · flute
const flute = note(`<
~@2 A B C D E F G@2 H I J K L M N@2 O@2 P Q R@2 S@4 T@3 U@4 S@4 V@4 T@4 W@2 X@2 Y Z AA@2 AB AC AD AE AB ~@6 AF@2 AG AH
Q AI AJ@2 AG AK Q AI AL AM@2 AN AO AP AQ AR AS AR AT AR AU AV AW ~ AX AY AZ BA AX AY BB AP BC AM ~@8 BD BE@2 BF BD
BG@2 BH BD BI@2 BJ BD BK BL BM BN ~@7 BD BE@2 BF BD BG@2 BH BD BI@2 BJ BD BK BL BM BN ~@2 BO BP BO BQ BR BS BT BU BV
BW BX BY BZ CA CB CC CD CE CD CF P CG AM CH@2 CD ~@7 CI CJ@2 CK CI CL@2 CM CN CO CP CQ AM
>`.pickRestart({
A: "c5 g5@2 g5", B: "f#5 g5 g#5@4 g5@2", C: "f5 c6@2 c6", D: "c6@15 ~", E: "f5@4 c6@11 ~", F: "b5 c6 d6@4 c6@2",
G: "[d#6@15 ~]/2", H: "g5 c5@2 c5", I: "d5@2 d#5@2 d5 d#5 d5 c5", J: "f5 c5 ~@2", K: "~@6 c5 d5",
L: "d#5 ~ d#5 f5 d5 ~ d5 d#5", M: "c5 ~ c5 d5 b4 ~ g#4 g4", N: "[c5@27 ~ d#5@2 d5@2]/2", O: "[c5@23 ~ g5@8]/2",
P: "f5@15 ~", Q: "a5@15 ~", R: "[c6@15 ~]/2", S: "a4 c5 e5 c5 e5 c5 e5 c5", T: "a4 d5 f#5 d5 f#5 d5 f#5 d5",
U: "a4 d5 f5 d5 f5 d5 f5 d5", V: "c5 e5 g5 e5 g5 e5 g5 e5", W: "a4 c5 f5 c5 f5 c5 f5 c5",
X: "b4 e5 g#5 e5 g#5 e5 g#5 e5", Y: "~@5 a4!3", Z: "a4 ~@4 a4!3", AA: "[a4@15 ~]/2", AB: "a4@4 a4@2 ~ g#4 a4@4 ~@4",
AC: "~@15 a#4", AD: "b4@4 b4@2 ~ f4 b4@4 ~@4", AE: "~@15 c5", AF: "[~@7 a5@3 a5 g#5 a5@2 a5 a#5]/2",
AG: "b5@2 b5 f5 b5@2 b5 c6", AH: "a5@2 a5 g#5 a5@2 a5 f5", AI: "a5 d5 a5 d5 a5 ~@11",
AJ: "[a5 d5 a5 d5 a5 ~@9 a5@6 a5@2 g#5@2 a5@4 a5@2 a#5@2]/2", AK: "a5@2 a5 g#5 a5@2 a5 c6",
AL: "a5 d5 a5 d5 a5 ~@10 g#5", AM: "g5@15 ~", AN: "f5 e5@3 e5@4", AO: "e5@11 ~ e5@2 ~ d#5", AP: "d5@15 ~",
AQ: "d5@11 ~@4 g5", AR: "a5@4 a5@2 ~ g#5 a5@4 a5@2 ~ g#5", AS: "g5@4 g5@2 ~ f#5 g5@4 g5@2 ~ g#5", AT: "g5@11 ~@4 g#5",
AU: "g5@4 g5@2 ~ f#5 g5@4 g5@2 ~ f#5", AV: "f5@4 f5@2 ~ e5 f5@4 f5@2 ~ e5", AW: "d5@11 ~@5",
AX: "b4@2 b4 a#4 b4@2 b4 c5", AY: "c5@2 c5 g4 c5@2 c5 d5", AZ: "b4@2 b4 a#4 b4@2 b4 g4", BA: "b4@15 ~",
BB: "b4@2 b4 a#4 b4@2 b4 d5", BC: "e5 f#5 g5@2", BD: "~@2 f#6 g6@2 f#6 g6@2",
BE: "[d6 e6@2 d6 e6@2 f#6 g6@2 f#6 g6@2 d6 e6 f#6 g6]/2", BF: "e6@2 d6 e6@2 g5 f#5 e5",
BG: "[d6 e6@2 d6 e6 d6 f#6 g6@2 f#6 g6@2 d6 e6 f#6 g6]/2", BH: "a6@2 e6 c#6@2 b5 a5 b5",
BI: "[e6 f#6@2 d6 e6 d6 f#6 g6@2 f#6 g6@2 d6 e6@2 f#6]/2", BJ: "g6 d6 g6 a6 e6 d6 c#6 d6",
BK: "e6 f#6@2 d6 e6 d6 f#6 g6", BL: "e6 d6!2 e6@2 f#6 g6 a6", BM: "e6 c#6 a5 c#6 e6 c#6 a5 f#5", BN: "e5 ~@7",
BO: "~@2 a5 g5@2 e5 f5@2", BP: "a5 g5@2 e5 f5 e5 d5 c5", BQ: "a5 g5@2 e5 f5 e5 f5 g5", BR: "~@2 g5 f#5@2 a5 g5@2",
BS: "c6 b5 a5 ~ a5 g5 f5 e5", BT: "~ g5 f5@2 e5 f5 d5@2", BU: "~ a5 g5@2 c6 b5 a5@2", BV: "~@2 f5 e5@2 g4 a4@2",
BW: "f5 e5@2 g4 a4 a#4 a4 g4", BX: "~@2 e5 d5@2 g4 a4@2", BY: "e5 d5@2 g4 a4 a#4 c5 d5", BZ: "~@2 g5 f5@2 c5 d5@2",
CA: "g5 f5@2 c5 d5 e5 f5 g5", CB: "g4 f4 a4 g4 b4 a4 c5 b4", CC: "d5 c5 e5 d5 f5 e5 g5 a5", CD: "e5@15 ~",
CE: "g5 f5", CF: "e5 f#5", CG: "a5 g5", CH: "[f5@11 ~ g5@11 ~ f#5@8]/2", CI: "~@2 a5 b5@2 a5 b5@2",
CJ: "[f#5 g5@2 f#5 g5@2 a5 b5@2 a5 b5@2 f#5 g5 a5 b5]/2", CK: "g5@2 f#5 g5@2 a5 g5 f#5",
CL: "[g5 a5@2 f#5 g5 f#5 a5 b5@2 a5 b5@2 f#5 g5@2 a5]/2", CM: "b5 f#5 b5 c6 g5 f#5 e5 f#5",
CN: "~@2 f#5 g5@2 f#5 g5@2", CO: "d5 e5@2 d5 e5 d5 f#5 g5", CP: "e5 d5!2 e5@2 f#5 g5 a5",
CQ: "e5 a5 e5 a5 e5 a5 e5 a5",
})).s("gm_flute").gain(0.3)
// other · trumpet · "B♭ Trumpet"
const trumpet = note(`<
~@2 A B C D E F G@2 H I J K L M N@2 O@2 P Q R@2 S@4 T@3 U@4 S@4 V@4 T@4 W@2 X@2 Y Z AA@2 AB AC AD AE AB ~@6 AF@2 AG AH
AI AJ AK@2 AG AL AI AJ AM AN@2 AO AP AQ AR AS AT AS AU AS AV AW AX ~ AY AZ BA AQ AY AZ BB BC BD AN ~@16 BE BF BG BH BE
BF BG BH ~@12 BI BJ@2 BK BE BF BG BH BE BF BG BH ~@3 BL BM BL BM BL BN BO@2 ~@4 BP BQ BP BQ BR BS BR BT BU BV BR BU BW
~@4 BX BY BZ CA CB BY BZ CA CC CD CE CF CG@2 CH CI ~
>`.pickRestart({
A: "c5 g5@2 g5", B: "f#5 g5 g#5@4 g5@2", C: "f5 c5@2 c5", D: "c5", E: "f5 c5@3", F: "b4 c5 d5@4 c5@2", G: "d#5/2",
H: "g5 c5@2 c5", I: "d5@2 d#5@2 d5 d#5 d5 c5", J: "f5 c5 ~@2", K: "~@6 c5 d5", L: "d#5 ~ d#5 f5 d5 ~ d5 d#5",
M: "c5 ~ c5 d5 b4 ~ g#4 g4", N: "[c5@14 d#5 d5]/2", O: "[c5@3 g5]/2", P: "f5", Q: "a5", R: "f5/2",
S: "a4 c5 e5 c5 e5 c5 e5 c5", T: "a4 d5 f#5 d5 f#5 d5 f#5 d5", U: "a4 d5 f5 d5 f5 d5 f5 d5",
V: "c5 e5 g5 e5 g5 e5 g5 e5", W: "a4 c5 f5 c5 f5 c5 f5 c5", X: "b4 e5 g#5 e5 g#5 e5 g#5 e5", Y: "~@5 a4!3",
Z: "a4 ~@4 a4!3", AA: "c5/2", AB: "a4@4 a4@2 ~ g#4 a4@4 ~@4", AC: "~@15 a#4", AD: "b4@4 b4@2 ~ f4 b4@4 ~@4",
AE: "~@15 c5", AF: "[~@7 a4@3 a4 g#4 a4@2 a4 a#4]/2", AG: "b4@2 b4 f4 b4@2 b4 c5", AH: "a4@2 a4 g#4 a4@2 a4 f4",
AI: "a4", AJ: "a4 d5 a4 d5 a4 ~@11", AK: "[a4 d5 a4 d5 a4 ~@9 a4@6 a4@2 g#4@2 a4@4 a4@2 a#4@2]/2",
AL: "a4@2 a4 g#4 a4@2 a4 c5", AM: "a4 d5 a4 d5 a4 ~@10 g#4", AN: "g4", AO: "f4 e4@3 e4@4", AP: "e4@12 e4@2 ~ d#4",
AQ: "d4", AR: "d4@12 ~@3 g4", AS: "a4@4 a4@2 ~ g#4 a4@4 a4@2 ~ g#4", AT: "g4@4 g4@2 ~ f#4 g4@4 g4@2 ~ g#4",
AU: "g4@12 ~@3 g#4", AV: "g4@4 g4@2 ~ f#4 g4@4 g4@2 ~ f#4", AW: "f4@4 f4@2 ~ e4 f4@4 f4@2 ~ e4", AX: "d4@3 ~",
AY: "b4@2 b4 a#4 b4@2 b4 c5", AZ: "c5@2 c5 g4 c5@2 c5 d5", BA: "b4@2 b4 a#4 b4@2 b4 g4", BB: "b4@2 b4 a#4 b4@2 b4 d5",
BC: "b4", BD: "e4 f#4 g4@2", BE: "c5@4 f#4@3 b4", BF: "b4 f#4!3", BG: "a4!2 e5!2", BH: "d5!4",
BI: "~@2 f#5 g5@2 f#5 g5@2", BJ: "[d5 e5@2 d5 e5 d5 f#5 g5@2 f#5 g5@2 d5 e5 f#5 g5]/2", BK: "a5@2 e5 c#5@2 b4 a4 b4",
BL: "~@2 d5 d5@2 d5 d5@2", BM: "d5 d5@2 d5!5", BN: "d5 d5@2 ~ d5!4", BO: "~ d5 d5@2 d5!2 d5@2", BP: "g4@3 g4@3 g4@2",
BQ: "a4 f#4", BR: "e4 g4 b4@6", BS: "g4 b4 d5@2 f4 a4 c5@2", BT: "e4 g4 b4@2 f#4 a4 c5@2", BU: "f4 a4 c5@6",
BV: "e4 g4 b4@2 g4 b4 d5@2", BW: "g4 b4 d5@2 f#4 a4 d5@2", BX: "~@4 b4@4 e5 f#5 g5 f#5 e5@4",
BY: "b4@2 b4@2 b4@4 e5 f#5 g5 f#5 e5@4", BZ: "b4@4 ~@4 e5 f#5 g5 f#5 e5@4", CA: "~@6 b4 a4 g4 a4 g4@2 f#4 e4 d4 f#4",
CB: "e4@4 b4@4 e5 f#5 g5 f#5 e5@4", CC: "~ e4 b4 e4 ~@2 f#5 e5", CD: "b4 e4 ~ b4 e4 b3 f#4 g4",
CE: "f#4 e4 ~ b4 f#4 e4 b3 d4", CF: "~@6 a4@2 e4@2 f#4 e4 c4@2 d4@2",
CG: "[~@4 b3@2 b4@2 f#4@2 e4@4 e4@4 a4@2 f#4@2 d4@2 f#4@2 g4 f#4 e4@2 d4@2]/2", CH: "~ b3 f#4 b4 f#4 e4 g4 a4",
CI: "~ b3 f#4 b4 f#4 a4 f#4 d4",
})).s("gm_trumpet").gain(0.3)
// other · trumpet · "B♭ Trumpet"
const trumpet_2 = note(`<
~@2 A B C D E F G@2 H I J K L M N@2 O@2 P Q R@4 S@2 T R@2 ~ R@2 U@2 Q V@2 ~ W@2 X@2 P Y@2 Z AA@2 AB@2 AC@2 ~ AD AE AF
AG AD ~@3 AH AI AH AJ AK AL AM AN AH@2 AK AL AO AN AH AO AP@2 AQ@2 AR AJ AS AT AS AU AS AT AV AW ~ AX AY AZ BA AX AY
BB BA@3 ~@12 BC BD@2 BE ~@9 BF BG@2 BH BI ~ BJ ~@8 BK BL BM BN BO@2 BP BQ BR ~@2 BS BT BS BU BV BW BX BY ~@4 BZ CA BZ
CA CB CC CD CE CF CG CH CI CJ CK ~@3 CL CM CN CO CP CM CN CO CP CM CN CO CP CM CN CO CK
>`.pickRestart({
A: "e4 b4@2 b4", B: "a4 b4 c5@4 b4@2", C: "a4 e5@2 e5", D: "e5", E: "a4 e5@3", F: "d5 e5 f5@4 e5@2", G: "d#5/2",
H: "a#4 d#4@2 d#4", I: "f4@2 g4@2 f4 g4 f4 e4", J: "a4 e4 ~@2", K: "~@6 e4 f4", L: "g4 ~ g4 a4 f4 ~ f4 g4",
M: "e4 ~ e4 f4 d5 ~ c5 b4", N: "[d#5@14 f#4 f4]/2", O: "[e4@3 b4]/2", P: "a4", Q: "c5", R: "a4/2",
S: "[e5@11 ~ e5@4]/2", T: "d5", U: "[a4@11 ~ a4@4]/2", V: "e4/2", W: "g4/2", X: "[c5@11 ~ c5@4]/2", Y: "f#4/2",
Z: "~@2 a4@3 b4@3", AA: "[a4@5 a4@2 d4]/2", AB: "[f#4@10 g#4@3 c5@3]/2", AC: "e5/2", AD: "a4@4 a4@2 ~ g#4 a4@4 ~@4",
AE: "~@15 a#4", AF: "b4@4 b4@2 ~ f4 b4@4 ~@4", AG: "~@15 c5", AH: "a4 ~ a4 g#4 a4 ~ a4 g#4",
AI: "g4 ~ g4 f#4 g4 ~ g4 g#4", AJ: "g4 ~ g4 f#4 g4 f4 e4 g#4", AK: "a4 ~ a4 g#4 a4 ~ a4 a#4",
AL: "b4 ~ b4 f4 b4 ~ b4 c5", AM: "a4 ~ a4 g#4 a4 ~ a4 f4", AN: "a4 ~ a4 g#4 a4 f4 e4 g#4",
AO: "a4 ~ a4 g#4 a4 ~ a4 c5", AP: "a#4 ~ a#4 a4 a#4 ~ a#4 a4", AQ: "g#4 ~ g#4 g4 g#4 ~ g#4 g4",
AR: "g4 ~ g4 f#4 g4 ~ g4 f#4", AS: "d4@2 ~ a#4 f5@2 f4@2 d4@2 ~ a#4 f5@2 f4@2",
AT: "d4@2 ~ a4 d5@2 ~@2 d4@2 ~ a4 d5@2 ~@2", AU: "d4@2 ~ a4 c5@2 ~ g4 d4@2 ~ f4 e4@2 ~@2",
AV: "d4@2 ~ g4 d5@2 d4@2 d4@2 ~ g4 d5@2 d4@2", AW: "d4@2 ~ f4 b4@2 ~ f4 g4@2 ~ a4 a#4@2 a4@2",
AX: "g4@2 g4 f#4 g4@2 g4 g#4", AY: "a4@2 a4 d#4 a4@2 a4 a#4", AZ: "g4@2 g4 f#4 g4@2 g4 d#4", BA: "g4",
BB: "g4@2 g4 f#4 g4@2 g4 a#4", BC: "~@2 f#5 g5@2 f#5 g5@2", BD: "[d5 e5@2 d5 e5 d5 f#5 g5@2 f#5 g5@2 d5 e5 f#5 g5]/2",
BE: "a5@2 e5 c#5@2 b4 a4 b4", BF: "~ g5 b4 f#5 b4 f#5 e5 b4", BG: "[~ g5 f#5 b4 f#5 e5 b4 e5@2 e4 f#4 e4 e4@4]/2",
BH: "~@6 e4@2 e4 f#4 e4@6", BI: "~ e4!2 b3!2 g4 e4@2", BJ: "~@4 f#4 g4 d4 e4", BK: "~ e4 b4 e4 ~@2 f#4 e4",
BL: "b4 e4 ~ b4 e4 b3 f#4 g4", BM: "f#4 e4 ~ b4 f#4 e4 b3 d4", BN: "~@6 a4@2 e4@2 f#4 e4 c4@2 d4@2",
BO: "[~@4 b3@2 b4@2 f#4@2 e4@4 e4@4 a4@2 f#4@2 d4@2 f#4@2 g4 f#4 e4@2 d4@2]/2", BP: "~ b3 f#4 b4 f#4 e4 g4 a4",
BQ: "~ b3 f#4 b4 f#4 a4 f#4 d4", BR: "~ b3 f#4 e4 a4 e4@3", BS: "~@2 a5 g5@2 e5 f5@2", BT: "a5 g5@2 e5 f5 e5 d5 c5",
BU: "a5 g5@2 e5 f5 e5 f5 g5", BV: "~@2 g5 f#5@2 a5 g5@2", BW: "c5 b4 a4 ~ a5 g5 f5 e5", BX: "~ g5 f5@2 e5 f5 d5@2",
BY: "~ a5 g5@2 c5 b4 a4@2", BZ: "d4@3 d4@3 d4@2", CA: "e4 c4", CB: "~ b3 e4 b4", CC: "c5 b4 a4 b4",
CD: "~@2 g#5@2 a5 g#5 f#5 e5", CE: "g5@2 f#5 e5 b4@4", CF: "~ c4 f4 a4", CG: "c5@2 b4 a4 b4@2 g4@2",
CH: "~ g5 f#5 e5", CI: "a4@2 b4 c5 d5@4", CJ: "g4@3 a4 f#4@4", CK: "e4", CL: "~@4 b4@4 e5 f#5 g5 f#5 e5@4",
CM: "b4@2 b4@2 b4@4 e5 f#5 g5 f#5 e5@4", CN: "b4@4 ~@4 e5 f#5 g5 f#5 e5@4", CO: "~@6 b4 a4 g4 a4 g4@2 f#4 e4 d4 f#4",
CP: "e4@4 b4@4 e5 f#5 g5 f#5 e5@4",
})).s("gm_trumpet").gain(0.3)
// chords · piano
const piano = note(`<
A@4 B@4 A@4 B@4 C D E@2 F G H@2 I@2 J@2 K L@2 M N@2 O@2 P Q@2 R S@2 T@2 U V@2 W X@2 Y@2 Z@3 AA@5 AB AC@33 AD AE AF AG
AH AI AH AJ AK AL AM@2 AN AO AP@3 AQ AP@3 AQ AP@3 AQ AP@3 AQ AP@3 AQ AM@2 AN AO AR AS AT AU AM@2 AN AO AM@2 AN AO AM@2
AN AO AM@2 AN AO ~ AN AV AN AV AN AW AX AY AX AZ AN AV AN BA AX BB AX BB ~@8 BC AM@2 AN AO BD@2 BE BF BD@3 BG BH BI BJ
BK BH BI BJ BK BL
>`.pickRestart({
A: "g4 [d#4,g4] g4 [d#4,g4], c3@15 ~, c4@8 c4@7 ~", B: "[f4,c5] [f4,g#4] [f4,c5] [f4,g#4], [f2,f3]@15 ~",
C: "g4 [d#4,g4] g4 [d#4,g4], c4!2", D: "g4@2 [d#4,g4]@2 [c4,g4]@2 d#3 d3, c4@2 ~ [d#4,g4]",
E: "[[c4,g4] [d#4,g4] [c4,g4] [d#4,g4] [c4,g4] [d#4,g4] [c4,g4] [d#4,g4], c3@23 ~ g3@8]/2", // C5 D# C5 D# C5 D# C5 D#
F: "[f4,c5] [f4,g#4] [f4,c5] [f4,g#4], f3@15 ~", G: "[f4,c5] [f4,a4] [f4,c5] [f4,a4], a3@15 ~",
H: "[[f4,c5] [f4,a4] [f4,c5] [f4,a4] [f4,c5] [f4,a4] [f4,c5] [f4,a4], f3@15 ~]/2", // F5 F F5 F F5 F F5 F
I: "[a4 c5 e5 c5 e5 c5 e5 c5 a4 c5 e5 c5 e5 c5 e5 c5, e3@15 ~]/2",
J: "[a4 c5 e5 c5 e5 c5 e5 c5 a4 c5 e5 c5 e5 c5 e5 c5, c4@21 ~@3 c4@8]/2", K: "a4 d5 f#5 d5 f#5 d5 f#5 d5, a3@15 ~",
L: "[a4 d5 f#5 d5 f#5 d5 f#5 d5 a4 d5 f#5 d5 f#5 d5 f#5 d5, f#3@15 ~]/2", M: "a4 d5 f5 d5 f5 d5 f5 d5",
N: "[a4 d5 f5 d5 f5 d5 f5 d5 a4 d5 f5 d5 f5 d5 f5 d5, f3@15 ~]/2",
O: "[a4 d5 f5 d5 f5 d5 f5 d5 a4 c5 e5 c5 e5 c5 e5 c5, f3@21 ~@3 f3@8]/2", P: "a4 c5 e5 c5 e5 c5 e5 c5, a3@15 ~",
Q: "[a4 c5 e5 c5 e5 c5 e5 c5 a4 c5 e5 c5 e5 c5 e5 c5, c3@15 ~]/2", R: "c5 e5 g5 e5 g5 e5 g5 e5",
S: "[c5 e5 g5 e5 g5 e5 g5 e5 c5 e5 g5 e5 g5 e5 g5 e5, e3@15 ~]/2",
T: "[c5 e5 g5 e5 g5 e5 g5 e5 a4 d5 f#5 d5 f#5 d5 f#5 d5, g3@21 ~@3 g3@8]/2",
U: "a4 d5 f#5 d5 f#5 d5 f#5 d5, f#3@15 ~", V: "[a4 d5 f#5 d5 f#5 d5 f#5 d5 a4 d5 f#5 d5 f#5 d5 f#5 d5, d3@15 ~]/2",
W: "a4 c5 f5 c5 f5 c5 f5 c5", X: "[a4 c5 f5 c5 f5 c5 f5 c5 b4 e5 g#5 e5 g#5 e5 g#5 e5, f3@19 ~ f3@8 ~@4]/2",
Y: "[b4 e5 g#5 e5 g#5 e5 g#5 e5 ~@2 d3@3 a4!3, d3@19 ~@13]/2", Z: "[a2 ~@4 a2!3 a2@15 ~, c5@23 ~]/3",
AA: "~ a4 ~ a4, [d2,d3]!2", AB: "[d2,d3] [f2,f3]", AC: "[d2,d3] [a3,e4] [d2,d3] [a3,e4]",
AD: "~ [c4,d#4] ~ [c4,d#4], c3!2", AE: "~ c4 ~ g4, c3!2", AF: "~ [c4,d#4] ~ [c4,g4], c3!2",
AG: "~ [c4,d#4] ~ g4, c3!2", AH: "~ [c4,d#4] ~ [c4,d#4], c3 g2", AI: "~ [a3,c4] ~ [a3,c4], f2 c3", AJ: "[d3,g4]@15 ~",
AK: "e3 f#3 g3@2, g4@15 ~", AL: "[g3,g4]@15 ~", AM: "b2!8", AN: "d3!8", AO: "c#3!8",
AP: "[b2!8 b2!8 d3!8, ~ e5 b4 g4@2 e5 b4 g4@2 d5 b4 g4]/3", AQ: "c#3!8, c#5 a4 e4 a4",
AR: "b2!8, [g4,g5] [f#4,f#5]@2 [e4,e5]", AS: "b2!8, [g4,g5] [f#4,f#5]@2 [d4,d5]",
AT: "d3!8, [g4,g5] [f#4,f#5]@2 [c#4,c#5]", AU: "c#3!8, [g4,g5] [f#4,f#5] [b3,b4]@2", AV: "e3!4 c3!4",
AW: "e3!4 f#3!4", AX: "g3!8", AY: "a3!4 f#3!4", AZ: "g3!4 c4!4", BA: "e3!4 f3!4", BB: "a3!4 f3!4", BC: "~@5 a2!3",
BD: "b3!2 a#3!2", BE: "b3 d4 b3@2 a#3@2 a#3@2", BF: "b3 a#3 g3@2 g3@4 a#3!2 g3@2 g3@4", BG: "b3!2 g3!2",
BH: "b3@2 b3@2 a#3@2 ~ b4, b4@4 e4@3 ~, ~@3 a#3", BI: "[b3,b4] [b3,e4] [a#3,e4]!2", BJ: "[b3,g4]!2 [a#3,d5]!2",
BK: "[b3,e5]!2 [g3,d5]!2", BL: "[g3,e5]@15 ~",
})).s("gm_piano").gain(0.3)
// other · cello · "Violoncello"
const cello = note(`<
A@4 B@4 A@4 B@4 A@4 B C@3 D@4 E@3 F@4 D@4 G@4 E@4 F@2 H@2 I J K@2 L M N O L ~@3 P Q P Q P R P@5 R P@4 R@2 S@2 Q T P Q
P U P Q V W X Y Z Y Z AA AB AA AC AD AE ~@4 AF@2 AG AH AI@2 AG AH AI@2 AG AH AI@2 AG AH AI@2 AG AH AJ AK AL AM AN AJ
AO AP ~@4 AQ@2 AR AS AQ@2 AR AS AQ@2 AR AS ~ AT AU AT AU AT AV AW AX AW AY AQ AZ AQ BA BB BC BB BC ~@8 BD AS@2 BE BF
AS@2 BE BF AS@2 BE BF AS@2 BE BF AS@2 BE BF BG
>`.pickRestart({
A: "d#3 g3 d#3 g3", B: "g#3 c4 g#3 c4", C: "a3 c4 a3 c4", D: "a2 c3 e3 c3 e3 c3 e3 c3",
E: "a2 d3 f#3 d3 f#3 d3 f#3 d3", F: "a2 d3 f3 d3 f3 d3 f3 d3", G: "c3 e3 g3 e3 g3 e3 g3 e3",
H: "b2 e3 g#3 e3 g#3 e3 g#3 e3", I: "~@5 a2!3", J: "a2 ~@4 a2!3", K: "a2/2", L: "a3@4 a3@2 ~ g#3 a3@4 ~@4",
M: "~@15 a#3", N: "b3@4 b3@2 ~ f3 b3@4 ~@4", O: "~@15 c4", P: "d3 ~ a3 ~ d3 ~ a3 ~", Q: "d3 ~ g3 ~ d3 ~ g3 ~",
R: "d3 ~ b3 ~ d3 ~ b3 ~", S: "e3 ~ g3 ~ e3 ~ g3 ~", T: "c3 ~ g3 ~ d3 ~ e3 ~", U: "d3 ~ g3 ~ d3 ~ f3 ~",
V: "d3 ~ f3 ~ d3 ~ f3 ~", W: "d3 ~ e3 ~ g3 ~ a#3 ~", X: "d3!2 e3!2 d3!2 e3!2", Y: "c3 g3 c3 g3", Z: "c3 g3 c3 g2",
AA: "c3 g3 g2 g3", AB: "f2 f3 c3 f3", AC: "b2", AD: "a2 g2@3", AE: "g2", AF: "e3 e3@7", AG: "g3 g3@7", AH: "a3 a3@7",
AI: "[e3 e3@15]/2", AJ: "~ g3 e3 b2@2 g2 f#2 e2", AK: "~ g3@2 e3 b2@2 f#2 e2", AL: "~ g3 e3 b2 f#3 e3 f#2 e2",
AM: "~ g3 f#3 b2 f#3 e3 b2 e3", AN: "~ g3 e3 b2@2 b2 g2 e2", AO: "~ g3 f#3 b2@2 f#3 e3 d3",
AP: "~ b2 g2 f#2 e2 g2 d2 e2", AQ: "d3!8", AR: "f#3!8", AS: "e3!8", AT: "f#2!8", AU: "g2!4 e2!4", AV: "g2!4 a2!4",
AW: "b2!8", AX: "c3!4 a2!4", AY: "b2!4 e3!4", AZ: "e3!4 c3!4", BA: "e3!4 f3!4", BB: "b2@3 b2@3 b2@2", BC: "c3 a2",
BD: "~@5 d3!3", BE: "g3!8", BF: "a3!8", BG: "g3",
})).s("gm_cello").gain(0.3)
// bass · acoustic bass · "Double Bass"
const bass = note(`<
A@4 B@4 A@4 B@4 A@2 C A B D@3 E@2 F@2 G H@2 ~ I@2 J@2 G K@2 ~ E@2 F@2 L H@2 ~ M@2 N@2 O@2 P Q@5 R ~@2 S@18 T@2 S U V W
X Y V W Z AA AB AC@4 AD AE AD AF@3 AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2
AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI ~ AJ AK AJ AK AJ AL AH AM AH AN AI AO AI AP AQ AR AQ AR ~@8 AS AG@2
AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AG@2 AH AI AT
>`.pickRestart({
A: "c2 d#2 g1 d#2", B: "f2 g#2 c2 g#2", C: "c2@2 d#2@2 g1 ~ d#2@2", D: "f2 a2 c2 a2", E: "e2/2",
F: "[g2@11 ~ g2@4]/2", G: "a2", H: "d2/2", I: "f1/2", J: "[f2@11 ~ f2@4]/2", K: "c2/2", L: "d2",
M: "[f2@5 c2@2 d2]/2", N: "[d2@10 e2@3 c2@3]/2", O: "a1/2", P: "c2", Q: "d2 f2 d2 f2", R: "d2 f2",
S: "d2!2 ~@2 d2!2 ~@2", T: "e2!2 ~@2 e2!2 ~@2", U: "d2!2 ~@2 d2 f2 e2 g#2",
V: "d2@2 ~ a#2 a2@2 f2@2 d2@2 ~ a#2 a2@2 f2@2", W: "d2@2 ~ a2 g2@2 ~@2 d2@2 ~ a2 g2@2 ~@2",
X: "d2@2 ~ a#2 a2@2 g2@2 d2@2 ~ a#2 a2@2 g2@2", Y: "d2@2 ~ a2 g2@2 ~ g2 d2@2 ~ f2 e2@2 ~@2",
Z: "d2@2 ~ g2 f2@2 d2@2 d2@2 ~ g2 f2@2 d2@2", AA: "d2@2 ~ f2 e2@2 ~ f2 g2@2 ~ a2 a#2@2 a2@2", AB: "d2!2", AC: "c2!2",
AD: "c2 g1", AE: "f1 c2", AF: "g1", AG: "e2!8", AH: "g2!8", AI: "a2!8", AJ: "d2!8", AK: "e2!4 c2!4", AL: "e2!4 f2!4",
AM: "a2!4 f2!4", AN: "g2!4 c3!4", AO: "b2!4 g2!4", AP: "b2!4 c3!4", AQ: "g2@3 g2@3 g2@2", AR: "a2 f2", AS: "~@5 d2!3",
AT: "g2",
})).s("gm_acoustic_bass").gain(0.3)
stack(flute, trumpet, trumpet_2, piano, cello, bass)
More by
Not in the database
That song isn't here.
Nothing in the database matches this link. It may have been renamed, or the address was mistyped. The closest songs to :
Real transcriptions · Editable patterns · Instrumental
Type a song.
Get Strudel code.
Chords, structure, melody, bass and drums compiled from open transcriptions into Strudel live-coding patterns. Play it here, scrub through the bars, then open it in strudel.cc and start hacking.
Smells Like Teen SpiritNirvana
The JokerSteve Miller Band · 1973
Love Me DoThe Beatles · 1964
I Don't MindJames Brown · 1961
- Real transcriptionsMcGill chord charts, Lakh MIDI and quality-filtered PDMX scores. The library includes alternate transcriptions of some songs.
- One bar, one cycleEvery layer follows the same bar timeline, keeping the code, playback and song structure aligned.
- Instrumental by designDetected vocal parts are removed. Guitar riffs, harmonica and other instrumental leads stay.