0:00/0:00
// Sweet Sixteen — B.B. King
// 56 bpm, 4/4, key D major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: pitch bends are ignored
// note: duplicate parts dropped: ch 6 "OVERDRIVE" overdriven guitar (copy of ch 1 "JAZZ GTR" electric guitar jazz); ch 8 "JAZZ GTR" electric guitar jazz (copy of ch 1 "JAZZ GTR" electric guitar jazz, 0.208 beats late); ch 9 "JAZZ GTR" electric guitar jazz (copy of ch 1 "JAZZ GTR" electric guitar jazz, 0.427 beats late)
// note: Full arrangement: all 91 bars on a 48-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(56/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 · electric guitar jazz · "JAZZ GTR"
const electric_guitar_jazz = note("<A B C@2 D E F G H@2 I@2 J K L@2 M N O@2 P Q R S T ~@66>".pickRestart({
A: "~@39 a3@2 ~ b3@2 d4@3 ~", B: "e4@2 ~@3 d4@3 d4@23 ~@17",
C: "[~@10 f4@2 g4@2 g4@3 ~ c5@2 ~ g4@2 ~ g4@3 ~@7 a3@2 c4@2 c#4@2 f4@2 g4 ~ a4 ~@2 f4@3 ~@33 f4 a4@3 ~@2 c5@7]/2",
D: "~@3 c#5@2 ~ a4@2 ~ g4@2 f4@2 ~@35", E: "~@8 g#4@6 g4@2 f4@3 d4@2 ~ d4@3 ~@23",
F: "~@7 d4 [a4,d5]@2 c#5 ~ c5@3 ~ g4@2 ~ g4@2 ~ f4@2 ~@10 c4@2 d4@2 f4@2 g4@2 a4 ~ f4@4", // D5
G: "~@22 a3@2 c4 ~ d4@2 ~ f4@2 g4@2 a4@2 f4@2 ~ f#4@2 ~ g4@2 g4@2 ~ f#4@2",
H: "[~@32 c5@21 ~@2 c5@2 ~@3 g4@6 ~ g#4@2 ~ f4@2 d4@2 ~@22]/2",
I: "[~@4 [d3,f#3] [g4,c5,c#5] ~@3 c5@2 ~ g4@2 ~@3 g4@2 f4@3 d4@2 ~ d4@5 ~@3 a3@2 c4@2 ~ d4@2 f4 ~ g4 ~ a4@2 f4@7 ~@13 a3@2 c4@2 d4@2 f4@2 d4@2 f4 ~ f#4 ~ a4 ~ b4@2 d5@2 ~ e5@4 d#5 d5 ~ b4 d5]/2", // D C
J: "~ e5 d5@2 b4@2 d5@2 ~ a4@6 ~@33", K: "~@12 a4@3 ~ b4@2 ~ d5@2 ~@3 e5@3 ~@3 d5@2 ~@3 d5@2 ~@2 d5 d5@8",
L: "[~@31 d5@3 ~@4 f5@4 f#5@2 ~@2 g5@5 ~@3 g#5@9 ~@9 f5@2 ~ d5 d5@7 ~ b4@2 d5 ~ f5@3 ~ f5@3 ~]/2",
M: "f#5 g#5@2 [f5,g5] ~ d5@3 ~ [c5,c#5] ~@2 c#5@5 ~ a4 ~ g4@2 f4 ~@3 d4@2 ~@2 f4@4 a4 ~ [f4,b4]@6 ~ [f4,b4]@5", // Fsus2 C#maj7 Fdim
N: "~ b4@5 f4 e4 ~@20 f4@2 ~ g4 f4@2 ~ d4 d4@5 ~@2 d4@5, f4@5 ~@43",
O: "[~@12 a3@2 b3 ~ d4@2 ~@2 g4@3 f4 ~ g4@2 g4@2 f4@3 ~@2 d4@2 ~@2 a3 c4@4 ~ a3 g3 ~@10 [b3,e4] ~@20 b3@2 d4@2 e4@4 f#4@2 g4@2 ~ g4@2 ~ f#4@2 ~, ~@47 f3@13 ~@36]/2", // E5
P: "~@32 c5@5 ~@11", Q: "~@12 g#4@4 ~@3 g4@4 d4@2 d4@9 ~@14",
R: "~@4 a3@2 ~ b3 d4@2 ~ e4@4 d4 ~ e4@2 b3 ~@3 d4@3 ~ b3@2 d4@2 ~ e4@3 d5@2 ~ b4@2 e4@8",
S: "~ d4 ~ d4@3 ~@3 f4@4 [a4,d5]@3 ~@3 c#5@4 ~ a4 ~ g4@3 ~ f4 d4@3 f4@4 a4 f4@9", // D5
T: "a4@7 ~@5 a4@2 f#4 ~@2 d4@2 a3@6 ~@3 a4 a#4@2 ~@17, ~@28 d5@17 ~@3",
})).s("gm_electric_guitar_jazz").gain(0.44)
// other · electric guitar jazz · "JAZZ GTR" · soft notes
const electric_guitar_jazz_2 = note("<~@2 A B C D E F G H ~ I ~@4 J K L ~ M ~ N ~ O ~@66>".pickRestart({
A: "~@7 d4@2 ~@20 f4@2 d4@4 ~@13", B: "~ d4@2 ~@9", C: "~@14 d4@2 ~ d4@3 ~@28", D: "~@26 a3@5 ~@17",
E: "~@24 d4@5 ~@2 a3@2 ~@15", F: "~ a3@10 ~@37", G: "~ d4@2 ~ a3@3 ~ a3@6 ~@34", H: "~@27 d4@10 ~@11",
I: "~@8 g3 ~@15", J: "~@9 [a#4,b4] [f4,f#4,g4,g#4,a4] a#3 ~@12 d4@2 ~@22", K: "~@8 d#4 [c4,d4] ~@17 d4 ~@13 d4 ~@6",
L: "~@18 b3 ~@29", M: "d4 ~ a3@3 a3@6 ~@37", N: "~@21 d4@2 ~@25", O: "~@30 b4@13 ~@5",
})).s("gm_electric_guitar_jazz").gain(0.22)
// bass · fretless bass · "FRETLESS"
const bass = note(`<
~ A B C D E F G H I J K L M N O P Q R S H T U V W X Y Z AA AB Y AC AD AE AF AG AH X Y AI AJ AK AL AM AN AO AP AQ AR AS
AT AU AV E AW G AX AY AZ BA BB BC BD BE BF BG BH AU BI BJ BK BA BL BM BN BO BP BQ BR BS BT BU BV BW@3 ~@2 BX BY@2
>`.pickRestart({
A: "d2@19 ~ d2@2 ~@2 d2@11 ~ g#2@12", B: "g2@8 ~ b2 c3 d3", C: "d2@12 c2@12 b1@11 ~ a1@12",
D: "d2@11 ~ a2@12 d2@11 ~ g#2@12", E: "g2 g#2", F: "g2@24 f2@11 ~ e2@12", G: "d2@6 c2@6 b1@5 ~ a1@2 b1@2 c#2@2",
H: "d2@3 a2@3 d2@3 f#2 g2 g#2", I: "a2@11 ~ a2@11 ~ a2@10 ~@2 a2@8 g#2@4", J: "g2@20 ~@4 g2@11 ~ a1@4 b1@4 c#2@4",
K: "d2@12 f#2@10 ~@2 g2@11 ~ g#2@11 ~", L: "a2@11 ~ a2@11 ~ a2@12 a1@4 b1@4 c#2@4", M: "d2@10 ~@2 d2@5 ~ d2 ~ g#2@4",
N: "g2@22 ~@2 g2@16 a1@4 e2@3 ~", O: "d2@9 ~@3 d2@11 ~ d#2@10 ~@2 d#2@11 ~", P: "d2@20 ~@4 g#1@10 ~@2 g#1@11 ~",
Q: "g1@5 ~@7 g1@12 g#1@10 ~@2 g#1@11 ~", R: "g1@12 f2@10 ~@2 e2@12 d#2@11 ~",
S: "d2@12 c2@11 ~ b1@10 ~@2 a1@4 b1@4 c#2@4", T: "a2@23 ~ a2@11 ~ a2@6 ~@2 g#2@4",
U: "g2@11 ~ g2@10 ~@2 g2@11 ~ a1@4 b1@4 e2@4", V: "d2@22 f#2@2 g2@11 ~ g#2@11 ~",
W: "a2@11 ~ a2@12 a1@8 ~@4 a1@4 b1@3 ~ c#2@4", X: "d2@11 ~ d2@5 ~ d2 ~ g#2@4", Y: "g2 f2 e2 d#2",
Z: "d2@12 c2@12 b1@11 ~ a1@10 ~@2", AA: "d2@11 ~ d2@6 g#2@6", AB: "g2@12 f2@12 e2@12 d2@4 f2@3 ~ f#2@4",
AC: "d2@12 c2@12 b1@12 a1@4 b1@3 ~ c#2@4", AD: "d2@3 c2@3 d2@3 f#2 g2 g#2", AE: "a2@20 ~@4 a2@15 ~ a2@4 g#2@4",
AF: "g2@9 ~@3 g2@7 ~ d2@4 g2@12 a1@4 e2@2 ~@2 e2@4", AG: "d2@12 f#2@11 ~ g2@11 ~ g#2@12",
AH: "a2@16 a1 ~@3 a1@3 ~ a1@3 ~ a1@2 ~@2 a1@5 ~@3 a1@4 c#2@3 ~", AI: "d2@11 ~ c2@10 ~@2 b1@11 ~ a1@4 b1@4 c#2@4",
AJ: "d2@6 a1@6 d2@6 g#2@5 ~", AK: "g2@11 ~ g#2@11 ~", AL: "g2@5 ~ g2@5 ~ g2@6 a1@2 e2 ~ e2@2",
AM: "d2@12 c2@12 b1@11 ~ a1@4 b1@4 c#2@4", AN: "d2@18 ~@2 d2 ~@3 d2@9 ~@3 d2@4 g2@4 g#2@4",
AO: "a2@23 ~ a2@10 ~@2 a2@8 g#2@4", AP: "g2@10 ~@2 g2@11 ~ g2@10 ~@2 g2@12", AQ: "d2@19 ~ d2@3 ~ g2@12 g#2@10 ~@2",
AR: "a2@8 a1@2 ~@2 a1@3 ~ a1 ~@3 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@3 ~",
AS: "d2@27 ~@5 d2 ~@3 g#2@12", AT: "g2@11 ~ g2@10 ~@2", AU: "d2@3 c2@3 b1@3 a1 b1 c#2", AV: "d2@12 g#2@11 ~",
AW: "g2@11 ~ g2@12", AX: "d2@6 c2@6 d2@5 ~ d2@2 g2@2 g#2@2", AY: "a2@19 ~ e2@4 a2@12 e2@4 a2@4 g#2@4",
AZ: "g2@11 ~ g2@10 ~@2 g2@10 ~@2 g2@12", BA: "d2 f#2 g2 g#2",
BB: "a2@4 a1 ~@3 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1@3 ~",
BC: "d2@22 ~@2 d2@11 ~ d2@2 ~@2 g#2@8", BD: "g2@11 ~ g2@6 ~@2 d2 ~@3 g2@10 ~@2 g2@11 ~",
BE: "d2@9 ~@3 d2@11 ~ a1@12 c#2@12", BF: "d2@10 ~@2 d2@12 g#2@9 ~@3 g#2@11 ~",
BG: "g2@19 ~ g2@2 ~@2 g#2@19 ~ g#2@2 ~@2", BH: "g2@12 f2@12 e2@12 d#2@11 ~", BI: "d2@3 b1@3 d2@3 f#2 g2 g#2",
BJ: "a2@21 ~@3 a2@12 d2@4 g#2@8", BK: "g2@11 ~ g2@10 ~@2 g2@10 ~@2 g2@11 ~",
BL: "a2@4 a1@2 ~@2 a1@2 ~@2 a1@3 ~ a1@2 ~@2 a1 ~@3 a1@3 ~ a1@2 ~@2 a1 ~@3 a1@2 ~@2 a1@2 ~@2 a1@2 ~@2",
BM: "~@8 d2@2 ~@2 d2@8 b1@4 d2@8 b1@4 d2@7 ~ f#2@4", BN: "g2@3 f2@3 e2@3 a1 b1 c#2",
BO: "d2@6 ~@2 d2 ~@3 d2@8 b1@4 d2@6 ~@2 d2 ~@3 b1@4 c2@3 ~ c#2@4",
BP: "d2@6 ~@2 d2 ~@3 d2@8 b1@4 d2@6 ~@2 d2 ~@3 g#2@11 ~",
BQ: "g2@7 ~ g2@4 f2@6 ~@2 f2@4 e2@5 ~@3 e2@4 d2@4 f2@4 f#2@4",
BR: "g2@7 ~ g2@4 f2@6 ~@2 f2@4 e2@5 ~@3 e2@4 d#2@6 ~@2 d#2@4",
BS: "d2@7 ~ d2@4 c2@6 ~@2 c2@4 b1@5 ~@3 b1@4 a1@4 b1@4 c#2@4", BT: "d2@3 ~ d2@2 c2@3 ~ c2@2 b1@6 f#2@2 g2@2 g#2@2",
BU: "a2@4 e2@3 ~ a2@2 ~@2 a2@7 ~ e2@4 a2@12 d2@4 e2@4 f#2@4", BV: "g2@5 ~@19", BW: "g2@11 ~@37",
BX: "~@7 d2 ~@3 d2@7 ~ b1@4 d2@7 ~ b1@4 d2@7 ~ d2@3 ~@2", BY: "[~@7 d2@2 ~@3 d2@6 ~ b1@4 d2@46 ~@27]/2",
})).s("gm_fretless_bass").gain(0.38)
// chords · rock organ · "ORGAN 3"
const rock_organ = note(`<
~ A B C@2 D E F@2 G H I J K L M N O P Q@2 R S T U V W X Y Z AA AB@2 AC AD AE AF AG AH AI AJ AK@3 AL AM AN AO AP AQ AR
AS@2 AT AU AV@3 AW@2 AX@2 AY AZ BA BB BC BD@2 BE BF BG BH BI BJ BK BL BM@2 BN@2 BO BP BQ BR BS ~@2 BT BU@2
>`.pickRestart({
A: "c4@37 ~@3 [c4,d#4]@7 ~", B: "d4", C: "[a4@7 [d#4,c5]]/2", D: "[d4,f4,b4] [d#4,f#4,c5]", E: "b4",
F: "[a4@4 ~@3 a4, f#4, c4@3 d4, ~@12 c5@11 ~]/2", G: "[e4,g4]@11 [d#4,f#4,c5]", H: "[d4,b4]@47 ~",
I: "[c4,f#4]@3 ~ f#4@2 ~@3 [f4,g#4]@3, a4 b4, ~ d4@2 ~", // Cdim Fm
J: "~@8 g4@10 ~@2 [g4,a4,c#5]@8 [g4,a4,c#5]@7 ~ [g4,a4,c#5]@12, c#5@19 ~@29", // A7
K: "[d4,f#4,a4,c5]@9 ~ [f#4,a#4,c5,d#5]@2", L: "[f4,a4,b4,d5]@37 ~@3 [f4,a4,b4,d5]@3 ~@5",
M: "[d4,f#4,a4,c5]@6 ~@2 [d4,f#4,a4,c5]@4 ~@4 [d4,f#4,a4,c5]@7 ~ [d#4,g4,a#4,c#5]@6 ~@2 [d#4,g4,a#4,c#5]@3 ~@5 [g4,a#4,c#5,d#5]@8", // D7 D#7
N: "[f#4,a4,c5,d5]@3 ~ [f#4,c5,d5]@2 ~@6 [f#4,a4,d5]@4 [f#4,c5,d5] ~@11 [f#4,a#4,c5,d#5]@7 ~ [f#4,a#4,c5,d#5,f#5]@7 ~ [f#4,a#4,c5,d#5,f#5]@3 ~, ~@4 c5 ~@11", // D7 D D7 Cm7b5
O: "[g4,b4,d5,f5]@3 ~@9 [g4,d5,f5]@2 ~@6 [g4,b4,d5,f5,g5]@3 ~@5 [g#4,c5]@6 ~@2 [g#4,c5,d#5,f#5]@6 ~@2 [g#4,c5,d#5,f#5]@3 ~", // G7 G# G#7
P: "[g4,b4,d5,f5,g5]@3 ~@5 [g4,b4,d5,f5,g5]@19 ~ [g4,b4,d5,g5] ~@7 [g4,d5,g5]@7 ~ [f#5,g5]@3 ~, ~@36 f#5 ~@7 g4 ~@3", // G7 G G5 Gmaj7
Q: "[[f#4,a4,f#5]@12 e5@12 ~@3 a#4 [f#4,b4]@7 ~ [f#4,c5]@12 [d4,f#4,d5]@28 [f#4,c5,f#5] ~@7 [f#4,c5,f#5,a5]@4 ~@4 [f#4,c5,f#5,a5]@4, c5@24 ~@4 d4@19 ~@49, ~@12 d#5 ~@23 a4@41 ~@19]/2", // F#m B5 F#dim D F#dim
R: "[a4,c#5,e5,g5]@39 ~ [a4,c#5,e5,g5,a5]@4 [g#4,c5,d#5,f#5,g#5]@3 ~", // A7 G#7
S: "[g4,b4,d5,f5,g5]@7 ~@21 [g4,d5,g5]@4 [g4,b4,f5]@4 [g4,b4,f5]@4 [g4,a#4,d5]@8", // G7 G5 G7 Gm
T: "[d4,f#4,a4,c5]@15 ~ [d4,f#4,a4,c5]@7 ~ [g4,b4,d5]@12 [g#4,b4,d5,f5]@11 ~, b4 ~@47", // D7 G G#dim
U: "[a4,e5,g5]@36 [g4,c#5,e5,f#5,a5]@6 [e2,f2] b2 [c3,e3] [f3,g3] [a3,b3] ~, ~@21 [g2,a2] d3 c4", // A7 F#m7 Fmaj7 C Fsus2 Asus2 Gsus2
V: "[c4,f#4]@35 ~@5 [f#4,a#4]@8", W: "[a4,d5]@27 ~ f4 ~@19", X: "~@2 [b4,e5] a4 c5 [a4,d5], d4@23 ~",
Y: "[d4,b4,c5,e5]@7 ~ [d4,a4,d5]@8 [d4,b4,c5,e5]@8 [d4,f#4,a4,d5]@13 ~@3 [f#4,a#4,c5,d#5]@8", // Cmaj7 D5 Cmaj7 D Cm7b5
Z: "[f4,g4,b4] ~@7 [a4,b4]@27 ~@5 [f4,b4,d5] ~@3 [f#4,a#4,c5,d#5]@4", // G7 Asus2 Bdim Cm7b5
AA: "f4@2 ~@6 f4@19 ~ [f4,b4] ~@7 [f4,a4,b4,d5]@6 ~@2 [f#4,a#4,c5,d#5]@4, b4 ~@47", // Fdim Bm7b5 Cm7b5
AB: "[d4 ~@7 [d4,f#4,c5]@20 [f#4,c5] ~@7 f#4@7 ~ f#4@19 ~ f#4 ~@7 d4@7 ~ f#4 ~@7 [f#4,c5] ~@7, ~@36 [d4,c5,d5]@29 ~@31]/2", // D7 F#dim D7
AC: "~@4 [g4,a4] ~@7 [g4,a4,c#5,g5]@6 ~@2 a4@19 ~ [g4,a4,c#5,e5]@4 [f#4,g#4,c5,d#5]@4, ~@4 e5@2 ~@6 e5@27 ~@9", // Gsus2 A7 G#7
AD: "[f4,g4,d5]@26 ~@2 [g4,b4,d5] ~@11 [b4,f5]@3 ~ [b4,f5]@4, ~@40 [f4,g4]@7 ~, ~@40 d5 ~@3 d5@2 ~@2", // G7 G Bdim Fsus2
AE: "f#4@15 ~ [f#4,d5,f#5]@8 g5@4 [g4,b4,d5]@7 ~ [g#4,b4,f5]@4 [g#4,b4,d5]@7 ~, ~@4 a4 ~@7", // D G Fdim G#dim
AF: "[a4,e5,g5]@3 ~ a4@11 ~ [g4,a4,c#5,e5] ~@7 [g4,a4,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~ [g4,a4,c#5,e5]@3 ~, c#5@5 ~@11", // A7
AG: "[c5,d5,f#5,a5]@3 ~@9 [c5,d5,f#5,a5]@6 ~@2 a5 ~@19 [a4,d5,f#5]@3 ~ [a#4,c5,d#5]@3 ~, ~@40 c5 ~@7", // D7 D Cm7
AH: "[b4,d5,f5]@12 ~@8 b4@18 ~@2 [f4,a4,b4,d5]@7 ~, g4@5 ~@7, ~@6 [f4,a4,d5]@13 ~@5", // Bdim Bm7b5 Dm
AI: "f#4 ~@7 [f#4,a4,c5]@19 ~ [f#4,d5] ~@3 [f#4,c5,d5]@4 [f#4,c5]@4 a4 ~@3 f#4 ~@3, ~@12 a4 ~@3", // F#dim D D7 F#dim
AJ: "[f#4,a4,d5]@4 [a4,c5] ~@3 f#4 ~@3 [f#4,a4,c5,d5]@15 ~ [f#4,a4,c5,d5,a5] ~@7 [c5,d5,f#5,a5]@2 ~@2 [g#4,c5,d#5,f#5]@3 ~ [g#4,c5,d#5,f#5]@3 ~, c5@3 ~@33 [f#4,a4] ~@11", // D Am D7 G#7 F#m
AK: "[[g4,b4,d5,f5]@12 [g4,b4,d5,f5,g5] ~@7 [g4,d5,f5,g5] ~@3 [b4,d5,f5,g5] ~@7 [g4,b4,d5,f5,g5] ~@3 [g#4,c5,d#5,f#5]@4 [g#4,c5,d#5,f#5]@4 [b4,d5,f5]@21 ~@3 [b4,d5,f5]@6 ~@2 [b4,d5,f5] ~@3 [b4,d5,f5]@6 ~@2 [b4,d5,f5] ~@3 [b4,f5]@3 ~ [f#4,a4,c5,f#5]@34 ~@2 [f#4,a4,c5,d5,f#5,a5] ~@7 [f#4,a4,c5,d5,f#5,a5]@4, ~@24 g4@2 ~@18 g4@17 ~@7 g4 ~@11 g4 ~@11 d5@36 ~@16, ~@92 g4 ~@51]/3", // G7 G#7 Bdim F#dim D7
AL: "[f#4,a4,d5]@15 ~ [f#4,a4,e5]@3 d#5 [f#4,a4,e5]@3 ~ [f#4,a4,c5,d5]@11 [d4,f4,g4,a4] [c4,d4,e4] [c3,a3,b3,c4] ~@8 [g5,a5] [b5,c6], c5@23 ~@13 [e3,f3]@3 [a3,b3]@2 [d4,e4]@2 a4@2 [e5,f5]@2 ~, ~@16 d#5 ~@19 d3@2 g3@2 c4@2 [f4,g4]@2 d5@2 ~@2", // D F#m7 D7 Dm C F Gsus2 Cmaj7 …
AM: "[g5,a5,c#6,e6]@43 ~ [d#5,f#5,g#5,c6]@4", // A7 G#7
AN: "[d5,f5,g5,b5]@19 ~ [d5,f5,g5,b5]@8 [d5,b5]@7 ~ [d5,f5,b5]@6 ~@2 [f5,g5] ~@3, ~@14 g5@7 ~@3", // G7 G Bdim Fsus2
AO: "[a4,c5,f#5]@6 ~@2 [a4,c5,d5,f#5]@4 [a4,d5]@7 ~ [f#4,a4]@4 [g4,b4]@7 ~ [g4,b4]@4 [g#4,b4,f5]@7 ~ [g#4,b4,d5,f5]@4, ~@20 d5@11 ~ d5@11 ~@5", // F#dim D7 D5 F#m G Fdim G#dim
AP: "[a4,c#5,e5,g5]@15 ~ [a4,c#5,e5,g5]@2 ~@6 [a4,c#5,e5,g5]@3 ~@5 [a4,c#5,e5,g5]@3 ~ [a4,e5,g5]@4 [a2,b2,a4] ~ e3 [f3,g3] [a3,b3,c4] [d4,e4,f4] [g4,a4,b4] c5, ~@36 c#5@3 ~ c3@2 ~@6, ~@41 d3@2 ~@5", // A7 Asus2 Fsus2 Am Dm G
AQ: "[d5,f#5,a5,c6]@9 ~ [c5,d#5,f#5]@2", AR: "[b4,d5,f5]@37 ~@3 [b4,d5,f5,g5] ~@7",
AS: "[[c5,d5,f#5,a5]@15 ~ [c5,d5,f#5,a5] ~@7 [c5,d5,f#5,a5]@9 ~@3 a4@4 [c5,d5,f#5,a5]@14 ~@2 [e5,f#5,b5]@3 ~ [e5,a5] ~@7 [a4,c5,e5,f#5,b5]@3 ~ [g#4,c5,d#5,f#5,g#5]@4 ~@4 [g#4,c5,f#5,g#5]@4 [g#4,c5,d#5,f#5]@11 ~, ~@28 c5@2 ~@10 d#5 ~@7]/2", // D7 Esus2 A5 F#m7b5 G#7
AT: "[g4,b4,d5,f5]@16 [g4,d5,g5] ~@11 [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@3 ~", // G7 G5 G#7
AU: "[g4,b4,d5,f5]@20 [g4,b4,d5,g5] ~@7 [g4,b4,d5,f5,g5]@7 ~ [g4,b4,d5,f5,g5]@7 ~ [g4,b4,d5,f5,g5]@4", // G7 G G7
AV: "[[a4,c5,d5,f#5,a5]@11 ~ [a4,c5,d5,f#5]@11 ~ [a4,c5,d5,f#5,a5]@3 ~ [a4,c5,d5,f#5,a5]@3 ~ [a4,c5,d5,f#5,a5]@4 ~@4 [a4,d5,f#5]@3 ~ [a4,c5,d5,f#5,a5]@10 ~@9 g#5 [d5,a5,d6]@3 ~ [d5,a5,d6]@3 ~ [d5,f#5,b5,d6]@11 ~ [d5,f#5,c6]@12 [e5,g5,c#6]@26 ~@2 [e5,g5,a5,c#6] ~@7 [e5,g5,a5,c#6]@6 ~@2 [d#5,f#5,g#5,c6]@3 ~, ~@67 g#5@2 ~@15 a5@38 ~@22]/3", // D7 D D7 D5 Bm D7 C#dim A7 …
AW: "[[d5,f5,g5,b5]@27 ~ [d5,f5,g5,b5] ~@6 f#5 [d5,g5]@4 [b4,f5]@7 ~ [f#4,a4,c5]@15 ~ [f#4,a4,d5,f#5]@8 [g4,b4,d5,g5]@12 [g#4,b4,d5,f5]@12, ~@40 d5@23 ~@33]/2", // G7 G5 Bdim F#dim D G G#dim
AX: "[[a4,c#5,g5]@11 ~@9 a4@2 ~@2 [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@2 ~@2 [e5,g5] [e4,b4] [a3,b3,c4,d4,g4,a4] [f#3,g3] ~ a3 [b3,c4,d4] [e4,f4,g4] [a4,b4] e5 [f5,g5,a5] b5 [c6,d6,f#6]@11 ~ [c6,f#6]@12 [a5,d6]@12 [f#5,c6]@3 ~ [f#5,a#5]@8, ~@36 [a4,c#5]@2 ~ e3@2 ~@3 c5@2 ~@50, ~@45 d5@2 a6@11 ~@38]/2", // A7 Em E5 G Gmaj7 Bm Em Asus2 …
AY: "[a5,b5] a5 ~ [a5,d6], ~@12 [g4,d5]@35 ~, ~@6 f5@11 ~ f5@4 ~@2, ~@24 b5@19 ~@5", // Asus2 D5 G5
AZ: "[d5,f#5,c6]@35 ~ [c5,d5,f#5,a5,c6]@12", // D7
BA: "[c5,d5,f#5,a5]@5 ~ [c5,d5]@4 [c5,d5] ~ [f#5,a5]@6 [f#5,a5] ~@3 [c5,d5] ~ [c5,d5,f#5,a5]@6 [f#5,a5] ~@3 [c5,d5] ~ [d#5,f#5]@3 ~ [c5,d#5,f#5]@8, ~@6 [f#5,a5] ~@41", // D7 Csus2 F#m Csus2 D7 F#m Csus2 D#m …
BB: "[b4,d5,f5]@23 ~@5 [g#4,c5,d#5,f#5]@5 ~@3 [g#4,c5,d#5,f#5]@7 ~ [g#4,c5,d#5,f#5]@4, g4@5 ~@19", // Bdim G#7
BC: "[g4,b4,d5,f5]@12 [b4,d5,f5]@5 ~ [b4,d5,f5] ~@3 g4 ~ [b4,d5,f5]@4 [g4,a4] ~ [b4,d5,f5,g5]@4 g4 ~ [b4,d5,f5,g5]@3 ~ [d5,f5,g5,b5]@4 [d5,f5,g5,b5]@3 ~, ~@6 g4@3 ~@11 a5 ~@3", // G7 Bdim Gsus2 G7
BD: "[f#5@12 [c5,d5]@2 ~@6 [c5,e5,f#5]@2 ~@4 [a4,c5,e5,f#5] ~@5 [a4,c5,e5,f#5]@5 ~ [a4,c5,e5,f#5] ~@3 a4 ~ [a4,c5,e5,f#5]@3 ~ [a4,c5,d5,f#5]@5 ~ [a4,c5,d5,f#5] ~@3 a4 ~ [a4,c5,e5,f#5]@6 [a4,c5,e5,f#5] ~@3 a4 ~ [c5,d5,f#5]@3 ~ [a4,c5,d5,f#5]@7 ~ [a4,e5,f#5,b5]@4 [a4,e5,f#5,a5]@3 ~ [a4,e5,f#5,a5]@4, a5@33 a5@8 ~@7, c5@10 ~@10 a4 ~@75, d5 ~@83 c5@7 ~ c5@2 ~@2]/2", // Csus2 F#m7b5 D7 F#m7b5 D7 Asus2 F#m7
BE: "[a4,c#5,e5,g5,a5]@23 ~ [a4,g5,a5,c#6]@11 ~ [a4,c#5,e5,g5,a5]@3 ~ [a4,c#5,e5,g5,a5]@4 [g#4,c5,d#5,f#5,g#5]@4", // A7 G#7
BF: "[g4,b4,d5,f5,g5]@23 ~ [g4,b4,d5,f5,g5]@6 ~@6 [g4,b4,d5]@7 ~ [g4,d5,f5]@4, ~@18 g5@4 b4 ~", // G7 G G7
BG: "[a4,c5,d5,f#5,a5]@7 ~ [a4,c5,d5,f#5,a5]@7 ~ [f#4,a4,d5,f#5]@7 ~ [g4,b4,d5,g5]@7 ~ [g4,b4,d5,g5]@4 [g#4,b4,d5,f5]@7 ~ [g#4,b4,f5]@4, ~@22 d5 ~", // D7 D G G#dim Fdim
BH: "[a4,c#5,e5,g5]@3 ~ [e5,g5] ~@7 [a4,c#5,e5]@3 ~@5 a4@2 ~@2 [a4,c#5,e5,g5]@3 ~ e5@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@4, ~@12 g5@6 ~@10 a4 ~@19", // A7 Em A A7
BI: "~@8 a#5 ~@3 [f#5,b5,d6]@6 ~@2 [f#5,b5]@3 ~ [a5,b5,d6]@5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [d4,e4] c4 ~ [f#4,c5] ~@3 [d4,f#4,c5]@7 ~, [d4,f#4,c5]@5 ~@3, ~@12 a#5 ~@11 f#5@3 ~@21", // Bm B5 Bm7 Dsus2 Cmaj7 F Dsus2 F#dim …
BJ: "~@7 a#5 [f5,b5,d6]@2 ~ a#5 [f5,b5,d6]@7 ~ [f5,a5,b5]@3 ~ [f5,a5,b5,d6]@5 e5 [c5,d5] [a4,b4] [f4,g4] [c4,d4,e4] [a3,b3] ~ [d4,f4,g4,b4]@3 ~ [d4,f4,g4,b4]@7 ~, [d4,f4,g4,b4]@31 ~@17", // Bdim Bm7b5 Csus2 Asus2 Fsus2 C Asus2 G7
BK: "~@8 [f#5,a5,b5,d6]@2 ~@2 [f#5,a5,b5,d6]@6 ~@2 [f#5,a5,b5]@3 ~ [f#5,a5,b5,d6]@3 g5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [d4,e4] [b3,c4] ~@2 [d4,c5]@4 [d4,f#4]@3 ~ [d4,f#4,a4]@3 ~, [d4,c5]@5 ~@3, f#4@15 ~@20 f#4@3 ~@10", // Bm7 B7 Bm7 Dsus2 Cmaj7 F Dsus2 Cmaj7 …
BL: "~@7 a#5 [b5,d6]@2 ~@2 [f#5,b5,d6]@6 ~@2 [a4,f#5,a5,d6]@3 ~ [f#5,a5,b5,d6]@4 [d4,f#4,c5]@3 ~ [d4,f#4,c5]@2 ~@2 [d4,f#4] ~@3 [f#4,a#4,c5]@7 ~, d4@11 ~@13, [f#4,c5]@11 ~ [f#4,c5]@8 ~@16 c5@2 ~@10", // Bm D Bm7 D7 D Cm7b5 F#dim
BM: "[~@7 a#5 [f5,b5,d6]@2 ~@2 f5@4 ~@4 [f5,a5]@3 a#5 ~@3 [a4,b4]@2 ~ [c5,d5,e5] [a4,b4] [f4,g4] [c4,d4,e4] ~@2 [f4,a4,b4,d5]@6 ~@9 a#5 [b5,d6]@4 ~@3 a#5 ~@4 [a4,b4,d5] ~@3 [a5,d6]@3 a#5 [f4,a4,b4,d5,b5,d6]@6 [d5,e5] [b4,c5] [f4,g4,a4] [c4,d4,e4] ~@2 [a4,b4,d5]@7 ~ [f4,a4,b4,d5]@3 ~, [f4,a4]@26 ~@18 f4@20 ~@19 f4@7 ~@6, [b4,d5]@12 [b5,d6]@10 ~@2 [f5,b5,d6]@6 ~@22 f5 ~@7 [f5,b5,d6]@7 ~ f5@10 ~@18, ~@12 a#5 ~@3 [b4,d5]@11 d5 ~@16 [a4,b4,d5]@11 ~ [a4,b4,d5]@7 ~@33]/2", // Bdim F Asus2 C Asus2 Fsus2 C Bm7b5 …
BN: "[[f#4,c5]@6 ~ a#5 [f#4,b5,d6]@2 ~ a#5 ~@4 a5@2 ~@2 [d4,f#4,f#5,a5,d6]@4 [c5,f#5]@4 g5 [e5,f5] [c5,d5] [g4,a4,b4] [e4,f4] [c4,d4] ~@2 [d4,f#4,c5]@6 ~@2 [f#4,a4]@4 [f#4,c5]@8 [f#5,b5,d6]@3 ~@5 a4@3 ~ [f#4,a5,b5]@3 ~ [d4,f#4,a5,b5,d6]@6 f5 [c5,d5,e5] [a4,b4] [e4,f4,g4] d4 ~ d4 ~@3 [d4,f#4,c5]@4 c5@3 ~, d4@7 ~@5 [d4,f#4,c5,f#5,b5,d6]@7 ~ c5@2 ~@2 [d4,f#4,a5,b5,d6]@7 ~@13 d4@12 [a4,a5] ~@3 [d4,f#4,c5,f#5,a5,b5,d6]@7 ~@5 [c5,f#5]@4 ~@20]/2", // F#dim Bm D Cdim Fmaj7 Csus2 G Fmaj7 …
BO: "[g4,a4,c#5]@9 ~@3 [g5,a5,c#6,e6]@7 ~ [g5,a5,c#6]@2 ~@2 [g4,a4,c#5,g5,a5,c#6,e6]@5 f5 [d5,e5] [b4,c5] [f4,g4,a4] [c4,d4,e4] ~@6 [g4,a4,c#5,e5,e6]@4 [g5,a5,c#6]@3 ~, ~@20 [a4,c#5] ~@19 [g5,a5]@3 ~@5", // A7 Dsus2 Cmaj7 F C A7 A Gsus2
BP: "[f4,a4,b4,d5,f5,a5,b5,d6] ~@7", BQ: "[f4,b4,f5,a5,b5,d6] ~@5", BR: "[f4,b4,f5,a5,b5,d6]@7 ~@41",
BS: "[f4,b4,f5,a5,b5,d6]@5 e5 d5 c5 b4 a4 g4 [e4,f4] d4 c4 b3 a3 g3 [e3,f3] d3 c3 b2 [g2,a2] f2 e2 ~@24", // Bm7b5 Fmaj7 Gsus2
BT: "~@7 a#5 [d5,d6]@2 ~@2 [d5,f#5,a5,b5,d6]@6 ~@2 [d5,a5,b5]@2 ~@2 [d5,f#5,a5,b5,d6]@5 ~@2 a#5 [d5,b5] ~@2 a#5 [d5,f#5,b5,d6]@7 ~ [d5,f#5,a5,b5]@2 ~@2, ~@8 b5 ~@39", // D Bm7 G Bm Bm7
BU: "[~@7 a#5 [f#5,d6]@2 ~ a#5 [d5,f#5,b5,d6]@8 [d5,f#5] ~@2 c#6 ~@4 d5@54 ~@14, ~@8 [d5,b5] ~@11 a5@2 ~@2 [c6,d6]@58 ~@14, ~@8 f6 ~@23, ~@25 f#6@55 ~@16]/2", // D Bm D G Csus2
})).s("gm_rock_organ").gain(0.22).pan(0.4)
// chords · rock organ · "ORGAN 3" · soft notes
const rock_organ_soft = note(`<
~ A B C@2 ~ D ~@2 E F G H ~@3 I J K L ~ M ~@2 N O P Q R S T U@2 V W X Y Z ~ AA AB AC ~@2 AD ~@2 AE AF ~@2 AG AH AI AJ
AK AL ~@3 AM ~ AN ~ AO AP ~@3 AQ ~@2 AR AS ~ AT AU AV AW AX AY AZ ~@6 BA ~@2
>`.pickRestart({
A: "[f#4,a4]@38 ~@2 f#4@7 ~", B: "[b3,f4]", C: "[[c4,f#4]@7 f#4]/2", D: "[d4,f4]", E: "c#5@11 ~", F: "f4@47 ~",
G: "~@2 g4 ~", H: "a4@3 ~@5, g4@7 ~@41", I: "~@2 a4 ~@21", J: "~@6 [b4,g5] ~@7 [d#5,f#5]@3 ~@7", K: "~@22 d5 ~",
L: "~@12 [f#4,a4]@13 ~@23", M: "a5@19 ~@5", N: "c#5@35 ~@13", O: "~@40 d#5@7 ~",
P: "f4@27 ~ [a4,d5] ~@7 [f4,a4,d5]@12", Q: "c5@24 d5@7 ~ [b4,e5]@8 ~@8, f#4@23 ~, a4 ~@2",
R: "f#4@7 ~ f#4@7 ~ f#4@7 ~@25", S: "[a4,d5] ~@7 [f4,d5]@27 ~@5 a4 ~@7",
T: "d5@2 ~@6 [a4,b4,d5]@19 ~ [a4,d5] ~@19, a4 ~@47", // Bm7 D5
U: "[[f#4,a4,d5] ~@7 [a4,d5]@19 ~ [a4,d5] ~@7 a4@27 ~ [a4,c5,d5] ~@7 [f#4,a4,c5,d5]@6 ~@2 [a4,c5,d5] ~@7 [a4,d5] ~@7]/2", // D D5 D7 D5
V: "~@4 c#5 ~@15 [g4,c#5]@19 ~@9", W: "b4@13 ~@11", X: "[a4,d5]@14 ~@10 [g4,b4]@3 ~@21",
Y: "~@4 e5@11 ~@9 c#5@3 ~@21", Z: "~@20 [c5,d5,f#5] ~@23 f#5@3 ~", AA: "[a4,c5] ~@31 a4@3 ~@5 c5 ~@7",
AB: "~@28 f#5 ~@19", AC: "~@20 b4 ~@27", AD: "f#5@15 ~@19 b4 ~@3 d4 ~@5 c5@2 ~@2, ~@43 b4@2 ~@3", AE: "d5 ~@7",
AF: "~@20 [c#5,g5] ~@3", AG: "~@32 [c5,f#5] ~@15", AH: "~@12 f#5 ~@35", AI: "~@16 [b4,f5] ~@31", AJ: "~@20 f5 ~@27",
AK: "~@40 [c5,a5]@3 ~@5", AL: "~@4 [c5,d5,f#5,a5]@3 ~ [c5,d5,f#5] ~@39, ~@4 a4 ~@19",
AM: "e5@11 ~ [a4,c#5,e5,g5]@3 ~ [a4,c#5,e5,g5]@3 ~ [c#5,e5,g5]@2 ~@19 g3 ~@6", AN: "f5@11 ~@37",
AO: "~@4 [c5,d5]@3 ~@9", AP: "~@10 g4@13 ~@25", AQ: "~@12 e5@5 ~@7",
AR: "~@16 [c#5,e5]@3 ~ [c#5,e5]@3 ~@5 [c#5,g5]@2 ~@18", AS: "~@8 [f#5,b5,d6] ~@20 g5 ~@18",
AT: "~@16 f#4@14 ~@10 c5@3 ~@5", AU: "~@4 f#5 ~@19", AV: "~@9 f4 ~@6", AW: "~@8 f5@3 ~@37", AX: "~@40 a4 ~@7",
AY: "~@20 [d4,f#5]@2 ~@7 g5 ~@18", AZ: "~@16 a4 ~@3 g4 ~@7 g5 ~@19", BA: "~@4 f#5 ~@5 f#5 ~@5 d6 ~@7, ~@32 f#5 ~@15",
})).s("gm_rock_organ").gain(0.11).pan(0.4)
// other · alto sax
const alto_sax = note(`<
~@26 A@2 B C D@2 E F@2 G H@2 I J@2 K@2 L M N@2 O P Q@2 R S ~ T ~ U V W X Y@2 Z ~ AA AB@2 AC@3 AD AE AF AG AH AG AI AJ
AH AK AL AM AN ~@5 AO AP AQ
>`.pickRestart({
A: "[~@33 b3 ~@2 d4@3 ~@3 d4@10 ~@44]/2", B: "~@21 b3 ~ d4 ~@2 e4@2 d4@7 ~@2 a#3@4 d4 ~@2 b3@4",
C: "b3@4 b3@2 ~ g#3@2 g3 ~@3 g3@6 ~@29", D: "[~@12 f3@2 g3 ~@2 a3@19 c4@2 ~@2 d4@5 ~@2 f4@4 a4 ~ f4@5 ~@38]/2",
E: "~@10 a3 b3 ~ d4 ~ c#4@4 a3 b3 ~ a#3 ~",
F: "[a#3@2 ~@2 a3@11 ~@22 c4@5 ~@5 c4@2 ~ c#4@2 ~@2 d4@6 ~@2 c4 ~@2 g3@4 f3 ~ g3@5 ~ f3 ~ g3@2 a3 ~@14]/2",
G: "~@11 a3",
H: "[d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 b3 ~ d4 ~ f4@5 ~@12 b4@4 ~ a4 ~ g4@2 a4 ~ f4@5 d4 ~ b3 ~@34 b4@8]/2",
I: "~@3 a4@2 ~@2 b4@2 ~ a4@2 ~ g4@2 f4@3 d4 ~ b3@2 ~@26",
J: "[~@47 d5@12 ~ b4@2 d5@2 b4@6 ~ a4@2 b4 ~ a4@7 ~@2 e4@2 a4 ~ e4@5 ~@3]/2",
K: "[~@28 g4 ~@2 g4@2 ~@2 g4@2 ~ a4@3 ~ d5@2 ~@2 g4@14 ~@2 e4@4 d4 ~ e4 ~@4 d4@7 ~@16]/2", L: "~@37 b4@11",
M: "~@4 a4@2 ~@3 b4@2 ~ b4@2 a4@2 ~ g4@2 ~ f4@3 d4 ~ c4 ~@3 f4 ~ c4 ~@2 d4@8 ~@6",
N: "[~@4 c4@25 d4 ~ e4@2 ~@4 g#4@3 ~@3 g4@3 ~ g#4@2 ~@2 g4@16 ~ f4 g4 ~@2 g#4@2 ~@2 f4@2 ~@18]/2",
O: "~@44 d4@2 f4 ~",
P: "g#4@2 a4@4 g4 ~@3 d4 ~ g#4@2 a4@3 ~ g4 ~@5 g#4@2 a4@3 ~ g4@2 f4 ~ d4 ~ b3@2 d4 b3@2 ~@3 a3@3 d4",
Q: "[d4@12 ~@35 c#4@14 ~@4 c4@2 b3 ~@3 d3@2 e3@2 ~@21]/2", R: "~@13 f3@3",
S: "~@2 d4@2 ~ f#3@2 ~ f3@2 ~@3 d4@2 ~ e3 ~@6 d3@2 d4@2 ~ c3 ~@2 c#3 ~@3 d3@10 ~@3",
T: "~@3 e4@4 ~@3 e4 ~@3 e4@4 ~@2 e4@2 ~@2 d4 ~ d4@2 ~@2 b3@4 ~@14",
U: "~ b4@12 ~@3 a4@2 ~@2 b4 ~@2 c5@2 ~ d5@2 c5 ~@2 b4@2 ~ a4@9 ~@5", V: "~@2 f4@2 g4 ~@2 a4@4 g4 ~ f4 ~@3 d4@9 ~@22",
W: "~@3 g4@10 f4@4 d4 c4 ~@3 g3@4 ~ g3@2 ~ d3@2 f3@3 ~@13", X: "~@40 e3@2 ~ a3@3 d4@2",
Y: "[~ d4@9 ~@4 d4 ~@3 f4@5 a4@2 b4 d5 ~ b4@3 a4 ~ f4@3 d4 ~ b3@3 ~ g#3@2 ~ a#3 d4 d4@11 ~@38]/2",
Z: "~@7 g4@25 ~ f4@4 e4@4 d4@7",
AA: "g4@3 f4 g4@2 ~@2 g4@2 f4 ~ g4@3 ~ g4@2 ~ f4 g4@2 f4 ~ a4@2 ~ d5@6 ~ e5@3 ~@2 a4@2 ~ g4 ~ f4@2 d4 ~, ~@19 b4 ~@4",
AB: "[~ a3@2 d4@10 ~@34 g#4@2 ~@2 g#4@9 f4 ~ g4 a4 ~@2 d4@7 b3 ~@22]/2",
// … 113 more lines
More by B.B. King
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.