Concerto pour orgue seul en fa majeur, BWV 978: I. Allegro
KeyA minorTempo104 bpm
0:00/0:00
// Concerto pour orgue seul en fa majeur, BWV 978: I. Allegro — Bach Johann Sebastian
// 104 bpm, 4/4, key A minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Full arrangement: all 94 bars on a 32-step grid, each part at one level. Source detail keeps the original performance.
setcpm(104/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 · drawbar organ · "ORGAN 1"
const drawbar_organ = note(`<
A B@2 C D E F G H@4 I J K L M@2 N O P Q J R S T@2 U@2 V W X Y Z AA AB AC@2 AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ@4
AR AS AT AU AR AS AV AW AX AY@4 AZ@3 BA BB BC BD BE BF BG BH BI@4 BJ BK BL BM BN@2 BO BP BQ@3
>`.pickRestart({
A: "[c5,e5,a5]@2 ~@2 [b4,e5,g#5]@2 ~@2 [c5,e5,a5] g5 f5 e5 d5 c5 b4 a4", // Am E Am
B: "e5@2 e4 ~@3 f#4 g#4 a4 ~ a4 b4 c5 ~ c5 d5, ~ e4@2 ~",
C: "[b4,e5]@4 ~@2 [b4,e5] ~ [c5,e5] f5 [c5,e5]@2 ~@2 [c5,e5] ~", // E5 C
D: "[b4,e5] f5 [b4,e5]@2 ~@2 [b4,e5] ~ [c5,e5] f5 [c5,e5]@2 ~@2 [c5,e5] ~", // E5 C
E: "[d5,f5] g5 [d5,f5] g5 [d5,f5] g5 [d5,f5] g5 [d5,f5] ~ [d5,f5] ~ [b4,d5] ~ [g4,b4] ~", // Dm Bm G
F: "[g4,e5] f5 [c5,e5] f5 [c5,e5] f5 [c5,e5] f5 [c5,e5] ~ [c5,e5] ~ [a4,c5] ~ [f4,a4] ~", // C Am F
G: "[f4,d5] e5 [b4,d5] e5 [b4,d5] e5 [b4,d5] e5 [b4,d5] ~ [b4,d5] ~ [g#4,b4] ~ [e4,g#4] ~", // Dm Bm G#m E
H: "[[e4,c5]@2 a4@2 ~@2 [a4,e5] ~ e5 ~ d5 ~ g#5@2 d5 ~ b5@2 d5 ~ f5@2 d5 ~ e5@2 d5 ~ f5@2 d5 ~ g#5@2 d5 ~ b5@2 d5 ~ e5@2 d5 ~ b5@2 d5 ~ e5@2 d5 ~ f5@2 d5 ~ g#5@2 e5 ~ a5@2 [c5,e5] ~, ~@2 b4@13 ~]/4", // C A5 C
I: "f5@2 a5 ~ e5@2 g#5 ~ a5@4 ~@2 e5 ~", J: "f5@2 a#4 ~ f5@2 a#4 ~ e5@2 a#4 ~ e5@2 a#4 ~",
K: "e5@2 a4 ~ e5@2 a4 ~ g#4@2 e4 ~ a4@2 e4@2", L: "[d4,f4]@2 a4 ~ e4@2 g#4 ~ a4@3 b4 [a4,c5]@3 [b4,d5], ~ d4 ~@2",
M: "e5 ~ a4 ~ a4 ~ [c5,e5]@2 [d5,f5] ~ [d5,f5] ~ [d5,f5]@2 [c5,e5] [b4,d5], c5 ~@3", // C Dm C Bm
N: "e5 ~ a4 ~@3 [c5,e5]@2 f5 e5 f5@2 ~@2 g5 f5, c5@4 ~@4 a4@4 ~ d5@3", // C
O: "e5 d5 e5@2 ~@2 f5 e5 d5 c5 d5@2 ~@2 e5 d5, g4@4 ~ c5@3 f4@4 ~ b4@3",
P: "c5 b4 a4 b4 c5 d5 e5 d5 c5 b4 a4 b4 c5 d5 e5 d5, e4 ~ e4 ~",
Q: "c5 b4 a4 b4 c5 d5 e5 d5 c5@2 a4@2 ~@2 e5 ~, e4 ~ e4 ~",
R: "e5@2 a4 ~ e5@2 f4@2 g#4@2 e4 ~ a4@2 c4@2, ~@6 a4 ~ e4 ~@5 e4 ~",
S: "f4@2 a4@2 [d4,e4]@2 g#4@2 [c4,e4,a4]@2 ~@2 a4@3 b4, d4 ~@15", // Dsus2 Am
T: "c5@4 ~@2 c5@2 [f4,d5] ~ [f4,d5] ~ [f4,d5] ~ [e4,c5] [d4,b4]", // Dm C G
U: "[[e4,c5]@2 a3@2 ~@2 e4@2 f4 g4 f4 e4 f4 a4 g4 f4 e4 d4 c4 d4 e4 g4 f4 e4 d4 c4 b3 c4 d4 f4 e4 d4, ~ c5@2 b4@2 a4@2 g#4]/2", // C
V: "c4 b3 ~ e5 a5 c5 a5 c5 d5 c5 b4 d5 g5 b4 g5 b4, a4 a3 ~@6", W: "c5 b4 a4 c5 f5 a4 f5 a4 b4 a4 g4 b4 e5 g4 e5 g4",
X: "a4 g4 f4 a4 d5 e5 d5 c5 b4 a4 g4 d5 g5 a5 g5 f5", Y: "e5 d5 c5 g4 c5 d5 c5 b4 a4 g4 f4 a4 d5 e5 d5 c5",
Z: "b4 a4 g4 b4 e4 c5 e4 c5 f4 c5 f4 c5 g4 c5 g4 c5", AA: "a4 c5 a4 c5 e4 c5 e4 c5 f4 c5 f4 c5 g4 c5 g4 c5",
AB: "a4 c5 a4 c5 e4 c5 e4 c5 f4 c5 f4 c5 g4 b4 g4 b4", AC: "c5 g5 c5 g5 c5 g5 c5 g5 c5 a5 c5 a5 c5 a5 c5 a5",
AD: "g5@2 c5@2 ~@2 [e5,g5]@2 [f5,a5] b5 [f5,a5] b5 [f5,a5] b5 [f5,a5] b5", // Em F
AE: "[f5,a5] ~ [f5,a5] ~ [d5,f5] ~ [b4,d5] ~ [e5,g5] a5 [e5,g5] a5 [e5,g5] a5 [e5,g5] a5", // F Dm Bm Em
AF: "[e5,g5] ~ [e5,g5] ~ [c5,e5] ~ [a4,c5] ~ [d5,f5] g5 [d5,f5] g5 [d5,f5] g5 [d5,f5] g5", // Em C Am Dm
AG: "[d5,f5] ~ [d5,f5] ~ [b4,d5] ~ [g4,b4] ~ [g4,e5] [f4,d5] [e4,c5] [d4,b4] a4 g4 f4 e4", // Dm Bm G C Dm C G
AH: "g5 f5 e5 d5 c5 b4 a4 g4 a5 g5 f5 e5 d5 c5 b4 a4",
AI: "c6@2 b5@2 a5@2 g5@2 f#5@2 g5@2 f#5@2 g5@2 a5@2 c6 ~ c6@2 f#5 ~ f#5@2 a5 ~ a5@2 d#5 ~",
AJ: "d#5@2 f#5 ~ f#5@2 a4 ~ a4@2 c5 ~ c5@2 f#4 ~ f#4@2 a4 ~ a4@2 d#4 ~ d#4@2 f#4 ~ f#4@2 b3 ~",
AK: "f#5@8 ~@4 [b4,f#5,b5]@2 ~@2 [b4,g5,b5]@4 [c5,f#5,a5]@2 [e5,g5]@2 [f#4,d#5,f#5]@4 ~@2 e5 ~, ~@7 a4", // B5 Em F#dim Em D#m
AL: "g4 d5 c#5 b4 a4 ~ [a4,e5,a5] ~ [a4,f5,a5] ~ [a#4,e5,g5] [d5,f5] [g4,c#5,e5]@2 ~ d5, e5@2 ~@5 b4", // A5 Dm Edim Dm C#dim
AM: "[f4,d5] ~ d5 ~ d5 e5 d5@2 ~@2 e5 ~ e5 f5 e5@2", AN: "~@2 f5 ~ f5 g5 f5@2 ~@2 g5 ~ g5 a5 g5@2",
AO: "a5@5 g5 a5 a#5 g5@5 f5 g5 a5", AP: "f5@4 e5@2 d5@2 c#5 b4 ~ c#5@3 d5 ~ d5@2 ~@2 d4@2 ~@2 f4@2 ~@3 a4@2 ~",
AQ: "[~ d5@4 ~@4 c#5@4 ~@4 d5@2 c5@2 a#4@2 a4@2 g4@2 f4@2 e4@2 d4@2 a4@2 ~@2 a3@2 ~@2 a3@4 b3@2 c#4@2 d4@2 ~@2 d4@2 e4@2 f4@2 ~@2 f4@2 g4@2 a4@2 ~@2 a3@2 ~@2 a3@4 b3@2 c#4@2 d4@2 ~@2 d4@2 e4@2 f4@2 ~@2 f4@2 g4@2 a4@2 ~@29]/4",
AR: "~@5 a5@2 ~@2 a5@2 a#5@2 a5@4 ~@4 f5@2 ~@2 f5@2 g5@2 f5@3",
AS: "~@5 d5@2 ~@2 d5@2 e5@2 d5@4 ~@4 a#4@2 ~@2 a#4@2 c5@2 a#4@3",
AT: "~@5 g5@2 ~@2 g5@2 a5@2 g5@4 ~@4 e5@2 ~@2 e5@2 f5@2 e5@3",
AU: "~@5 c5@2 ~@2 c5@2 d5@2 c5@4 ~@4 a4@2 ~@2 a4@2 a#4@2 a4@3", AV: "~ a4@8 ~@4 e5@2 ~@2 e5@4 d5@2 ~@2 g#5@4 d5@2 ~",
AW: "~ b5@4 d5@2 ~@2 f5@4 d5@2 ~@2 e5@4 d5@2 ~@2 b5@4 d5@2 ~",
AX: "~ e5@4 d5@2 ~@2 b5@4 d5@2 ~@2 g#5@4 e5@4 a5@4 e5@3",
AY: "[~ f5@4 a5@4 e5@4 g#5@4 a4@6 b4@2 [a4,c5]@6 [b4,d5]@2 e5@2 ~@2 a4@2 ~@2 a4@2 ~@2 [c5,e5]@4 [d5,f5]@2 ~@2 [d5,f5]@2 ~@2 [d5,f5]@4 [c5,e5]@2 [b4,d5]@2 c5@4 a4@2 ~@2 a4@2 ~@2 [c5,e5]@4 [d5,f5]@2 ~@2 [d5,f5]@2 ~@2 [d5,f5]@4 [c5,e5]@2 [b4,d5]@2 [c5,e5]@2 a4@2 b4@2 c5@2 d5@2 e5@2 f#5@2 g#5@2 [c5,e5,a5]@4 ~@4 [b4,e5,g#5]@4 ~@3, ~@33 c5@8 ~@24 e5@2 ~@61]/4", // Am Bm C Dm C Bm C Dm …
AZ: "[~ [c5,e5,a5]@2 g5@2 f5@2 e5@2 d5@2 c5@2 b4@2 a4@2 e5@2 ~@2 e4@2 ~@6 f#4@2 g#4@2 a4@4 a4@2 b4@2 [a4,c5]@2 ~@2 c5@2 d5@2 e5@2 ~@2 e4@2 ~@6 f#4@2 g#4@2 a4@2 ~@2 a4@2 b4@2 c5@2 ~@2 c5@2 d5@2 [e4,b4,e5]@2 ~@2 b5@2 ~@2 b5@2 c6@2 b5@3, ~@13 e4@6 ~@6 e4@12 ~@8 e4@6 ~@6 e4@12 ~@27]/3", // Am E5
BA: "~@5 g#5@2 ~@2 g#5@2 a5@2 g#5@4 ~@4 e5@2 ~@2 e5@2 f5@2 e5@3",
BB: "~@5 c5@2 ~@2 c5@2 d5@2 c5@4 ~@4 a5@2 ~@2 a5@2 b5@2 a5@3",
BC: "~@5 f5@2 ~@2 f5@2 g5@2 f5@4 ~@4 d5@2 ~@2 d5@2 e5@2 d5@3",
BD: "~@5 b4@2 ~@2 b4@2 c5@2 b4@4 ~@4 g5@2 ~@2 g5@2 a5@2 g5@3",
BE: "~@5 e5@2 ~@2 e5@2 f5@2 e5@4 ~@4 c5@2 ~@2 c5@2 d5@2 c5@3",
BF: "~@5 a4@2 ~@2 a4@2 b4@2 a4@4 ~@4 f5@2 ~@2 f5@2 g5@2 f5@3", BG: "~@5 d5@2 ~@2 d5@2 e5@2 d5@4 b4@4 ~@8 [b4,e5]@2 ~",
BH: "~ [c5,e5]@2 f5@2 [c5,e5]@4 ~@4 [c5,e5]@2 ~@2 [b4,e5]@2 f5@2 [b4,e5]@4 ~@4 [b4,e5]@2 ~", // C E5
BI: "[~ [c5,e5]@2 f5@2 [c5,e5]@4 ~@4 [c5,e5]@2 ~@2 [d5,f5]@2 g5@2 [d5,f5]@2 g5@2 [d5,f5]@2 g5@2 [d5,f5]@2 g5@2 [d5,f5]@2 ~@2 [d5,f5]@2 ~@2 [b4,d5]@2 ~@2 [g4,b4]@2 ~@2 [g4,e5]@2 f5@2 [c5,e5]@2 f5@2 [c5,e5]@2 f5@2 [c5,e5]@2 f5@2 [c5,e5]@2 ~@2 [c5,e5]@2 ~@2 [a4,c5]@2 ~@2 [f4,a4]@2 ~@2 [f4,d5]@2 e5@2 [b4,d5]@2 e5@2 [b4,d5]@2 e5@2 [b4,d5]@2 e5@2 [b4,d5]@2 ~@2 [b4,d5]@2 ~@2 [g#4,b4]@2 ~@2 [e4,g#4]@2 ~@2 [e4,c5]@8 ~@4 e5@2 ~]/4", // C Dm Bm G C Am F Dm …
BJ: "~ f5@4 a#4@2 ~@2 f5@4 a#4@2 ~@2 e5@4 a#4@2 ~@2 e5@4 a#4@2 ~",
BK: "~ e5@4 a4@2 ~@2 e5@4 a4@2 ~@2 g#4@4 e4@2 ~@2 a4@4 e4@2 ~",
BL: "~ f4@4 a4@4 e4@4 g#4@4 a4@2 ~@2 a4@2 ~@2 a4@2 b4@2 a4@3",
BM: "~@5 b4@2 ~@2 b4@2 c5@2 b4@4 ~@4 c5@2 ~@2 c5@2 d5@2 c5@3",
BN: "[~@5 d5@2 ~@2 d5@2 e5@2 d5@4 e5@10 d5@2 e5@2 f5@2 d5@10 c5@2 d5@2 e5@2 c5@4 b4@2 a4@2 g#4@6 a4]/2",
BO: "~ a4@8 ~@4 e5@2 ~@2 f5@4 a#4@2 ~@2 f5@4 a#4@2 ~",
BP: "~ e5@4 a#4@2 ~@2 e5@4 a#4@2 ~@2 e5@4 a4@2 ~@2 e5@4 a4@2 ~",
BQ: "[~ g#4@4 e4@2 ~@2 a4@4 e4@2 ~@2 f4@4 a4@2 ~@3 e4@5 g#4@3 ~@2 [c4,e4,a4]@42 ~@18]/3", // Am
})).s("gm_drawbar_organ").gain(0.36)
// other · drawbar organ · "ORGAN 1"
const drawbar_organ_2 = note(`<
A B@2 C D E F G H@4 I J K L ~@5 M J K L ~@11 N@2 O P Q R S T U V W X ~@6 Y Z AA AB AC Z AD AE@3 AF ~@2 AG AH AI AJ AK
AL AM AD AN AC AO AP AQ AR AS AT AU AV AW ~@3 AX AY AZ@3
>`.pickRestart({
A: "a2 ~ e3 ~ a2@2 ~ a3", B: "g#3@3 f#3 e3@2 d3@2 c3@3 b2 a2@2 a3@2", C: "g#3 e3 g#3 e3 a3 a2 c3 a2",
D: "e3 ~ e3@2 g#3@2 e3@2 a3@2 a2@2 c3@2 a2@2", E: "d3 ~ d3@2 g3@2 g2@2", F: "c3 ~ c3@2 f3@2 f2@2",
G: "b2 ~ b2@2 e3@2 e2@2", H: "[~ a2 c3 a2 e3@26 ~ a3]/4", I: "d3@2 e3@2 a2 b2 c3 a2", J: "d3 c#3",
K: "c3@3 d3 e3 d3 c3 a2", L: "d3 b2 e3 e2 a2@2 ~@2", M: "~@4 a2 b2 c3 a2", N: "c3 d3 e3 c3 f3 g3 a3 f3",
O: "c3 d3 e3 c3 f3@2 ~@2", P: "b2 ~ b3 ~ e3@2 ~@2", Q: "a2 ~ a3 ~ d3@2 ~@2", R: "g2 ~ g3 ~ c3@2 ~@2",
S: "c4 ~ c3@2 ~@2 c3@2 c4 ~ c3@2 ~@2 c3@2", T: "c4 ~ c3@2 ~@2 c3@2 b3 ~ b2@2 ~@2 b2@2",
U: "b3 ~ b2@2 ~@2 b2@2 b3 ~ b2@2 ~@2 b2@2", V: "b3 ~ b2@2 ~@2 d#3@2 e3@2 a3@2 b3@2 b2@2", W: "e3@2 ~ c#3 d3 g3 a3 a2",
X: "d3 ~@3", Y: "~@5 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~",
Z: "~ d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~@2 d4@2 ~",
AA: "~ a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~@2 a#3@2 ~",
AB: "~ c4@2 ~@2 c4@2 ~@2 c4@2 ~@2 c4@2 ~@2 c4@2 ~@2 c4@2 ~@2 c4@2 ~@2 c4@2 ~",
AC: "~ f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~",
AD: "~ g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~",
AE: "[~ a3@4 a2@4 c#3@4 a2@4 e3@72 ~@4 a3@3]/3", AF: "~ d3@8 e3@8 a2@8 ~@7", AG: "~@17 a2@4 ~@4 e3@4 ~@3",
AH: "~ a2@8 ~@4 a3@4 g#3@6 f#3@2 e3@4 d3@3", AI: "~ c3@6 b2@2 a2@4 a3@4 g#3@6 f#3@2 e3@4 d3@3",
AJ: "~ c3@6 b2@2 a2@4 a3@2 ~@2 g#3@2 ~@2 g#3@2 ~@2 g#3@2 ~@2 g#3@2 ~",
AK: "~ e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 e3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~",
AL: "~ a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~",
AM: "~ a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 a3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~",
AN: "~ g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 g3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~",
AO: "~ f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 f3@2 ~@2 e3@2 ~@2 e3@4 g#3@4 e3@3",
AP: "~ a3@4 a2@4 c3@4 a2@4 e3@2 ~@2 e3@4 g#3@4 e3@3", AQ: "~ a3@4 a2@4 c3@4 a2@4 d3@4 ~@4 d3@7",
AR: "~ g3@8 g2@8 c3@4 ~@4 c3@7", AS: "~ f3@8 f2@8 b2@4 ~@4 b2@7", AT: "~ e3@8 e2@8 a3@4 a2@4 c3@4 a2@3",
AU: "~ d3@16 c#3@15", AV: "~ c3@12 d3@4 e3@4 d3@4 c3@4 a2@3", AW: "~ d3@4 b2@4 e3@4 e2@4 a2@4 ~@11",
AX: "~ a2@4 b2@4 c3@4 a2@4 d3@15", AY: "~ c#3@16 c3@12 d3@3",
AZ: "[~ e3@4 d3@4 c3@4 a2@4 d3@4 b2@5 e3@5 e2@5 a2@42 ~@18]/3",
})).s("gm_drawbar_organ").gain(0.33)
stack(drawbar_organ, drawbar_organ_2)
More by Bach Johann Sebastian
Brandenburgisches Konzert Nr. 1 F-Dur, BWV 1046: IV. Menuet - Trio - Menuet - Polonaise - Menuet - Trio - MenuetG major · 136 bpmOrchestersuite Nr. 2 5. PolonaiseG major · 82.6 bpm2-Part Invention No. 1 in C major, BWV 772E major · 120 bpmPrelude in C MajorE♭ major · 90 bpmJesus bleibet meine Freude (Herz und Mund und Tat und Leben BWV. 147)G major · 61 bpmToccata and Fugue in D minor, BWV 565D minor · 120 bpmAir On The G StringD minor · 120 bpmBrandenburg Concerto No. 2 in F major, BWV 1047: III. Allegro assaiC major · 95 bpm
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.