String Quartet Op. 9 No. 1-I. Agitato-Andante Maestoso-Allegro con forza
KeyA majorTempo195 bpm
0:00/0:00
// String Quartet Op. 9 No. 1-I. Agitato-Andante Maestoso-Allegro con forza — Mahmoud Said
// 195 bpm, 6/8, key A major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (4/4 at bar 1, 12/8 at bar 131, 6/8 at bar 195, 4/4 at bar 304, ...) are rendered on a constant 6/8 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/1389396; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 352 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(195/3)
// 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 · violin · "Violin I"
const violin = note(`<
~@20 A@2 B@2 C D@2 E@2 F G@2 H@2 I J@3 K L@5 M@4 N@5 O@5 P@5 Q@2 R@3 S T@3 U@3 V W@3 X@2 Y@5 Z@6 AA@2 AB AC AD@3 AE@2
AF AG@3 AH@2 AI AJ@2 AK@2 AL AM@2 AN@3 AO@4 ~@37 AP AQ AR AS AT AU AR AS AT AU ~@6 AV AW AX AY AZ BA AX AY AZ BB BC BD
AZ BE BC BF BC BG@3 BH BI@2 ~@4 BJ BK ~@15 BL BM@2 BN BM BN BM BN BO BP@8 BQ@4 BP@2 BQ@2 AX AY AZ BA AX AY AZ BB BC BD
AZ BE BC BD BH BR ~@7 BS BT BU BV BS BT BU BV ~@4 BW BX BY BZ CA CB BY BZ CC CD CE CF CG CD CE CH CI CJ CK CL CM CN CO
CL CP CQ@4 CR@4 CS@3 CT@2 CU@5 CV@5 CW@7 ~ CX CY@2 CZ DA@2 DB DC@2 DD@4 DE@2 DF DG
>`.pickRestart({
A: "[~@12 f#5@2 ~ f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2]/2",
B: "[~@6 f#5@2 ~ f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~@6]/2",
C: "c#5@2 ~ c#5@2 c#5@2 d5@2 d5@2 d5@2 d5@2 ~",
D: "[d5@2 d5@2 ~@6 d5@2 ~ d5@2 d5@2 f5@2 f5@2 f5@2 f5@2 ~ f5@2 f5@2 ~@2]/2",
E: "[~@4 f#5@2 ~ f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~@6 f#5@2]/2",
F: "~ f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 f#5@2 ~ f#5@2",
G: "[f#5@2 ~@6 c#5@2 ~ c#5@2 c#5@2 d5@2 d5@2 d5@2 d5@2 ~ d5@2 d5@2 ~@4]/2",
H: "[~@2 d5@2 ~ d5@2 d5@2 f5@2 f5@2 f5@2 f5@2 ~ f5@2 f5@2 ~@10]/2", I: "~@3 a4@13", J: "[c#5@13 f5@13 f#5@13 a5@9]/3",
K: "~ c#6@3 d6@12", L: "[~ c#6@7 b5@7 a5@13 g#5@10 a5@3 b5@13 a5@7 g#5@6 f#5@13]/5",
M: "[a5@10 c#6@3 ~ d6@13 c#6@6 b5@7 a5@13 g#5@10 a5]/4", N: "[~@2 e6@26 ~ f#5 [a5,f#6]@25 e6@25]/5",
O: "[~ d6@26 ~ c#6@13 b5@13 f#5@13 a5@10 c#6@3]/5", P: "[d6@13 c#6@7 b5@7 a5@13 g#5@10 a5@3 b5@13 g#5@7 g#5@7]/5",
Q: "[~@6 f#5@2 f#5@2 f#5@2 f#5@7 f#5@13]/2",
R: "[f#5@2 f#5@2 f#5@2 ~ f#5@6 f#5@13 e5@2 ~ e5@2 e5@2 g#5@4 g#5@4 ~ g#5@4 ~@2]/3",
S: "~@5 g#4@2 b4@2 e5@2 g#5@2 ~ e5@2",
T: "[c#5@2 g#4@2 e4@2 c#4@2 ~@7 f#5@2 f#5@2 f#5@2 ~ f#5@6 f#5@13 f#5@2 ~ f#5@2 f#5@2]/3",
U: "[f#5@7 f#5@13 e5@2 e5@2 e5@2 g#5@4 ~ g#5@4 g#5@4 ~@7 g#4@2]/3", V: "b4@2 e5@2 ~ b4@2 e5@2 g#5@2 e5@2 g#5@2 ~",
W: "[b5@2 c#6@6 c#6@13 ~ c#6@6 b5@7 b5@13]/3", X: "[b5@6 a5@7 g#5@13 g#5@6]/2",
Y: "[~ g#5@6 f#5@13 ~ f#5@6 f#5@13 a5@10 c#6@3 d6@13 ~ c#6@6 b5@7]/5",
Z: "[a5@13 g#5@10 a5@3 b5@13 a5@7 g#5@6 f#5@26 ~ a4@2 c#5@2 f#5@2 f#4@2 ~ a4@2 c#5@2 a4@2 c#5@2]/6",
AA: "[f#4@2 ~ a4@2 c#5@2 f#5@2 c5@13 d#5@10]/2", AB: "g5@3 g#5@13", AC: "~ g5@6 f5@7 c#5@2",
AD: "[f#5@2 c#5@2 a4@2 ~ c#5@2 a4@2 c#5@2 f#5@2 c#5@2 a4@2 ~ c#5@2 a4@2 c#5@2 f#5@2 c#5@2 ~ a4@2 c#5@2 a4@2 c#5@2 f#5@2 ~ c#5@2 a4@2 c#5@2]/3",
AE: "[a4@2 f4@10 ~ a#4@10 d5@9]/2", AF: "~ f5@5 f#5 d5",
AG: "[d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2 f#5@2 d5@2 d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2]/3",
AH: "[f#5@2 d5@2 d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2 f#5@2 d5@2 d5@2]/2",
AI: "f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~",
AJ: "[d5@2 f#5@2 f#5@2 d5@2 d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2 f#5@2]/2",
AK: "[d5@2 d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2 f#5@2 d5@2 d5@2 f#5@2]/2",
AL: "~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2",
AM: "[f#5@2 f#5@2 d5@2 d5@2 f#5@2 ~ f#5@2 d5@2 d5@2 f#5@2 f#5@2 d5@2 ~ d5@2 f#5@2 f#4@2 g#4@2]/2",
AN: "[a4@2 b4@2 ~ c#5@2 d5@2 e5@2 f#5@2 b4@2 c#5@2 ~ d5@2 e5@2 f#5@9 f#4@2 g4@2 a4@2 b4@2 c#5@2 d5@2 ~ e5@2 f#5@2]/3",
AO: "[a4@2 b4@2 c#5@2 d5@2 ~ e5@8 f#5@35 ~@12]/4", AP: "~@8 d#5@3 c5@2 g4@3", AQ: "g5@3 d#5@2 c5@3 c6@3 g5@2 d#5@3",
AR: "b5@5 c6@11", AS: "g#5@5 g5@11", AT: "f5@5 g5@11", AU: "d#5@5 d5@11", AV: "c5@5 d5@5 ~ c5@5",
AW: "d5@5 c5@5 ~ d5@5", AX: "c5@8 d#5@5 g5@3", AY: "g#5@8 g5@5 f5@3", AZ: "d#5@3 f5@2 d#5@3 c5@3 d5@2 d#5@3",
BA: "f5@8 d#5@3 d5@2 a#4@3", BB: "b5@8 g5@3 g#5@2 b5@3", BC: "c6@5 c6@3 b5@3 g5@2 d#5@3",
BD: "g#5@3 ~@2 g#5@3 ~@3 g#5@3 ~@2", BE: "f5@8 d#5@3 g5@2 a#5@3", BF: "g#5@5 g#5@5 ~ b5@5", BG: "g#5@5 g#5@5 ~ g#5@5",
BH: "g#5@3 g5@2 f5@3 d5@3 f5@2 d5@3", BI: "c5/2", BJ: "c5@5 d#5@3 f5@3 d#5@2 d5@3",
BK: "c6@5 c6@5 ~@2 g5@2 a#5@2, ~@11 d#5@2 ~@3", BL: "~@13 d#5@3", BM: "c5@3 ~@5 c5@3 c5@2 c5@3",
BN: "c5@3 c5@2 c5@3 c5@3 c5@2 c5@3", BO: "a#4@8 b4 [c5,c#5] [d5,d#5] e5 [f5,f#5] [g5,g#5] a5 [a#5,b5]",
BP: "c6@3 c6@2 c6@3 c6@3 c6@2 c6@3", BQ: "d6@3 d6@2 d6@3 d6@3 d6@2 d6@3", BR: "c5@3 ~@13",
BS: "c4 d#4 ~ g4 c5 d#5 ~ g5 c6 g5 ~ d#5 c5 g4 ~ d#4", BT: "c4 d#4 ~ g4 c5 d#5 ~ g5 c6 g5 ~ d#5 c5 g4 ~ f4",
BU: "d#4 g4 ~ a#4 d#5 g5 ~ a#5 d#6 a#5 ~ g5 d#5 a#4 ~ g4", BV: "d4 f4 ~ g#4 d5 f5 ~ g#5 d6 g#5 ~ f5 d5 g#4 ~ f4",
BW: "~@5 f5@3 g5@3 g#5@2 a#5@3", BX: "c6@11 a#5@2 g5@3", BY: "g#5@11 g5@2 f5@3",
BZ: "d#5@3 f5@2 g5@3 g#5@3 g5@2 f5@3", CA: "d5@8 d#5@3 g5@2 g#5@3", CB: "c5@3 d5@2 d#5@3 f5@3 g5@2 a#5@3",
CC: "d#5@8 d5@3 g5@2 b5@3", CD: "c6@3 c6@2 c6@3 a#5@3 a#5@2 a#5@3", CE: "g#5@3 g#5@2 g#5@3 g5@3 g5@2 g5@3",
CF: "d#5@3 d#5@2 d#5@3 g5@3 g5@2 g5@3", CG: "d5@3 d5@2 d5@3 f5@3 f5@2 f5@3",
CH: "a#5@3 a#5@2 a#5@3 g#5@3 g#5@2 g#5@3", CI: "b5@3 b5@2 b5@3 b5@3 g#5@2 g5@3", CJ: "f#6@11 e6@2 c#6@3",
CK: "d6@11 c#6@2 b5@3", CL: "a5@3 b5@2 c#6@3 d6@3 c#6@2 b5@3", CM: "g#5@8 a5@3 c#6@2 d6@3",
CN: "f#5@3 g#5@2 a5@3 b5@3 c#6@2 e6@3", CO: "d6@8 d6@3 c#6@2 b5@3", CP: "g#5!2", CQ: "[f#5@13 f#5@3]/4",
CR: "[~ a5@10 c#6@3 d6@13 c#6@7 b5@7 a5@13 g#5@10]/4", CS: "[a5@3 b5@26 c#5@13 ~@6]/3", CT: "[~@8 a4@13 ~@11]/2",
CU: "[~@2 e5@13 e5@10 e5@3 e5@13 f5@13 ~ c#5@6 c#5@13 c#5@6]/5",
CV: "[~ b4@7 b4@13 b4@6 a4@7 a4@13 a4@7 g#4@6 g#4@13 g#4@7]/5",
CW: "[a4@13 a4@10 a4@3 d4@13 d4@7 d4@7 e4@13 e4@10 e4@3 e4@13 f4@13 ~@7]/7", CX: "~@6 f#4 g#4",
CY: "[~ a4@2 c#5@2 d5@2 ~ e5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~]/2",
CZ: "f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2",
DA: "[~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~]/2",
DB: "f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~ f#5@2 f#5@2", DC: "[~@15 f#4@7 a4@5 c#5@2 d5@2 ~]/2",
DD: "[~@11 f#4@7 ~ a4@4 c#5@2 ~ f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~ f#5@2 f#5@2 ~ f#5@2 f#5@2 f#5@2 ~@8]/4",
DE: "[~@5 e5@14 f5@13]/2", DF: "~ f#5@14 ~", DG: "f#5@7 ~@9",
})).s("gm_violin").gain(0.4)
// other · violin · "Violin I" · soft notes
const violin_soft = note(`<
~@128 A@3 ~@23 B C D C D E ~@44 F G H I F G J K F G H I F G J L ~@55 M N O P Q ~@72
>`.pickRestart({
A: "[~@13 f#4@35]/3", B: "c6@3 c6@2 c6@3 c6@3 c6@2 c6@3", C: "~ c5", D: "c5@3 d#5@2 a#5@3 c6@3 g5@2 d#5@3",
E: "c5@3 g4@2 d#4@3 ~@8", F: "c6@3 c6@2 c6@3 a#5@3 a#5@2 a#5@3", G: "g#5@3 g#5@2 g#5@3 g5@3 g5@2 g5@3",
H: "d#5@3 d#5@2 d#5@3 g5@3 g5@2 g5@3", I: "d5@3 d5@2 d5@3 f5@3 f5@2 f5@3", J: "a#5@3 a#5@2 a#5@3 g#5@3 g#5@2 g#5@3",
K: "b5@3 b5@2 b5@3 a#5@3 a#5@2 a#5@3", L: "b5@3 b5@2 b5@3 a#5@3 f5@3 ~@2", M: "c5@3 c5@2 c5@3 c5@3 c5@2 c5@3",
N: "d5@3 d5@2 d5@3 d5@3 d5@2 d5@3", O: "d#5@3 d#5@2 d#5@3 d#5@3 d#5@2 d#5@3", P: "f5@3 f5@2 f5@3 f5@3 f5@2 f5@3",
Q: "f5@3 f5@2 ~@11",
})).s("gm_violin").gain(0.2)
// other · pizzicato strings
const pizzicato_strings = note("<~@122 A@2 B@3 ~@77 C D E F G H I J K D E F G H I L ~@100 M@2 N@2 O ~@27>".pickRestart({
A: "[~@5 [a3,c#5]@17 ~@10]/2", B: "[~@8 [a3,c#5]@35 ~@5]/3", C: "~ a#5", D: "g#5 g5", E: "d#5 g5", F: "d5 f5",
G: "c5 d5", H: "d#5 f5", I: "g5 f5", J: "g#5@8 g5@3 g#5@2 a#5@3", K: "c6 a#5", L: "g#5@3 ~@13",
M: "[~@13 f#2@13 ~@6]/2", N: "[~@8 e2@13 ~@11]/2", O: "~@2 d2@13 ~",
})).s("gm_pizzicato_strings").gain(0.2)
// other · viola
const viola = note(`<
~@7 A@2 B@2 C@2 D E F@2 G@5 B@2 C@2 D E F@2 H@4 I J@2 K@7 L M@2 N@4 O@7 P@3 Q@2 R@2 S@7 T@7 U@2 V@5 W@2 X Y Z@4 AA@8
AB AC@2 AD@2 AE AF AG AH@2 AI AJ AK AL@2 AM AN AO@3 ~@37 AP AQ AR AS AT AU AR AS AT AU ~@2 AV AW AV AW AX@2 AY AZ BA
BB AY AZ BA BB BC BD BA BB BC BE BF BE@3 BG ~@5 BH BI BJ ~@8 BK BL BM BN BO BL BM BP BQ@2 BR BQ BR BQ BR BS BT@8 BU@4
BV BW BX BY BZ CA CB CC BZ CA CB CC BC BD BA BB BC CD BG CE ~@7 BK BL BM BN BO BL BM CF ~@4 CG CH CI BA CJ CK CL CM CN
BK BL BM BN BO BL BM CF CO@2 CP CQ CO@2 CR@2 ~ CS@3 CT@2 CU@2 CV CW@2 CX@2 CY@5 CZ@5 DA@7 ~@4 DB DC@3 DD@3 DE@3 DF@2
DG DH
>`.pickRestart({
A: "[~@12 f#3@6 ~ a3@6 c#4@6 ~]/2", B: "[f#4@6 c#4@6 ~ f#3@6 c#4@6 ~ d4@6]/2", C: "[b3@6 ~ d4@6 b3@6 ~ c#4@6 b3@6]/2",
D: "~ a3@6 g#3@6 ~@3", E: "~@4 f#3@6 ~ a3@5", F: "[~ c#4@6 ~ f#4@6 c#4@6 ~ f#3@6 c#4@5]/2",
G: "[~@2 d4@6 b3@6 ~ d4@6 b3@6 ~ c#4@6 b3@6 ~ a3@6 g#3@6 ~@7 f#3@6 ~ a3@6 c#4@6 ~]/5",
H: "[~@2 d4@6 b3@6 ~ d4@6 b3@6 ~ c#4@6 b3@6 ~ a3@6 g#3@6 ~@11]/4", I: "~@3 c#4@13", J: "[a3@13 f3@13 ~@6]/2",
K: "[a3@7 c#4@7 d4@7 ~@6 f#3@6 a3@7 d4@7 c#4@13 c#4@3 c#4@3 c#4@3 ~ c#4@3 e4@20 d4@7 ~@6 a3@6]/7",
L: "c#4@7 d4@7 ~@2", M: "[~@4 f#3@7 a3@6 d4@7 c#4@6 c#4@2]/2",
N: "[~ c#4@2 c#4@2 b3@4 c#4@4 ~ d4@4 e4@7 d4@6 c#4@7 e4@7 f#4@6 c#4@13]/4",
O: "[c#4@3 ~ c#4@3 b3@6 b3@13 ~ b3@6 a3@7 g#3@6 g#3@7 a3@7 f#3@6 f#3@13 g#3@7 a3@6 a3@13 ~ g#3@2 a3@2 b3@2]/7",
P: "[f#3@2 a3@2 ~ c#4@2 d4@6 a3@7 a3@7 c#4@13 c#4@3 c#4@3 c#4@2]/3", Q: "[~@2 c#4@3 e4@20 g#3@7]/2",
R: "[~@6 a3@2 a3@2 a3@2 a3@7 a3@13]/2",
S: "[a3@2 a3@2 a3@2 ~ a3@6 a3@13 a3@2 ~ a3@2 a3@2 c#4@4 c#4@4 ~ c#4@4 e3@13 g#3@13 ~@7 a3@2 a3@2 a3@2 ~ a3@6 a3@13 a3@2 ~ a3@2 a3@2]/7",
T: "[a3@7 a3@13 a3@2 a3@2 a3@2 c#4@4 ~ c#4@4 c#4@4 e4@26 ~ a4@6 a4@13 ~ a4@6 g#4@7 g#4@13]/7",
U: "[g#4@6 f#4@7 e4@13 e4@6]/2", V: "[~ e4@6 d4@13 ~ d4@6 a3@13 a3@10 a3@3 f#3@13 ~ a3@6 a3@7]/5",
W: "[a3@6 a3@2 ~ a3@2 a3@2 a3@7 a3@2 a3@2 a3@2 b3@2 d4@2 b3@2]/2", X: "~ g#3@2 b3@2 d4@2 g#3@2 b3@2 ~ d4@2 b3@2",
Y: "d4 g#4 f#4@6", Z: "[~@2 a4@9 c#5@3 ~ d5@13 c#5@7 b4@6 c5@13 d#4@10]/4",
AA: "[~@3 g3@26 ~ f#3@13 a3@10 c#4@3 d4@13 c#4@7 b3@6 a#3@2 c4@2 a#3@2 ~ a#3@2 c4@2 d4@2 ~ f3@2 a#3@2 ~ a#3@2 d4@21 c#4@3 ~, ~@88 a3@2 ~@5 a#3@2 ~@3 f3@2 ~@26]/8",
AB: "~@2 c#4@2 ~ c#4@3 ~@3 c#4@2 c#4@3",
AC: "[~@4 c#4@2 c#4@2 c#4@2 c#4@2 c#4@2 ~ c#4@3 ~@3 c#4@2 c#4@3 ~@4 c#4@2]/2",
AD: "[c#4@3 ~@3 c#4@2 ~ c#4@2 c#4@2 c#4@2 c#4@2 c#4@3 ~@4 c#4@2 c#4@3 ~@3]/2",
AE: "c#4@2 ~ c#4@3 ~@3 c#4@2 c#4@2 c#4@2 ~", AF: "c#4@2 c#4@2 c#4@3 ~@3 c#4@2 ~ c#4@3",
AG: "~@3 c#4@2 c#4@3 ~@4 c#4@2 c#4@2", AH: "[c#4@2 c#4@2 c#4@2 ~ c#4@3 ~@3 c#4@2 c#4@3 ~@4 c#4@2 c#4@3 ~@3 c#4@2]/2",
AI: "~ c#4@2 c#4@2 c#4@2 c#4@2 c#4@3 ~@4", AJ: "c#4@2 c#4@3 ~@3 c#4@2 ~ c#4@3 ~@2",
AK: "~ c#4@2 c#4@2 c#4@2 ~ c#4@2 c#4@2 ~@4", AL: "[~@5 a3@4 c#4@4 f#4@9 e4@4 c#4@4 ~@2]/2", AM: "~@7 g4@9",
AN: "f#4@4 e4@4 ~ c#4@4 g#3@3", AO: "[~ a3@35 ~@12]/3", AP: "~@8 d#3@3 f3@2 g3@3", AQ: "g#3@3 f3@2 d#3@3 g#3@5 ~@3",
AR: "d#3@5 d#3@11", AS: "d3@5 d3@11", AT: "f3@5 f3@11", AU: "c4@5 c4@11", AV: "g3@5 g3@3 ~@5 g3@3",
AW: "g3@5 g3@3 g3@3 g3@2 g3@3", AX: "g3@5 g3@5 ~ g3@5", AY: "d#3@3 g3@2 a#3@3 c4@8", AZ: "c4@3 g#3@2 f3@3 g3@8",
BA: "d#3@3 g3@2 a#3@3 c4@3 a#3@2 g3@3", BB: "d3@3 ~@2 d3@3 ~@3 d#3@3 ~@2", BC: "d#3@3 ~@2 d#3@3 ~@3 d#3@3 ~@2",
BD: "f3@3 f3@2 f3@3 g#3@3 f3@2 d3@3", BE: "d3@5 f3@5 ~ g#3@5", BF: "d#3@5 d#3@5 ~ d#3@5",
BG: "g#3@3 g3@2 f3@3 d3@3 f3@2 d3@3", BH: "g3@5 a#3@3 c4@3 a#3@2 g#3@3", BI: "g3@3 g#3@2 a#3@3 c4@3 a#3@2 g#3@3",
BJ: "c4@5 c4@5 ~ c4@5", BK: "c4@11 a#3@2 g3@3", BL: "g#3@11 g3@2 f3@3", BM: "d#3@3 f3@2 g3@3 g#3@3 g3@2 f3@3",
BN: "d3@8 d#3@3 g3@2 g#3@3", BO: "c3@3 d3@2 d#3@3 f3@3 g3@2 a#3@3", BP: "b3@8 g3@3 g#3@2 a#3@3",
BQ: "c4@3 ~@5 c4@3 c4@2 c4@3", BR: "c4@3 c4@2 c4@3 c4@3 c4@2 c4@3", BS: "a#3@4 b3 c4 c#4 d4",
BT: "d#4@3 d#4@2 d#4@3 d#4@3 d#4@2 d#4@3", BU: "f4@3 f4@2 f4@3 f4@3 f4@2 f4@3", BV: "f4@3 f4@2 f4@3 f4@3 g4@2 f4@3",
BW: "c4@3 d4@2 d#4@3 f4@3 g4@2 f4@3", BX: "g4@3 g4@2 g4@3 g4@3 g#4@2 g4@3", BY: "d4@3 d#4@2 f4@3 g4@3 g#4@2 g4@3",
BZ: "d#4@3 g3@2 c4@3 d#4@3 c4@2 g3@3", CA: "f3@3 g#3@2 c4@3 f4@3 c4@2 g#3@3", CB: "d#3@3 g3@2 a#3@3 d#4@3 a#3@2 g3@3",
CC: "g#3@3 d4@2 f4@3 g#4@3 f4@2 d4@3", CD: "d3@3 ~@2 f3@3 ~@3 g#3@3 ~@2", CE: "c3@3 ~@13", CF: "d#3 d3",
CG: "~@5 g#3@3 g#3@3 f3@2 d3@3", CH: "c3@3 c3@2 c3@3 d#3@3 g3@2 c4@3", CI: "d#3@3 g3@2 c4@3 c3@3 d#3@2 g3@3",
CJ: "d3@3 f3@2 g#3@3 b3@3 g#3@2 b3@3", CK: "c4 d4", CL: "d#4 f4", CM: "g4 f4", CN: "g4 g#4",
CO: "e3@3 f#3@2 g#3@3 a3@8", CP: "g#3@3 a3@2 b3@3 c#4@8", CQ: "f#3@3 g#3@2 a3@3 b3@8",
CR: "g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 g#3@3", CS: "[~@5 a3@13 a3@6]/3", CT: "[~@14 f#3@13 ~@5]/2",
CU: "[~@9 c#4@13 c#4@10]/2", CV: "c#4@3 c#4@13", CW: "[g#3@13 a3@13 ~@6]/2", CX: "[~@8 f#3@13 ~@11]/2",
CY: "[~@2 c#4@13 c#4@10 c#4@3 c#4@13 g#4@13 ~ f#4@6 f#4@13 f#4@6]/5",
CZ: "[~ e4@7 e4@13 e4@6 d4@7 d4@13 d4@7 c#4@6 c#4@13 c#4@7]/5",
DA: "[c#4@13 c#4@10 c#4@3 a3@13 a3@7 a3@7 c#4@13 c#4@10 c#4@3 c#4@13 c#4@13 ~@7]/7", DB: "~@7 f#3@5 f#3@4",
DC: "[~ f#3@4 f#3@2 ~ f#3@2 f#3@2 f#3@2 ~ f#3@2 f#3@2 ~ f#3@4 f#3@5 f#3@5 f#3@2 f#3@2 ~ f#3@2 f#3@2 ~ f#3@2 f#3@2]/3",
DD: "[f#3@5 f#3@5 f#3@5 f#3@2 f#3@2 f#3@2 ~ f#3@2 f#3@2 ~ f#3@2 f#3@5 f#3@5 f#3@4 f#3@2 ~ f#3@2]/3",
DE: "[f#3@2 ~ f#3@2 f#3@2 f#3@2 ~ f#3@2 f#3@2 ~ f#3@2 f#3@2 f#3@2 ~ f#3@2 f#3@2 f#3@2 ~ f#3@2 f#3@2 ~ f#3@2 f#3@2 f#3@2 ~@8]/3",
DF: "[~@5 e3@14 f3@13]/2", DG: "~ f#3@14 ~", DH: "f#3@7 ~@9",
})).s("gm_viola").gain(0.4)
// other · viola · soft notes
const viola_soft = note("<~@128 A@3 ~@8 B C B D B C E F B C B D B C E F B C B G H ~@115 I J K L M ~@72>".pickRestart({
A: "[~@13 a3@35]/3", B: "c3@3 d3@2 c3@3 d#3@3 f3@2 g3@3", C: "g#3@3 f3@2 d#3@3 g#3@5 ~@3",
D: "g#3@3 f3@2 d#3@3 g3@3 f3@2 d3@3", E: "d3@3 c3@2 c3@3 c3@3 c3@2 c3@3", F: "d#3@3 g3@2 g#3@3 b3@3 g#3@2 g3@3",
G: "g#3@3 f3@2 d#3@3 g#3@3 f3@2 d3@3", H: "c3@3 d3@2 c3@3 ~@8", I: "d#3@3 d#3@2 d#3@3 d#3@3 d#3@2 d#3@3",
J: "f3@3 f3@2 f3@3 f3@3 f3@2 f3@3", K: "g3@3 g3@2 g3@3 g3@3 g3@2 g3@3", L: "g#3@3 g#3@2 g#3@3 g#3@3 g#3@2 g#3@3",
M: "g#3@3 g#3@2 ~@11",
})).s("gm_viola").gain(0.2)
// other · cello
const cello = note(`<
~@7 A@3 B@7 C@6 B@7 D@4 E F@3 G H@4 I J@7 K@6 L M@4 N@5 O@4 P Q@7 R@2 S T@4 U@2 V W@2 X@2 Y@2 Z@2 AA@5 ~@4 AB@2 AC@4
AD@7 AE@8 ~@32 AF AG AH AI AJ AK AH AI AJ AK AL AM AL AM AL AM AN@2 AO AP AQ AR AO AP AQ AR AS AT AQ AR AS AU AN AU@3
AV AW@3 AX AW@3 AN ~@16 AY@2 AZ AY AZ AY AZ BA ~@4 BB@2 BC BD BE@2 BF BG BH@2 BI BJ BK BL BM BN BK BL BM BN AS AT AQ
AR AS BO BP BQ BR BS BT BU BR BS BV BW@2 BG BX BW@2 BF BY ~@4 BZ CA@2 CB CC CA@2 CD BA CE@2 CF CG CE@2 CH CI CJ@2 CK
CL CJ@2 CM BH ~ CN@3 CO@2 CP@2 CQ CR@2 CS@2 CT@4 ~@5 CU CV@7 ~@4 CW CX@3 CY@3 CZ@3 DA@2 DB DC
>`.pickRestart({
A: "[~@2 f#2@13 f#2]/3", B: "[~@3 f#2@3 ~@4 d2@26 g2@26 f#2@39 f#2@3 ~@3 f#2@3 ~@2]/7",
C: "[~@2 d2@26 g2@26 f#2@39 f#2@3]/6", D: "[~ d2@13 g2@13 ~@5]/4", E: "~@3 f#2@13",
F: "[f#2@13 d3@13 f#2@13 f#2@7 f#2@2]/3", G: "~ f#2@3 d2@12",
H: "[~ d2@7 f#2@3 f#2@3 ~ a2@13 c#3@10 c#3@3 b2@13 g#2@3 g#2@3 ~ g#2@3]/4", I: "g#2@3 f#2@13",
J: "[f#2@7 f#2@3 f#2@3 ~ d2@13 d2@6 f#2@3 ~ f#2@3 a2@13 c#3@10 c#3@3 b2@13 g#2@3 ~ g#2@3 g#2@3 g#2@3 ~ a2@6 a2@13]/7",
K: "[a2@7 e3@6 e3@13 ~ e3@6 d3@7 c#3@13 c#3@7 c#3@6 b2@13 g#2@7 f#2@6 f#2@3 ~]/6", L: "f#2@3 f#2@7 f#2@3 f#2@3",
M: "[d2@7 d2@13 f#2@3 f#2@3 ~ a2@13 c#3@10 c#3@3 b2@11]/4",
N: "[~@2 g#2@3 a2@3 ~ c#3@3 e3@3 f#3@13 a3@10 c#4@3 d4@13 ~ c#4@6 b3@7 a3@12]/5",
O: "[~ g#3@10 a3@3 b3@13 a3@7 g#3@6 f#3@13 ~ a3@10]/4", P: "c#4@3 d4@13",
Q: "[c#4@7 b3@6 a3@13 g#3@10 a3@3 e4@26 ~ f#4@6 f#4@13 ~ f#4@6 e4@7 e4@13]/7", R: "[e4@6 d4@7 d4@13 d4@6]/2",
S: "~ c#4@13 b3@2", T: "[~ f#3@3 ~ d3@3 b2@3 f#2@13 f#2@10 f#2@3 d2@13 ~ d2@6 d2@7]/4",
U: "[a2@6 c#3@2 ~ c#3@2 c#3@2 a2@7 c#3@2 c#3@2 c#3@2 g#2@2 b2@2 g#2@2]/2",
V: "~ e2@2 g#2@2 b2@2 c#3@2 g#2@2 ~ c#3@2 g#2@2",
W: "[c#3@2 e3@2 f#3@2 ~ c#3@2 f#3@2 a3@2 c#4@2 a3@2 ~ c#4@2 f#4@2 a4@2 f#4@2 a4@2 ~ f#4@2 ~]/2",
X: "[~@12 f#2@13 c3@7]/2", Y: "[c3@2 c3@2 c3@2 c3@2 c3@2 ~ c3@2 c3@2 c3@2 c3@2 c3@7 c3@2 c3@2 c3@2]/2",
Z: "[~ g2@2 c3@2 d#3@2 c3@2 d#3@2 ~ g3@2 a3@6 f#2@3 ~ f#2@3 f#2@5]/2",
AA: "[~ f#2@3 ~ f#2@3 f#2@7 f#2@3 f#2@3 f#2@7 f#2@3 f#2@3 f2@5 ~ d2@5 f2@5 a2@5 a#2@21 ~@4]/5",
AB: "[~ f#2@26 f#2@2 ~@3]/2", AC: "[f#2@2 ~@2 d2@17 g2@17 ~ f#2@25]/4",
AD: "[~ f#2@2 ~@2 f#2@2 ~@2 d2@17 ~ g2@17 f#2@35 c#3@33]/7", AE: "[~ f#2@35 f#2@35 d2@17 g2@35 ~@5]/8",
AF: "~@8 f2@3 d#2@2 c2@3", AG: "g#2@3 d#2@2 c2@3 g2@3 d#2@2 c2@3", AH: "c2@5 c2@11", AI: "g2@5 g2@11",
AJ: "g#2@5 g#2@11", AK: "f2@5 f2@11", AL: "c2@5 c2@3 ~@5 c2@3", AM: "c2@5 c2@3 c2@3 c2@2 c2@3",
AN: "c2@5 c2@5 ~ c2@5", AO: "c2@5 c2@3 c2@3 d#2@2 f2@3", AP: "g2@3 ~@2 g2@3 ~@3 f2@3 ~@2",
AQ: "d#2@5 g2@3 a#2@3 g2@2 d#2@3", AR: "d2@5 f2@3 a#2@3 f2@2 d2@3", AS: "c2@3 ~@2 c2@3 ~@3 c2@3 ~@2",
AT: "d2@3 d2@2 d2@3 g#2@3 d#2@2 d2@3", AU: "d2@5 d2@5 ~ d2@5", AV: "g#2@3 g2@2 f2@3 d2@3 f2@2 d2@3",
AW: "c2@5 d#2@3 f2@3 d#2@2 d2@3", AX: "c2@5 d#2@5 ~ f2@5", AY: "c3@3 ~@5 c3@3 c3@2 c3@3",
// … 31 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.