0:00/0:00
// Concerto for Recorder and Flute TWV 52:e1 — GF Telemann
// 120 bpm, 4/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Transcription provider: pdmx. https://musescore.com/score/5982621; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 125 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.
// 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(`<
A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU
AV ~@6 AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO ~@8 BP BQ BR ~ BS BT BU ~@2 BV BW BX BY BZ CA CB CC CD
~@3 CE CF CG CH CI CJ CB CK CD ~ CL CM CN CO CP CQ CR CS CT CU CV CW
>`.pickRestart({
A: "e5@2 b5@2 ~ c6 b5 a5", B: "b5 e5 e6@2 ~ d#5 e5 f#5", C: "g5 f#5 e5 e4 e5@3 f#5", D: "g5 f#5",
E: "e5@2 b5@2 e6@2 d6@2 c#6 b5 c#6 d6 c#6 d6 b5 c#6", F: "d6@2 a5@2 d6@2 c#6@2 b5 a#5 b5 c#6 b5 c#6 a#5 b5",
G: "c#6 b5 c#6 d6 c#6 d6 b5 c#6 a#5@2 f#5@2 b5@4", H: "b5 a#5 b4 f#5", I: "~ g5 f#5 e5 f#5 b4 b5@2",
J: "~ a#5 b5 c#6 d6 c#6 b5@2", K: "~@2 a4 e5", L: "~ f5 e5 d5 e5 a4 a5@2", M: "~ g#5 a5 b5 c6 b5 a5@2",
N: "~@2 a5@2 d6@2 c6@2 b5 a5 b5 c6 b5 c6 a5 b5", O: "c6@2 g5@2 c6@2 b5@2 a5 g5 a5 b5 a5 b5 g5 a5",
P: "b5@3 a5 g5@2 f#5@2", Q: "e5@2 b4@2 e5@2 d5@2 c#5 b4 c#5 d5 c#5 d5 b4 c#5",
R: "d5@2 a4@2 d5@2 c5@2 b4 a4 b4 c5 b4 c5 a4 b4", S: "c5@2 g4@2 c5@2 b4@2 a4 g4 a4 b4 a4 b4 g4 a4",
T: "b4@3 a4 g4@2 f#4@2", U: "e5 d#5 e5 b4 g4 b4 g4 b4 e5 d#5 e5 b4 g4 b4 g4 b4",
V: "e5 f#5 g5 e5 f#5 g5 a5 f#5 g5 f#5 e5 f#5 g5 f#5 g5 a5", W: "b5@2 b4@2 a5@2 b4@2 g5 f#5 g5 e5 f#5@2 b4@2",
X: "g5@2 f#5 e5 f#5@2 e5 d#5 e5@2 f#5@2 g5@2 b4@2", Y: "c5 d5 e5 g4 f#4 a5 d5 c5", Z: "b4 d6 g5 e6 f#5 g5 a4 f#5",
AA: "b5 b4 g5@2 ~ d5 g5 d5", AB: "b4 g4 d5@2 ~ g4 g5@2", AC: "~@2 d5 e5 f#5 g5 e5 f#5 g5 f#5 g5 e5 f#5@4",
AD: "~@2 d5 e5 f#5 g5 e5 f#5 g5 f#5 g5 e5 f#5@2 a5@2", AE: "d6@2 c6 b5 c6@2 b5 a5 g5@4 ~@4",
AF: "~@8 d6 c#6 d6 a5 f#5 a5 f#5 a5", AG: "d6 c#6 d6 a5 f#5 a5 f#5 a5 d5 e5 f#5 d5 e5 f#5 g5 e5",
AH: "f#5 e5 d5 e5 f#5 e5 f#5 g5 a5@2 a4@2 g5@2 a4@2", AI: "f#5 e5 f#5 d5 e5@2 a4@2 a5@2 a4@2 g5@2 a4@2",
AJ: "f#5 e5 f#5 d5 e5@2 a4@2 f#5@2 e5 d5 e5@2 d5 c#5", AK: "d5 f#5 e5 d5 b5 d5 c5 b4", AL: "c5 e5 a5@2 ~ e5 a5 d5",
AM: "c5 a4 e5@2 ~ a4 a5@2", AN: "~@2 e5 f#5 g#5 a5 f#5 g#5 a5 g#5 a5 f#5 g#5@4",
AO: "~@2 e5 f#5 g#5 a5 f#5 g#5 a5 g#5 a5 f#5 g#5@2 b5@2", AP: "e5@2 d5 c5 d5@2 c5 b4 a4@2 e5 f#5 g5 f#5 g5 a5",
AQ: "f#5@2 ~@3 b5 a5 b5", AR: "c6 b5 c6 b5 e5 d5 e5 d5", AS: "c6 b5 c6 b5 a5 g5 a5 g5",
AT: "f#5@2 ~ f#5 g5 f#5 g5 a5", AU: "d5@2 e5 f#5 g5@2 e5@2 g5@4 f#5@4", AV: "g5 ~@3", AW: "~@5 f#5 e5 d#5",
AX: "~ a5 g5 f#5 ~ c6 b5 a5", AY: "d#5 e5 d#5 f#5 d#5 e5 d#5 a5 d#5 e5 d#5 f#5 d#5 e5 d#5 a5",
AZ: "b4 a4 b4 c#5 d#5 c#5 d#5 e5 f#5 e5 f#5 g5 a5 g5 a5 b5", BA: "g5 f#5 g5 e5 b4 a4 b4 g4 e4@2 g#5@2 f#5@2 e5@2",
BB: "~ b5 a5 g#5 ~ d6 c6 b5", BC: "~ b4 b5 b4 ~ b4 b5 b4",
BD: "~ b4 c#5 d#5 e5 d#5 e5 f#5 g#5 f#5 g#5 a5 b5 a5 b5 g#5", BE: "a5@2 ~@3 e5 d5 c#5", BF: "~ g5 f#5 e5 ~ b5 a5 g5",
BG: "c#5 d5 c#5 e5 c#5 d5 c#5 g5 c#5 d5 c#5 e5 c#5 d5 c#5 g5",
BH: "a4 g#4 a4 b4 c#5 b4 c#5 d5 e5 d5 e5 f#5 g5 f#5 g5 a5",
BI: "g5 a4 b4 c#5 d5 c#5 d5 e5 f#5 e5 f#5 g5 a5 g5 a5 f#5", BJ: "g4 f#4 g4 a4 b4 a4 b4 c5 d5 c5 d5 e5 f5 e5 f5 g5",
BK: "e5 g5 c6 d5 e5@2 ~ b4", BL: "c5 g5 c6 d5 e5 c5 g5@2", BM: "g5@2 f5 e5 f5@2 e5 d5 e5@6 c6@2",
BN: "e5 d5 e5 c5 d5 c5 d5 b4 c5@6 a5@2", BO: "c5 b4 a4 ~", BP: "~ b4 g4 b4 d5 b4 d5 b4 g5 d5 b4 d5 g5 d5 g5 d5",
BQ: "b5 g5 d5 g5!2 d5 b4 d5!2 b4 g4 b4!2 c5 a4 b4", BR: "c5 ~@3",
BS: "~ c#5 a4 c#5 e5 c#5 e5 c#5 a5 e5 c#5 e5 a5 e5 a5 e5", BT: "c#6 a5 e5 a5!2 e5 c#5 e5!2 c#5 a4 b4 c#5 d5 b4 c#5",
BU: "d5 ~@3", BV: "~@2 g5 a5 b5@2 b4@2 c5@4 a5@4", BW: "a5@2 f#5 g5 a5@2 c5@2 b4@4 g5@4",
BX: "g5@2 e5 f#5 g5@2 b4@2 a4@4 f#5@4", BY: "f#5@2 d#5 e5 f#5@2 a4@2 g4@4 b5@4",
BZ: "b5 a5 b5 c6 a5 g5 a5 b5 g5 f#5 g5 a5 f#5 e5 f#5 g5",
CA: "e5 d#5 e5 f#5 d#5 c#5 d#5 e5 f#5 e5 f#5 g5 e5 d#5 e5 f#5", CB: "d#5@2 ~ d#5 e5 d#5 e5 f#5",
CC: "b4@2 e5 d#5 e5@2 c#5@2 e5@4 d#5@4", CD: "e5 ~@3", CE: "~@10 e5 f#5 g5 f#5 g5 a5",
CF: "f#5@4 ~@6 d5 e5 f#5 e5 f#5 g5", CG: "e5@4 ~@6 c#5 d#5 e5 d#5 e5 f#5", CH: "d#5@2 ~@3 g5 f#5 g5",
CI: "a5 g5 a5 g5 a4 g4 a4 g4", CJ: "a5 g5 a5 g5 f#5 e5 f#5 e5", CK: "b4@2 e5 d#5 e5@2 c#5@2 e5@4 d#5 [d#5,e5]!3",
CL: "b4@2 e5@2 ~ g5 f#5 e5", CM: "f#5 b4 b5@2 ~ a#5 b5 c#6", CN: "d6@2 f#5@2 b5@2 a5@2 g#5 f#5 g#5 a5 g#5 a5 f#5 g#5",
CO: "a5@2 e5@2 a5@2 g5@2 f#5 e5 f#5 g5 f#5 g5 e5 f#5", CP: "g5@2 d5@2 g5@2 f#5@2 e5 d#5 e5 f#5 e5 f#5 d#5 e5",
CQ: "f#5 e5 f#5 g5 f#5 g5 e5 f#5 d#5@2 b4@2 e5@4", CR: "e5 d#5 d6 c6", CS: "b5@2 c#6 d6", CT: "d6 c#6 c6 b5",
CU: "a5@4 a5 ~ g5 ~", CV: "f#5 ~ f#5 ~ e5 ~ e5 ~", CW: "e5 ~ d#5 ~ e5@2 ~@2",
})).s("gm_flute").gain(0.19).pan(0.1)
// other · violin
const violin = note(`<
A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA ~@4 AB AC AD AE AF AG AH ~@9 AI AJ AK AL AM AN AO AP ~ AQ AR
~@2 AS AT ~@2 AU AV AQ AA ~@4 K L M AW AX AY AZ BA BB BC ~ BD BE BF ~ BG BH BI BJ ~@3 BK BL BM ~ BN BO BP BQ BR BS BT
BU ~@4 A B BV BW BX BY BZ CA CB CC CD CE CF CG
>`.pickRestart({
A: "e4@2 b4@2 ~ c5 b4 a4", B: "b4 e4 e5@2 ~ d#5 e5 f#5", C: "g5 f#5 e5@2 e4@3 f#4", D: "g4 f#4",
E: "e4@2 b4@2 e5@2 d5@2 c#5 b4 c#5 d5 c#5 d5 b4 c#5", F: "d5@2 a4@2 d5@2 c#5@2 b4 a#4 b4 c#5 b4 c#5 a#4 b4",
G: "c#5 b4 c#5 d5 c#5 d5 b4 c#5 a#4@2 f#4@2 d5@4", H: "d5 a#4 b4 f#5", I: "~ g5 f#5 e5 f#5 b4 b5@2",
J: "~ a#5 b5 c#6 d6 c#6 b5@2", K: "~@2 a4 e5", L: "~ f5 e5 d5 e5 a4 a5@2", M: "~ g#5 a5 b5 c6 b5 a5@2",
N: "~@2 a5@2 d6@2 c6@2 b5 a5 b5 c6 b5 c6 a5 b5", O: "c6@2 g5@2 c6@2 b5@2 a5 g5 a5 b5 a5 b5 g5 a5",
P: "b5@3 a5 g5@2 f#5@2", Q: "e5@2 b4@2 e5@2 d5@2 c#5 b4 c#5 d5 c#5 d5 b4 c#5",
R: "d5@2 a4@2 d5@2 c5@2 b4 a4 b4 c5 b4 c5 a4 b4", S: "c5@2 g4@2 c5@2 b4@2 a4 g4 a4 b4 a4 b4 g4 a4",
T: "b4@3 a4 g4@2 f#4@2", U: "e4 ~ b4 ~", V: "b4!3 ~", W: "e5 d#5 e5 d#5", X: "e5 b4 c5 b4 b4@2 ~@2", Y: "a4 ~ a4 ~",
Z: "b4@2 ~ c5 a4 b4 c5 a4", AA: "g4 ~@3", AB: "~@4 a4@2 ~ a4", AC: "a4 ~ a4!2", AD: "a4 ~ f#4 e4", AE: "d4 c4 f#4 e4",
AF: "d4@2 a3 c#4 d4@2 g3 a3", AG: "d4 ~ g#3 ~", AH: "a3 ~@3", AI: "g4@2 d5@2 ~ e5 d5 c5",
AJ: "d5 g4 g5@2 ~ f#5 g5 a5", AK: "b5 a5 g5@2 g4@3 a4", AL: "b4 a4",
AM: "g4@2 d5@2 g5@2 f#5@2 e5 d#5 e5 f#5 e5 f#5 d#5 e5", AN: "f#5@2 c#5@2 f#5@2 e5@2 d#5 c#5 d#5 e5 d#5 e5 c#5 d#5",
AO: "e5@2 b4@2 e5@2 d5@2 c5 b4 c5 d5 c5 d5 b4 c5", AP: "a4 g4 a4 b4 a4 b4 g4 a4 f#4@4 ~@4", AQ: "f#4!8",
AR: "f#4 ~@3", AS: "b4!8", AT: "b4 ~@3", AU: "e4!8", AV: "e4 ~@3", AW: "a4@3 b4 c5@4", AX: "b4@4 a4 e5 a5 g5",
AY: "f#5 e5 f#5 g5 f#5 g5 e5 f#5 g5@2 d5@2 g5@2 f#5@2", AZ: "e5 d5 e5 f#5 e5 f#5 d5 e5 f#5 e5 f#5 g5 f#5 g5 e5 f#5",
BA: "g5 f#5 g5 a5 g5 a5 f#5 g5 a5 g5 a5 b5 a5 b5 g5 a5", BB: "f#5 d5 g5@4 f#5@2", BC: "g5 ~@3", BD: "e5!12 d#5!4",
BE: "d5!4 c#5!4 b4!8", BF: "a4 ~@3", BG: "f#5!12 f5!4", BH: "e5!4 d5!4 c#5!8", BI: "d#5!4 e5!8 d#5!4", BJ: "e5 ~@3",
BK: "~@3 d#4 e4!2 d#4!2", BL: "e4!2 b4!2 d#4!2 e4!2", BM: "b3 ~@3", BN: "~@8 f#5!8", BO: "g#5!4 a5!8 g#5!4",
BP: "g5!4 f#5!4 e5!8", BQ: "f#5!4 g5!8 f#5!4", BR: "g5 d5 ~ e5", BS: "~ f#5 ~ f#5", BT: "~ e5 ~ e5", BU: "~ d#5 ~ e5",
BV: "g5 f#5 e5@2 b4@3 c#5", BW: "d5 c#5", BX: "b4@2 f#5@2 b5@2 a5@2 g#5 f#5 g#5 a5 g#5 a5 f#5 g#5",
BY: "a5@2 e5@2 a5@2 g5@2 f#5 e5 f#5 g5 f#5 g5 e5 f#5", BZ: "g5@2 d5@2 g5@2 f#5@2 e5 d#5 e5 f#5 e5 f#5 d#5 e5",
CA: "f#5 e5 f#5 g5 f#5 g5 e5 f#5 d#5@2 b4@2 e5@4", CB: "e5@4 d#5@4 d5!4 c5!4", CC: "b4!8 c#5!4 d5!4",
CD: "d5!4 c#5!4 c5!4 b4!4", CE: "a4!4 a5!4 a5@2 ~@2 g5@2 ~@2", CF: "f#5 ~ f#5 ~ e5 ~ g4 ~",
CG: "f#4 ~ f#4 ~ e4@2 ~@2",
})).s("gm_violin").gain(0.18).pan(0.2)
// other · violin
const violin_2 = note(`<
~@2 A B C D E F G H I J K D L M N O P Q R S T@2 U V W X ~@4 Y Z AA AB AC AD AE ~@11 AF AG AH AI AJ AK ~ AL AM ~@2 AN
AO ~@2 AP AQ AR AS ~@6 AT AU AV AW AX AY AZ BA ~ BB BC BD ~ BE BF BG BH ~@3 BI BJ BK ~ BL BM BN BO BP BQ BR BS ~@6 BT
BU BV BW BX BY BZ CA CB CC CD CE
>`.pickRestart({
A: "g4@2 b4@2 ~ c5 b4 a4", B: "b4 e4 e5@2 ~ d#5 e5 f#5", C: "g5 f#5 e5@2 ~ e5 a5 g5",
D: "f#5 e5 f#5 g5 f#5 g5 e5 f#5 g5@2 d5@2 g5@2 f#5@2", E: "e5 d5 e5 f#5 e5 f#5 d5 e5 f#5@6 e5@2", F: "d5 c#5 d5 ~",
G: "b4@3 c#5 d5@4", H: "c#5@4 b4 f#5 b5 a5", I: "g#5 f#5 g#5 a5 g#5 a5 f#5 g#5 a5@4 ~@4", J: "a4@3 b4 c5@4",
K: "b4@4 a4 e5 a5 g5", L: "e5 d#5 e5 f#5 e5 f#5 d#5 e5 f#5 e5 f#5 g5 f#5 g5 e5 f#5", M: "d#5 b4 e5@4 d#5@2",
N: "e5@2 ~@3 e4 a4 g4", O: "f#4 e4 f#4 g4 f#4 g4 e4 f#4 g4@2 d4@2 g4@2 f#4@2",
P: "e4 d#4 e4 f#4 e4 f#4 d#4 e4 f#4 e4 f#4 g4 f#4 g4 e4 f#4", Q: "d#4 b3 e4@4 d#4@2", R: "e4 ~ g4 ~", S: "g4 b4 e4 ~",
T: "b4!4", U: "b4@2 a4 f#4 g4@2 ~@2", V: "e4 ~ f#4 ~", W: "g4@2 ~ g4 d4@2 d4@2", X: "d4 ~@3", Y: "~@4 f#4@2 ~ f#4",
Z: "f#4 ~ f#4 a4", AA: "d4 ~ f#4 e4", AB: "d4 a3 f#4 e4", AC: "d4@2 a3 c#4 d4@2 g3 a3", AD: "d4 ~ g#3 ~",
AE: "a3 ~@3", AF: "g4@2 d5@2 ~ e5 d5 c5", AG: "d5 g4 g5@2 ~ f#5 g5 a5", AH: "b5 a5 g5@2 ~ g5 c6 b5",
AI: "a5 g5 a5 b5 a5 b5 g5 a5 b5@2 f#5@2 b5@2 a5@2", AJ: "g#5 f#5 g#5 a5 g#5 a5 f#5 g#5 a5 g#5 a5 b5 a5 b5 g#5 a5",
AK: "f#5 e5 f#5 g5 f#5 g5 e5 f#5 d#5@4 ~@4", AL: "d#4!8", AM: "d#4 ~@3", AN: "g#4!8", AO: "g#4 ~@3", AP: "c#4!8",
AQ: "c#4 ~@3", AR: "a4!8", AS: "a4 ~@3", AT: "~@2 a4 e5", AU: "~ f5 e5 d5 e5 a4 a5 ~", AV: "~ g#5 a5 b5 c6 b5 a5@2",
AW: "~@2 a4@2 d5@2 c5@2 b4 a4 b4 c5 b4 c5 a4 b4", AX: "c5@2 g4@2 c5@2 b4@2 a4 g4 a4 b4 a4 b4 g4 a4",
AY: "b4 a4 b4 c5 b4 c5 a4 b4 c5 b4 c5 d5 c5 d5 b4 c5", AZ: "d5@3 c5 b4@2 a4@2", BA: "g4 ~", BB: "~@8 f#5!8",
BC: "g#5!4 a5!8 g#5!4", BD: "a5 ~@3", BE: "~@8 g#5!8", BF: "a#5!4 b5!8 a#5!4", BG: "a5!4 g5!4 f#5!8", BH: "e5 ~@3",
BI: "~@3 d#4 e4!2 d#4!2", BJ: "e4!2 b4!2 d#4!2 e4!2", BK: "b3 ~@3", BL: "e5!12 d#5!4", BM: "d5!4 c5!4 b4!8",
BN: "c#5!4 d5!8 c#5!4", BO: "c5!4 b4!4 a4!8", BP: "g4 b4 ~ a4", BQ: "~ a4 ~ b4", BR: "~ g4 ~ a4", BS: "~ f#4 ~ g4",
BT: "b4@2 c5@2 ~ g5 f#5 e5", BU: "f#5 b4 b5@2 ~ a#5 b5 c#6", BV: "d6 c#6 b5@2 ~ b4 e5 d5",
BW: "c#5 b4 c#5 d5 c#5 d5 b4 c#5 d5@2 a4@2 d5@2 c5@2", BX: "b4 a4 b4 c5 b4 c5 a4 b4 c5@2 g4@2 c5@2 b4@2",
BY: "a4 g4 a4 b4 a4 b4 g4 a4 b4@6 a4@2", BZ: "g4@4 f#4@4 g#4!4 a4!4", CA: "a4!4 g#4!4 g4!4 f#4!4",
CB: "e4!8 f#4!4 g4!4", CC: "g4!4 f#4!4 d#5@2 ~@2 e5@2 ~@2", CD: "e5 ~ d#5 ~ e5 ~ e4 ~", CE: "e4 ~ d#4 ~ e4@2 ~@2",
})).s("gm_violin").gain(0.19).pan(0.7)
// other · viola
const viola = note(`<
A B C D E F G H I J K L M N O P Q R S T U V W@2 X Y Z AA ~@4 AB AC AD AE AF AG AH ~@9 AI AJ AK AL AM AN AO AP ~ AQ AR
~@2 AS AT ~@2 AU AH AV AA ~@4 AW AX AY AZ BA N BB BC BD BE ~ BF BG AT ~ BH BI BJ BK ~@7 BL BM BN BO BP BQ BR BS ~@4 A
BT BU BV BW BX BY BZ CA CB CC CD CE CF
>`.pickRestart({
A: "e4 d#4", B: "e4@3 c5 f#4@2 b4@2", C: "b4 a4 b4 g4 e4@3 d#4", D: "e4 b3!3", E: "b3@2 b4 g4 e4!3 a4",
F: "a4!3 d4!4 g4", G: "g4!3 c#4 c#4@2 b3 g4", H: "f#4@2 f#4@2 f#4 e4 f#4 d4", I: "b3@3 a#3 b3@2 f#4@2",
J: "f#4@2 f#4@2 f#4!3 b4", K: "b4!3 e4!2 d4 e4 c4", L: "a3@3 g#3 a3@2 e4@2", M: "e4@2 e4@2 e4 a4!3",
N: "a4 d4!4 g4!3", O: "g4 c4!4 f#4!3", P: "f#4@2 e4 c5 b4@2 b4@2", Q: "b4!3 e4!2 a3!3", R: "a3 d4!4 g3!3",
S: "g3 c4!4 f#3!3", T: "f#3 f#4 b3 c4 b3@2 b3@2", U: "b3 ~ e4 ~", V: "e4 d#4 e4 ~", W: "g4 f#4 e4 b3",
X: "e4 g3 a3 b3 e4@2 ~@2", Y: "a3 ~ d4 ~", Z: "g3 b3 e4 c4 d4@2 d3@2", AA: "g3 ~@3", AB: "~@4 d4@2 ~ d3",
AC: "d4 ~ d4 c#4", AD: "d4 ~ f#4 e4", AE: "d4 a3 f#4 e4", AF: "d4@2 a3 c#4 d4@2 g3 a3", AG: "d3 ~ g#3 ~",
AH: "a3 ~@3", AI: "b3 c4 d4 b3 g3 g4@2 f#4", AJ: "b4@3 g3 a3@2 d4@2", AK: "d4 c4 d4 b3 g3@3 f#3", AL: "g3 d4!3",
AM: "d4@2 ~ g4!2 c4!3", AN: "c4 f#4!4 b3!3", AO: "b3 e4!4 a3!3", AP: "c4!3 e4 b3@2 ~@2", AQ: "b3!8", AR: "b3 ~@3",
AS: "e4!8", AT: "e4 ~@3", AU: "a3!8", AV: "d4!8", AW: "~ a4", AX: "g#4@4 a4@3 f4", AY: "e4@2 e4@2 e4 d4 e4 c5",
AZ: "a4@3 g#4 a4@2 e4@2", BA: "e4@2 e4@2 e4@2 ~ a4", BB: "g4!4 d4!4", BC: "d4 g4 e4!4 a4!2",
BD: "a4@2 g4 e4 d4@2 d4@2", BE: "d4 ~@3", BF: "g4!8 c5!4 b4!4", BG: "b4!4 a4!4 f#4!4 e4!4", BH: "a4!8 d5!4 c#5!4",
BI: "c#5!4 b4!4 g4!4 f#4!4", BJ: "f#4!4 e4!4 c5!4 b4!4", BK: "b4 ~@3", BL: "b4!4 g4!4 c5!4 b4!4",
BM: "b4!4 a4!4 f4!4 e4!4", BN: "e4!4 d4!4 b4!4 a4!4", BO: "a4!4 g4!4 e4!4 d4!4", BP: "b3 g3 ~ c#4", BQ: "~ d4 ~ g3",
BR: "~ c4 ~ f#3", BS: "~ b3 ~ e4", BT: "e4@3 c5 f#4@2 e4 d#4", BU: "e4@2 b4 a4 g4 b4@2 a#4", BV: "b4 f#4!3",
BW: "f#4@2 ~ b4!2 e4!3", BX: "e4 a4!4 d4!3", BY: "d4 g4!4 c4!3", BZ: "c4 f#4!3 f#4@2 e4 c4",
CA: "b3@4 b3@4 b3!4 a3!4", CB: "f4!4 e4!8 d4!4", CC: "b3!4 a3!8 g3!4", CD: "e4!4 d4!4 f#4@2 ~@2 e4@2 ~@2",
CE: "c4 ~ b3 ~ b3 ~ c4 ~", CF: "c4 ~ b3 ~ b3@2 ~@2",
})).s("gm_viola").gain(0.22)
// other · cello · "Viola da gamba (7 strings)"
const cello = note(`<
A B C D E F G H I J K L M N O P Q F R S T ~@6 U V W X Y Z ~@5 AA AB AC AD AE AF AG AH AI AJ AK AL AK AM AN AO Q AP AQ
AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL N BM BN BO BP@2 BQ BR BS BT BU BV BW BX AF BY BZ CA ~
CB CC CD CE CF CG CH CI CJ CK AZ@2 CL CM A B CN CO CP CQ CR CS CT CU CV CW CX CY
>`.pickRestart({
A: "e3 f#3", B: "g3@3 a3 b3 a3 g3 f#3", C: "e3 f#3 g3 e3 a3@2 g3 f#3", D: "e3@2 g3 e3 b3@2 b2@2",
E: "e3 e2!2 e3 f#3 f#2!2 f#3", F: "d3 d2!2 d3 g3 g2!2 g3", G: "c#4 c#3!2 c#4 f#3 e3 d3 e3",
H: "f#3 e3 f#3 f#2 b2 c#3 d3 b2", I: "e3@2 d3 c#3 b2@2 d3 b2", J: "f#3@2 f#2@2 b3 b2!2 b3",
K: "e3 e2!2 e3 a2 b2 c3 a2", L: "d3@2 c3 b2 a2@2 c3 a2", M: "e3@2 e2@2 a3 a2!2 a3", N: "d4 d3!2 d4 g3 g2!2 g3",
O: "c4 c3!2 c4 f#3 f#2!2 f#3", P: "b3 a3 g3 a3 b3 a3 b3 b2", Q: "e3 e2!2 e3 a3 a2!2 a3",
R: "c3 c2!2 c3 f#3 f#2!2 f#3", S: "b2 a3 g3 a3 b3@2 b2@2", T: "e3 ~@3", U: "g2@2 ~ g3 g2@2 ~@2", V: "g3 f#3 g3 ~",
W: "b3 a3 g3 d3", X: "b3@2 a3@2 g3@2 d3 f#3", Y: "g3@2 d3 e3 g2@2 ~@2", Z: "a2 c#3 d3 ~", AA: "a2@2 ~ a3 a2@2 ~@2",
AB: "a3 g#3 a3 ~", AC: "c4 b3 a3 e3", AD: "c4@2 b3@2 a3@2 e3 g#3", AE: "a3@2 d3 e3 a2@2 ~@2", AF: "d3 ~ g3 ~",
AG: "c3 ~@3", AH: "c2 ~@3", AI: "d2@2 ~ d3 e3 d3 e3 f#3", AJ: "g3@2 ~ c3 d3@2 d2@2", AK: "g2 a2 b2 g2 c3@2 b2 a2",
AL: "g2@3 e3 d3 c3 b2 a2", AM: "g2 a2 b2 g2 d3@2 d2@2", AN: "g2@2 ~ g3 c4 c3!2 c4", AO: "f#3 f#2!2 f#3 b3 b2!2 b3",
AP: "a3 a2!2 a3 b3@2 ~@2", AQ: "b2 ~ b2 ~", AR: "b2 ~@3", AS: "b3!8", AT: "e3 ~ e3 ~", AU: "e2 ~ e2 ~", AV: "e2 ~@3",
AW: "e3!8", AX: "a2 ~ a3 ~", AY: "a2 ~ a2 ~", AZ: "a2 ~@3", BA: "a3!8", BB: "d3 ~@3", BC: "g3!8",
BD: "c3@2 e3 g3 c3@2 e3 g3", BE: "c3@2 e3 g3 c3 c4 b3 g3", BF: "a3 g3 a3 b3 c4@2 ~ f#3", BG: "g3 g2 g#3 e3 a3@2 ~ d3",
BH: "e3 d3 e3 e2 a3@4", BI: "b3@4 c4@3 d4", BJ: "e4 d4 c4 b3 a3 b3 c4 a3", BK: "d4@2 c4 b3 a3@2 c3 a2",
BL: "e3@2 e2@2 a2@2 ~ a3", BM: "c4 c3!2 c4 d4 d3!2 d4", BN: "g3 e3!2 e4 a3 a2!2 a3", BO: "d3 c3 b2 c3 d3 c3 d3 d2",
BP: "g2@2 ~ g3 g2@2 ~ g3", BQ: "c3@2 c4 b3 a3 f#3 b3 b2", BR: "e3@2 f#3 e3 d3 b2 e3 e2", BS: "a2@2 ~ a3 a2@2 ~ a3",
BT: "a2@2 ~ a3 a2@2 a3@2", BU: "d3@2 d4 c#4 b3 g#3 c#4 c#3", BV: "f#3@2 a3 g3 e3 c#3 f#3 f#2",
BW: "b2@2 c4 b3 a3 f#3 b3 b2", BX: "e3 ~ a3 ~", BY: "c3 ~ f#3 ~", BZ: "a2 d#3 e3 d#3", CA: "e3 b2 ~@2",
CB: "~@3 b3 c#4 b3 c#4 d#4", CC: "e4@2 ~ e3 b3 a3 b3 b2", CD: "e3@2 c4 b3 a3 f#3 b3 b2", CE: "e3@2 f3 e3 d3 b2 e3 e2",
CF: "a2@2 b3 a3 g3 e3 a3 a2", CG: "d3@2 e3 d3 c3 a2 d3 d2", CH: "g2 ~ c#3 ~", CI: "d3 ~ g2 ~", CJ: "c3 ~ f#2 ~",
CK: "b2 ~ e3 ~", CL: "b2@2 ~ b3 c#4 b3 c#4 d#4", CM: "e4@2 ~ e3 g3 f#3 b3 b2", CN: "e3@2 g3 f#3 e3@2 d3 c#3",
CO: "d3@2 d3 b2 f#3@2 f#2@2", CP: "b2@2 ~ g3 e4 e3!2 e4", CQ: "a3 a2!2 a3 d4 d3!2 d4", CR: "g3 g2!2 g3 c4 c3!2 c4",
CS: "f#3 f#2!2 f#3 b3 a3 g3 a3", CT: "b3 a3 b3 b2 e3@2 f3 e3", CU: "d3 b2 e3 e2 a2@2 b3 a3",
CV: "g3 e3 a3 a2 d3@2 e3 d3", CW: "c3 a2 d3 c3 b2 ~ c4 ~", CX: "a3 ~ b3 ~ e3 ~ c3 ~", CY: "a2 ~ b2 ~ e2@2 ~@2",
})).s("gm_cello").gain(0.13)
// chords · harpsichord
const harpsichord = note(`<
A B C D E F G H I J K L M N O P Q R S T U ~@6 V W X Y Z AA ~@5 AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ BK BL BM BN BO BP BQ BR BS BT BU BV BW BX BY BZ CA CB CC CD CE CF
CG ~ CH CI CJ CK CL CM CN CO CP CQ CR CS CT CU A B CV CW CX CY CZ DA DB DC DD DE DF DG
>`.pickRestart({
A: "[e3,g4,b4,e5] [f#3,a4,d#5]", // Em D#dim
B: "[b4,e5]@2 ~ a3 b3 [a3,c5] [g3,e4,b4] [f#3,f#4,a4], e4@2 d#4 ~, g3@3 ~@5, ~ b4 ~@2", // E5 Am Em F#m
C: "[e3,b4] [f#3,e4] g3 [e3,b4] ~ d#5 [g3,b4,e5] [f#3,a4,f#5], g4@3 ~ [a3,c5]@2 ~@2, ~ e5 ~@2", // E5 F#7 E5 Em F#m Am
D: "g5 f#5 g3 e3 [b3,f#4]@2 [b2,f#4,b4,d#5]@2, [e3,g4] e5@2 ~, ~ b4 ~@2", // B5 B Em
E: "e3 e2!2 e3 f#3 f#2!2 f#3, [g4,b4,e5] ~@2 [a4,c#5,e5]", F: "d3 d2!2 d3 g3 g2!2 g3, [a4,d5,f#5] ~@2 [g4,b4,d5]",
G: "c#4 c#3!2 c#4 f#3 [e3,a#4,c#5] [d3,b4,f#5] [e3,c#5,e5], [g4,b4,e5] ~@3", // A#dim Bm C#m Em
H: "f#3 e3 f#3 f#2 b2 c#3 d3 b2, [b4,d5] [f#4,a#4,c#5] b4@2, ~@2 d4 f#4", // Bm F#
I: "b4 a#4 [d3,f#4,b4] [c#3,e4,a#4,c#5] [b2,f#4,b4,d5]@2 d3 b2, [e3,g4] ~@2 [b4,f#5]", // Bm A#dim Bm Em B5
J: "f#5 g5 [b4,f#5] [c#5,e5] b3 b2!2 b3, [f#3,a#4,c#5] f#2 d5 [f#4,b4,d#5]", // B5 C#m F# B
K: "e3 e2!2 e3 a2 b2 c3 a2, [g#4,b4,e5]!2 [a4,c5,e5] [c4,e4,a4]", // E Am
L: "a4 g#4 [c3,e4,a4] [b2,d4,g#4,b4] [a2,e4,a4,c5]@2 c3 a2, [d3,d4,f4] ~@2 [a4,e5]", // Am G#dim Am Dm A5
M: "e5 f#5 [a4,e5] [b4,d5] a3 a2!2 a3, [e3,g#4,b4] e2 c5 [a4,c5,e5]", // A5 Bm E Am
N: "d4 [d3,a4] [d3,d5] [d4,c5] [g3,f#5] [g2,d5] [g2,g5] [g3,d5,f#5], [d5,f#5] f#5 b4@2", // D5 D D7 Gmaj7 G5 G Gmaj7 D
O: "c4 [c3,g4] [c3,c5] [c4,b4] [f#3,e5] [f#2,c5] [f#2,f#5] [f#3,c5,e5], [c5,e5] e5 a4@2", // C5 C Cmaj7 F#7 F#dim F# F#m7b5 C
P: "b3 [a3,f#4] [g3,b4,e5] [a3,a4,c5] b3 a3 b3 b2, [b4,d#5] ~ [g4,b4] [f#4,d#5]", // D Em Am B G D#m
Q: "g4 f#4 g4 a4 e4 f#4 d4 g4 a3@2 a2@2 a2@2 a3@2, e5 ~ e4 [e4,a4,c#5], e3 e2!2 e3 ~@4", // A
// … 80 more lines
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.