KeyB♭ majorTempo112 bpm
0:00/0:00
// Egerland Heimatland — Mosch
// 112 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 7 "SynBrass" synth brass 2 (copy of ch 3 "Baesse" tuba)
// note: Full arrangement: all 73 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(112/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.
// chords · french horn · "F-Hoerne"
const french_horn = note(`<
A B C D E F G H I J K L M N O P Q ~@2 R S ~@2 R T J K L M N O P Q ~@11 U V W X Y Z AA AB AC Z AA AB AD ~@11 U V W X AE
>`.pickRestart({
A: "f4 e4 f4 g4 a4 ~ bb4 ~ c5 ~@7", B: "[d4,f4]@9 ~ [bb3,d4] ~ [c4,eb4]@3 [d4,f4]", C: "[eb4,g4]@13 ~@3",
D: "[eb4,a4]@9 ~ [eb4,f4] ~ [eb4,g4]@2 ~ [eb4,a4]", E: "[d4,bb4]@3 ~",
F: "[g4,bb4]@10 [f4,a4] ~ [eb4,g4]@2 ~ [d4,f4]", G: "[c4,eb4]@3 ~",
H: "[d4,f4]@4 [db4,e4]@2 [d4,f4]@2 [f4,d5]@3 ~ [eb4,c5]@2 ~@2", // Dm Dbm Dm Cm
I: "bb4@2 c5 bb4 [f4,a4] ~ [eb4,g4] ~ [d4,f4] ~@3 [bb3,d4]@3 [c4,eb4], d4 ~@3", // F Eb Dm Bb Cm
J: "[d4,f4]@10 [bb3,d4] ~ [c4,eb4]@3 [d4,f4]", K: "[eb4,g4]@5 ~@3", L: "[f4,a4]@9 ~ [f4,a4] ~ [g4,bb4]@2 ~ [a4,c5]",
M: "[bb4,d5]@3 ~", N: "[g4,eb5]@9 ~ [g4,eb5] [gb4,d5] [g4,eb5] ~@2 [g4,eb5]",
O: "[f4,d5]@9 ~ [f4,d5] [e4,db5] [f4,d5] ~@2 [f4,d5]", P: "[eb4,c5]@9 ~ [eb4,c5] ~ [g4,eb5]@3 [f4,d5]",
Q: "[d4,bb4] ~@3 [d4,bb4]@2 ~ [d4,bb4]!2 ~@7", R: "~@2 [e4,bb4] ~@3 [e4,bb4] ~@3 [f4,a4] ~@3 [f4,a4] ~",
S: "[c5,e5] ~ [c5,e5] [bb4,d5] [a4,c5] ~ [g4,bb4] ~ [f4,a4] ~@7", // C Bb Am Gm F
T: "[c5,e5] ~ [c5,e5] [bb4,d5] [g4,bb4] ~ [e4,g4] ~ f4 ~@3 [bb3,d4]@3 [c4,eb4]", U: "~@3 [d4,bb4]",
V: "[eb4,g4]@3 [g4,bb4] [g4,bb4]@4", W: "[g4,eb5]@3 [ab4,c5] [ab4,c5]@4", X: "[g4,bb4]@6 eb4 ~ g4@3 ~ f4@3 ~",
Y: "eb4@8 ~@2 [g4,bb4]!3 ~ [ab4,c5] ~", Z: "[g4,bb4] ~@3 [eb4,g4] ~@5 [g4,bb4]!3 ~ [c5,eb5] ~",
AA: "[bb4,d5] ~@3 [f4,ab4] ~@5 [bb4,d5]!3 ~ [c5,eb5] ~", AB: "[d5,f5] ~@3 [c5,eb5] ~@3 [bb4,d5] ~@3 [ab4,c5] ~@3",
AC: "[ab4,c5]@2 [g4,bb4] [g4,bb4]@3 [gb4,a4]@2 [g4,bb4] ~ [g4,bb4]!3 ~ [ab4,c5] ~", // Ab Gm Gbm Gm Ab
AD: "[g4,bb4]@2 ~ [ab4,c5] [f4,bb4] ~ [g4,bb4] ~ [eb4,g4] ~@3 [d4,bb4]@4", AE: "eb4@10 ~@2 [g4,eb5] ~@3",
})).s("gm_french_horn").gain(0.56).pan(0.3)
// bass · tuba · "Baesse"
const bass = note(`<
A B C D E F G H I B C D E F J K L M N O P D N O Q B C D E F J K L R S T U V W X Y Z AA AB AC R AD AE AF R AG@2 AH R
AG@2 AI R S T U V W X Y Z AA AB AC R AD AE AJ
>`.pickRestart({
A: "[f2,f3] ~@5 [f2,f3] ~ [f2,f3] ~@7", B: "[bb1,bb2] ~@3 [f2,f3] ~@3 [bb1,bb2] ~@3 [f2,f3] ~@3",
C: "[eb2,eb3] ~@3 [bb1,bb2] ~@3 [eb2,eb3] ~ [d2,d3] ~ [c2,c3] ~ [bb1,bb2] ~", // Eb Bb Eb D C Bb
D: "[f2,f3] ~@3 [c2,c3] ~@3 [f2,f3] ~@3 [c2,c3] ~@3", // F C F C
E: "[bb1,bb2] ~@3 [f2,f3] ~@3 [bb2,bb3] ~ [a2,a3] ~ [g2,g3] ~ [f2,f3] ~", // Bb F Bb A G F
F: "[eb2,eb3] ~@3 [bb1,bb2] ~@3 [eb2,eb3] ~@3 [eb2,eb3] ~@3", G: "[f2,f3] ~@3 [a1,a2] ~@3 [c2,c3] ~@3 [eb2,eb3] ~@3",
H: "[f2,f3]@7 ~ [f2,f3]@2 [g2,g3]@2 [a2,a3]@4", I: "[bb2,bb3] ~@3 [bb1,bb2]@3 ~ [bb1,bb2] ~@7",
J: "[bb1,bb2] ~@3 [f2,f3] ~@3 [bb1,bb2] ~@3 [bb1,bb2] ~@3", K: "[c2,c3] ~@3 [a1,a2] ~@3 [f2,f3] ~@3 [f2,f3] ~@3",
L: "[bb2,bb3] ~@3 [f2,f3]@3 [d2,d3] [bb1,bb2] ~@7", M: "[f2,f3] ~@3 [c2,c3] ~@3 [f2,f3] ~@3 [f2,f3] ~@3",
N: "[f2,f3] ~@3 [c2,c3] ~@3 [f2,f3]@6 ~@2", // F C F
O: "[c2,c3] ~ [e2,e3] ~ [g2,g3] ~ [bb2,bb3] ~ [a2,a3] ~ [c3,c4] ~ [f2,f3]@2 ~@2", // C E G Bb A C F
P: "[c2,c3]@3 ~ [d2,d3] ~ [e2,e3] ~ [f2,f3] ~@7", Q: "[c2,c3] ~@3 [c2,c3] ~@3 [f2,f3] ~@7",
R: "[eb2,eb3] ~@3 [bb1,bb2] ~@3 [eb2,eb3] ~@3 [bb1,bb2] ~@3", // Eb Bb Eb Bb
S: "[ab1,ab2] ~@3 [eb2,eb3] ~@3 [ab1,ab2] ~@3 [c2,c3] ~@3", T: "[eb2,eb3]@3 ~ [eb2,eb3]@3 ~",
U: "[eb2,eb3]@3 ~ [bb1,bb2]@3 ~ [g1,g2] ~ [bb1,bb2] ~ [d2,d3]@4", // Eb Bb G Bb D
V: "[f2,f3] ~@3 [f2,f3] ~@3 [eb2,eb3] ~@3 [eb2,eb3] ~@3", W: "[bb1,bb2] ~@3 [bb1,bb2] ~@3 [f2,f3] ~@3 [f2,f3] ~@3",
X: "[bb1,bb2]@3 ~ [bb1,bb2]@3 ~", Y: "[eb2,eb3]@3 ~ [bb1,bb2] ~ [g2,g3] ~ [eb2,eb3] ~@7",
Z: "[ab1,ab2] ~@3 [c2,c3] ~@3 [eb2,eb3] ~@3 [c2,c3] ~@3", // Ab C Eb C
AA: "[ab1,ab2] ~@3 [c2,c3] ~@3 [eb2,eb3] ~ [d2,d3] ~ [c2,c3] ~ [bb1,bb2] ~", // Ab C Eb D C Bb
AB: "[f2,f3]@5 ~@3 [bb1,bb2] ~ [c2,c3] ~ [d2,d3]@3 ~", // F Bb C D
AC: "[eb2,eb3] ~ [c3,c4] ~ [bb2,bb3] ~ [g2,g3] ~ [eb2,eb3]@3 ~ [bb1,bb2]@3 ~", // Eb C Bb G Eb Bb
AD: "[eb2,eb3] ~@3 [eb2,eb3] ~@3 [ab1,ab2] ~@3 [c2,c3] ~@3", AE: "[eb2,eb3]@6 ~@2 [bb1,bb2] ~@3 [bb1,bb2] ~@3",
AF: "[eb2,eb3]@3 ~ [bb2,bb3] ~ [g2,g3] ~ [eb2,eb3] ~@7", AG: "[f2,f3] ~@3 [bb1,bb2] ~@3 [f2,f3] ~@3 [bb1,bb2] ~@3",
AH: "[eb2,eb3]@5 ~@3", AI: "[eb2,eb3]@3 ~ [bb1,bb2] ~ [bb1,bb2] ~ [eb2,eb3] ~@3 [bb1,bb2]@3 ~",
AJ: "[eb2,eb3] ~@3 [bb2,bb3] ~ [g2,g3] ~ [eb2,eb3] ~@3 [eb2,eb3] ~@3", // Eb Bb G Eb
})).s("gm_tuba").gain(0.5).pan(0.7)
// chords · synth brass 2 · "B-Hoerne"
const synth_brass_2 = note(`<
A B C D E F G H I J K L E M N O P Q R S T Q U V W J K L E M N O P X Y Z AA AB AC AD AE ~@3 AF AG AH AI AE AJ AK AL AM
AN AK AL AO X Y Z AA AB AC AD AE ~@3 AF AG AH AI AP
>`.pickRestart({
A: "[a3,c4] ~@5 [bb3,d4] ~ [a3,eb4] ~@7", B: "[f3,d4]@10 [d3,bb3]@2 [eb3,c4]@3 [f3,d4]", C: "[g3,eb4]@3 ~",
D: "[a3,c4]@9 ~ [f3,a3]@2 [g3,bb3]@3 [a3,c4]", E: "[bb3,d4]@3 ~", F: "[bb3,g4]@10 [a3,f4]@2 [g3,eb4]@3 [f3,d4]",
G: "[eb3,c4]@15 ~", H: "[f3,d4]@2 [e3,db4] [f3,d4] f4@2 [c4,eb4]@2, ~@8 d4 ~@7",
I: "[bb3,d4]@4 [a3,f4] ~ [g3,eb4] ~ [f3,d4] ~@3 [d3,bb3]@2 ~ [eb3,c4]", J: "[f3,d4]@10 [d3,bb3] ~ [eb3,c4]@3 [f3,d4]",
K: "[g3,eb4]@13 ~@3", L: "[a3,f4]@9 ~ [a3,f4]@2 [bb3,e4]@3 [c4,eb4]",
M: "~ [eb3,g3] bb3 eb4 g4@4, ~@4 g3 ~ bb3 ~ eb4 ~@7", N: "~@2 [d3,f3]@2 bb3@2 d4@2 f4@7 ~, ~@4 f3 ~ bb3 ~ d4 ~@7",
O: "~@2 [eb3,f3]@2 a3@2 c4@2 f3@7 ~, ~@4 f3 ~ a3 ~@9", P: "[bb3,d4] ~@3 [bb3,d4]@3 [bb3,d4]!2 ~@7", Q: "f4",
R: "f3@5 ~ f3 a3 c4@6 ~@2", S: "c3 ~ e3 ~ g3 ~ bb3 ~ a3 ~ c4 ~ f3@3 ~", T: "[g3,c4]@8 a3 ~@7",
U: "f3@6 f3 a3 c4@6 ~@2", V: "c3 ~ e3 ~ g3 ~ bb3 ~ a3 ~ c4 ~ f3@4",
W: "g3@4 bb3@4 a3 ~@3 [d3,bb3]@3 [eb3,c4], c4@9 ~@7", X: "[eb3,g3]@3 bb3 [g3,bb3]@4, ~@6 g3 ~@9",
Y: "[c4,eb4]@6 [ab3,c4] ~ [ab3,c4]@8", Z: "[g3,bb3]@3 [ab3,c4] [g3,bb3]@2 [eb3,b3]@2", AA: "[g3,bb3]@11 ~@5",
AB: "[f3,ab3] [g3,bb3]", AC: "[bb3,d4] [ab3,c4]", AD: "[g3,bb3]@3 [ab3,c4] [g3,bb3]@3 [f3,ab3]", AE: "[eb3,g3]@5 ~@3",
AF: "~@3 [f3,ab3]", AG: "[eb3,g3]@6 [g3,bb3] ~ [g3,bb3]@8", AH: "[g3,eb4]@6 [ab3,c4] ~ [ab3,c4]@8",
AI: "[g3,bb3]@3 [eb3,b3] [g3,bb3]@2 [f3,ab3]@2", AJ: "~ [eb3,g3] [g3,bb3] [bb3,g4] [g3,eb4]@4",
AK: "~@2 [f3,ab3]@2 [bb3,d4]@2 [ab3,c4]@2 f3@7 ~, ~@8 ab3 ~@7", AL: "~ [f3,ab3] [g3,bb3] [ab3,c4] [bb3,d4]@4",
AM: "[eb3,eb4]@9 ~@7", AN: "~@2 [eb3,g3]@2 bb3@2 g4@2 [g3,eb4]@7 ~, ~@4 g3 ~ bb3 ~@9",
AO: "[g3,eb4]@4 [ab3,d4] ~ [ab3,d4] ~ g3@2 ~@2 [f3,bb3]@4, ~@8 eb4 ~@7", AP: "[eb3,g3]@10 ~@2 [eb3,eb4] ~@3",
})).s("gm_synth_brass_2").gain(0.36)
// chords · trombone · "Posaunen"
const trombone = note(`<
A B C D E F D G H B C D E I J D K L M N O L P N O B C D E I J D K Q R S T U V W X R Y Z AA Q AB AC X Q AD@2 AE Q AD@2
AF Q R S T U V W X R Y Z AA Q AB AC AG
>`.pickRestart({
A: "[a3,c4,f4] ~@5 [bb3,d4,f4] ~ [a3,c4,f4] ~@7", // F Bb F
B: "~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~", // Bb
C: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~", // Eb
D: "~@2 [f3,a3,eb4] ~@3 [f3,a3,eb4] ~@3 [f3,a3,eb4] ~@3 [f3,a3,eb4] ~", // F7
E: "~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~ [f3,bb3,d4] ~ [f3,bb3,d4] ~", // Bb
F: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [g3,bb3,d4] ~@3 [g3,bb3,d4] ~", // Eb Gm
G: "~@2 [f3,d4]@2 [e3,db4]@2 [f3,bb3,d4]@2 [bb3,d4] ~@3 [f3,c4,eb4]@3 ~, ~@2 bb3 ~ bb3 ~@3 f4@2 ~@6", // Dm Dbm Bb F7
H: "[f3,bb3,d4]@4 [a3,f4] ~ [eb3,g3,eb4] ~ [d3,f3,d4] ~@7", I: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~ [g3,bb3,eb4]@8",
J: "~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~ [f3,bb3,d4]@7 ~", K: "[f3,bb3,d4] ~@3 [f3,bb3,d4]@2 ~ [f3,bb3,d4]!2 ~@7",
L: "~@2 [a3,c4,f4] ~@3 [a3,c4,f4] ~@3 [a3,c4,f4] ~@3 [f3,bb3,d4] ~", // F Bb
M: "~@2 [a3,c4,f4] ~@3 [a3,c4,f4] ~@3 [a3,c4,f4] ~ [a3,c4]@3 ~, ~@12 f4 ~@3", // F Am
N: "c3 ~ e3 ~ g3 ~ bb3 ~ a3 ~ c4 ~ f3@2 ~@2", O: "~@2 [g3,bb3,e4] ~@3 [g3,bb3,e4] ~ [a3,c4,f4] ~@7",
P: "~@2 [a3,c4,f4] ~@3 [a3,c4,f4] ~@3 [a3,c4,f4] ~ [a3,c4,f4]@3 ~", // F
Q: "~@2 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~", // Eb
R: "~@2 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~", // Ab
S: "~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [ab3,c4,eb4] ~@3 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [ab3,b3,eb4] ~", // Eb Ab Eb Abm
T: "~@2 [g3,bb3,eb4]!3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~", // Eb
U: "~@2 [f3,ab3,c4] ~@3 [f3,ab3,c4] ~@3 [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~", // Fm Eb
V: "~@2 [f3,bb3,d4] ~@3 [f3,bb3,d4] ~@3 [ab3,c4,f4] ~@3 [ab3,c4,f4] ~", // Bb Fm
W: "~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [ab3,c4,eb4] ~@3 [g3,bb3,d4] ~ [g3,bb3,d4] ~ [f3,ab3,d4] ~", // Eb Ab Gm Ddim
X: "~@2 [g3,bb3,eb4]!3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@7", // Eb
Y: "~@2 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,bb3,eb4] ~ [ab3,bb3,eb4] ~ [ab3,bb3,eb4] ~", // Ab Absus2
Z: "~@2 [ab3,d4,f4]!2 [ab3,d4,f4]@4 ~@2 [g3,bb3,eb4] ~@3 [f3,ab3,d4] ~", // Ddim Eb Ddim
AA: "~@2 [g3,bb3,eb4]!3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@3 [f3,ab3,d4]@4", // Eb Ddim
AB: "~@2 [g3,bb3,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~@3 [ab3,c4,eb4] ~", // Eb Ab
AC: "~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [ab3,b3,eb4] ~@3 [g3,bb3,d4] ~ g3 ~ [f3,ab3,d4] ~", // Eb Abm Gm Ddim
AD: "~@2 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~@3 [f3,ab3,d4] ~", // Ddim
AE: "~@2 [g3,bb3,eb4] ~ [g3,bb3,eb4] ~ [gb3,a3,eb4] ~ [g3,bb3,eb4] ~@7", // Eb Ebdim Eb
AF: "[g3,bb3,eb4]@3 ~ [f3,ab3,d4] ~ [f3,ab3,d4] ~ [g3,bb3,eb4] ~@3 [f3,ab3,d4]@4", // Eb Ddim Eb Ddim
AG: "~@2 [g3,bb3,eb4]!3 ~ [g3,bb3,eb4] ~ [g3,bb3,eb4] ~@3 [g3,bb3,eb4] ~@3", // Eb
})).s("gm_trombone").gain(0.22).pan(0.2)
// chords · clarinet · "Kl.nette"
const clarinet = note(`<
A B C D E F G H I J C D K L M N O P Q R S P T R U J C D K L M N V W X Y Z AA AB AC AD AE AF AG AH W AI AJ AK AL AM AN
AO AL AM AN AP W X Y Z AA AB AC AD AE AF AG AH W AI AJ AQ
>`.pickRestart({
A: "[f4,f5] [e4,e5] [f4,f5] [g4,g5] [a4,a5] ~ [bb4,bb5] ~ [c5,c6] ~@7", // F E F G A Bb C
B: "~@2 [d4,bb4,d5] ~ [f4,d5,f5]!3 [d4,bb4,d5] [f4,d5,f5] ~@7", C: "~@4 [g4,bb4,g5]!3 [eb4,g4,eb5] [g4,bb4,g5] ~@7",
D: "~@2 [f4,a4,f5] ~ [a4,c5,a5]!3 [f4,a4,f5] [a4,c5,a5] ~@7", E: "~@4 [f4,d5,f5]!3 [d4,bb4,d5] [f4,d5,f5] ~@7",
F: "~@2 [bb4,eb5,g5] ~ [eb5,g5,bb5]!3 [bb4,eb5,g5] [eb5,g5,bb5] ~@7", // Eb
G: "~@4 [eb4,c5,eb5]@3 [d4,bb4,d5] [c4,a4,c5]@3 [bb3,g4,bb4] [a3,f4,a4]@2 ~@2", // Cm Gm F Eb Dm
H: "[d4,f4,d5]@4 [db4,e4,db5]@2 [d4,f4,d5]@2 [f4,d5] ~@3 [f4,c5,eb5]@3 ~, ~@4 f5 ~@3", // Dm Dbm Dm F7
I: "[f4,bb4,d5]@3 [bb4,c5] [f4,a4,f5] ~ [eb4,g4,eb5] ~ [d4,f4,d5] ~@7", // Bb Bbsus2 F Eb Dm
J: "~@2 [bb4,d5] d4 [f4,d5,f5]!3 [d4,bb4,d5] [f4,d5,f5] ~@7", // Bb Dm Gm Dm
K: "~@4 [bb4,f5] [bb4,d5,f5]!2 [f4,bb4,d5] [bb4,d5,f5] ~@7", // Bb5 Bb
L: "[bb4,eb5,g5]@10 [bb4,eb5,g5] [a4,d5,gb5] [bb4,eb5,g5] ~@2 [bb4,eb5,g5]", // Eb D Eb
M: "[bb4,d5,f5]@9 ~ [bb4,d5,f5] [a4,db5,e5] [bb4,d5,f5] ~@2 [bb4,d5,f5]", // Bb A Bb
N: "[a4,c5,eb5]@9 ~ [a4,c5,eb5] ~ [g4,eb5,g5]@3 [f4,d5,f5]", // Adim Cm Dm
O: "[f4,bb4,d5] ~@3 [f4,bb4,d5]@2 ~ [f4,bb4,d5]!2 ~@5 [f4,a4,f5] [g4,bb4,g5]", // Bb F Gm
P: "[a4,c5,a5] ~ [a4,c5,a5] [ab4,b4,ab5] [a4,c5,a5] ~ [a4,c5,a5] [ab4,b4,ab5] [a4,c5,a5] ~ [a4,f5,a5] ~ [c5,e5,c6] ~ [bb4,d5,bb5] ~", // Am Abm Am Abm Am Dm C Bb
Q: "[a4,c5,a5] ~ [a4,c5,a5] [ab4,b4,ab5] [a4,c5,a5] ~ [f4,a4,f5] [g4,bb4,g5] [a4,c5,a5]@5 ~@3", // Am Abm Am F Gm Am
R: "~@2 [c5,e5,bb5] ~@3 [c5,e5,bb5] ~@3 [c5,f5,a5] ~@3 [c5,f5,a5] ~", // C7 F
S: "[c5,e5,c6] ~ [c5,e5,c6] [bb4,d5,bb5] [a4,c5,a5] ~ [g4,bb4,g5] ~ [f4,a4,f5] ~@5 [f4,f5] [g4,bb4,g5], ~@7 a4", // C Bb Am Gm F Gm
T: "[a4,c5,a5] ~ [a4,c5,a5] [ab4,b4,ab5] [a4,c5,a5] ~ [f4,a4,f5] [g4,bb4,g5] [a4,c5,a5]@6 ~@2", // Am Abm Am F Gm Am
U: "[c5,e5,c6] ~ [c5,e5,c6] [bb4,d5,bb5] [g4,bb4,g5] ~ [e4,g4,e5] ~ [f4,a4,f5] ~@7", // C Bb Gm Em F
V: "[f4,bb4,d5] ~@3 [f4,bb4,d5]@2 ~ [f4,bb4,d5]!2 ~@7", // Bb
W: "[g4,eb5,g5] ~@3 [bb3,g4,bb4] ~ [g4,eb5,g5] ~ [bb4,g5,bb5] ~@3 [g4,eb5,g5] ~ [bb4,g5,bb5] ~", // Cm Eb Cm Eb Cm Eb
X: "[c5,ab5,c6] ~@3 [ab4,c5,ab5] ~ [c5,eb5,c6] ~ [ab4,c5,ab5] ~@3 [c5,eb5,c6] ~ [ab4,c5,ab5] ~", // Fm Ab Cm Ab Cm Ab
Y: "[g4,bb4,g5] ~@3 [g4,bb4,g5] ~ [ab4,c5,ab5] ~ [g4,bb4,g5] ~@3 [g4,bb4,g5] ~ [eb4,b4,eb5] ~", // Gm Ab Gm Abm
Z: "[g4,bb4,g5] ~@3 [bb3,g4,bb4] [c4,ab4,c5] [bb3,g4,bb4] [c4,ab4,c5] [bb3,g4,bb4] ~@3 [g4,bb4,g5] ~ [eb4,g4,eb5] ~", // Gm Eb Fm Eb Fm Eb Gm Eb
AA: "[f4,ab4,f5] ~@3 [eb4,f4,ab4] ~ [f4,ab4,f5] ~ [g4,bb4,g5] ~@3 [eb4,g4,bb4] ~ [g4,bb4,g5] ~", // Fm Fm7 Fm Gm Eb Gm
AB: "[bb4,d5,bb5] ~@3 [d4,bb4,d5] ~ [bb4,d5,bb5] ~ [ab4,c5,ab5] ~@3 [c4,ab4,c5] ~ [ab4,c5,ab5] ~", // Bb Gm Bb Ab Fm Ab
AC: "[g4,bb4,g5] ~@3 [g4,bb4,g5] ~ [ab4,c5,ab5] ~ [g4,bb4,g5] ~@3 [g4,bb4,g5] ~ [f4,ab4,f5] ~", // Gm Ab Gm Fm
AD: "[eb4,g4,eb5] ~@3 [bb3,g4,bb4] [c4,ab4,c5] [bb3,g4,bb4] [c4,ab4,c5] [bb3,g4,bb4] ~ [eb4,eb5]@2 [g4,g5]@2 [bb4,bb5]@2", // Eb Fm Eb Fm Eb G Bb
AE: "[c5,eb5,c6]@4 [c5,eb5,c6]@3 [d5,f5,d6]", AF: "[c5,eb5,c6]@6 [ab4,c5,ab5]@2 [g4,bb4,g5]@7 ~",
AG: "[bb4,d5,bb5]@5 ~ [ab4,c5,ab5] ~ [g4,bb4,g5]@3 ~ [f4,ab4,f5]@4", AH: "[eb4,g4,eb5]@9 ~@3 [d5,f5,ab5]@3 ~",
AI: "[g4,eb5,g5] ~@3 [eb4,g4,eb5] ~ [c5,eb5,c6] ~ [ab4,c5,ab5] ~@3 [c5,eb5,c6] ~ [ab4,c5,ab5] ~", // Cm Eb Cm Ab Cm Ab
AJ: "[g4,bb4,g5] ~@3 [g4,bb4,g5] ~ [eb4,b4,eb5] ~ [g4,bb4,g5] ~@3 [ab4,bb4,f5] ~ [ab4,bb4,f5] ~", // Gm Abm Gm Bb7
AK: "[g4,bb4,eb5] ~@3 [g4,bb4,eb5] [ab4,c5,f5] [g4,bb4,eb5] [ab4,c5,f5] [g4,bb4,eb5] ~ [g4,bb4,g5]!2 [g4,c5,g5] ~ [ab4,c5,ab5] ~", // Eb Fm Eb Fm Eb Gm C5 Ab
AL: "[g4,bb4,g5] ~@3 [eb4,g4,eb5] ~@5 [g4,bb4,g5]!3 ~ [c5,eb5,c6] ~", // Gm Eb Gm Cm
AM: "[bb4,d5,bb5] ~@3 [f4,ab4,f5] ~@5 [bb4,d5,bb5]!3 ~ [c5,eb5,c6] ~", // Bb Fm Bb Cm
AN: "[d5,f5,d6] ~@3 [c5,eb5,c6] ~@3 [bb4,d5,bb5] ~@3 [ab4,c5,ab5] ~@3", // Dm Cm Bb Ab
AO: "[ab4,c5,ab5]@3 [g4,bb4,g5] [g4,bb4,g5]@2 [gb4,a4,gb5]@2 [g4,bb4,g5] ~ [g4,bb4,g5]!3 ~ [ab4,c5,ab5] ~", // Ab Gm Gbm Gm Ab
AP: "[g4,bb4,g5]@3 [ab4,c5,ab5] [f4,ab4,f5] ~ [g4,bb4,g5] ~ [eb4,g4,eb5] ~@3 [ab4,d5,f5]@4", // Gm Ab Fm Gm Eb Ddim
AQ: "[g4,bb4,eb5] ~@3 [g4,bb4,eb5] [ab4,c5,f5] [g4,bb4,eb5] [ab4,c5,f5] [g4,bb4,eb5] ~@3 [eb5,g5,bb5] ~@3", // Eb Fm Eb Fm Eb
})).s("gm_clarinet").gain(0.14).pan(0.1)
// drums · kick
const kick = s("bd").struct(`<
A B C B C B@2 D C B C B C B@3 C B C B E B C B C B C B C B@3 C B@2 F B@3 F E B C D@2 B@2 D E B@3 F B@3 G B@2 F B@3 F E
B C D@2 B@2 D G
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "x!4", C: "x!3 ~", D: "x ~ x!2", E: "x ~ x!3 ~@3", F: "x!2", G: "x ~ x!3 ~ x ~",
})).gain(0.09)
// drums · snare
const snare = s("sd").struct(`<
A B C B C B C D E B C B C B@3 F B G B H B G B H B C B C B@3 F B@2 I J B@2 I K B C L M N B O K B@3 P B@3 Q N B I J B@2
I K B C L M N B O R
>`.pickRestart({
A: "x ~@2 x!2 ~@3", B: "~ x ~ x ~ x ~ x", C: "~ x ~ x ~ x!3", D: "x!13 ~ x ~", E: "x ~ x!3 ~@3",
F: "x ~@3 x ~@2 x!2 ~@7", G: "~@2 x ~@3 x ~@3 x ~ x!4", H: "~ x ~ x!2 ~@3", I: "~ x!3 ~ x!3",
J: "~@2 x!3 ~ x ~ x ~ x ~ x ~ x ~", K: "~@2 x!3 ~ x ~ x ~@7", L: "~@2 x!7 ~ x ~@3 x ~", M: "~@2 x!3 ~ x ~ x ~@3 x!4",
N: "x!2 ~ x ~ x ~ x", O: "~ x!3 ~ x ~ x", P: "~ x!4 ~@3", Q: "x ~@2 x!2 ~ x ~ x ~@3 x!4",
R: "~@2 x!3 ~ x ~ x ~@3 x ~@3",
})).gain(0.08)
// drums · crash
const crash = s("cr").struct("<A ~@18 B ~@3 B ~@25 B C ~@2 B@3 D ~@15 E>".pickRestart({
A: "x ~@2 x!2 ~@3", B: "x!4", C: "x!3 ~", D: "x!2", E: "~@3 x",
})).gain(0.11)
stack(french_horn, bass, synth_brass_2, trombone, clarinet, kick, snare, crash)
More by Mosch
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.