0:00/0:00
// Requiem Op.48 — Gabriel Fauré
// 60 bpm, 3/4, key Eb major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: ch 3 "Bass" named as a bass, played on electric bass finger (its orchestral harp patch is not one); ch 4 "C Trumpet" named as a brass, played on trumpet (its church organ patch is not one)
// note: Transcription provider: pdmx. https://musescore.com/score/134306; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 63 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(60/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 · pizzicato strings · "Soprano"
const pizzicato_strings = note(`<
~@6 A ~@11 B C D E ~@4 F G H I ~@4 J K L M N O P Q ~@4 R S T S T U Q ~@10
>`.pickRestart({
A: "bb4@2 ~", B: "~ c5 d5", C: "f5@3 e5 d5@2", D: "d5@2 c5", E: "d5@5 ~", F: "bb4!2 eb5", G: "eb5 d5 c5",
H: "bb4@3 bb4 bb4@2", I: "bb4 bb4@2", J: "bb4 c5 db5", K: "f5@3 eb5 db5@2", L: "db5@2 c5", M: "bb4", N: "bb4 c5 d5",
O: "eb5 f5 g5", P: "eb5@2 d5", Q: "eb5@2 ~", R: "~@5 eb5", S: "eb5@2 eb5", T: "ab4 bb4 c5", U: "eb5",
})).s("gm_pizzicato_strings").gain(0.22)
// other · pizzicato strings · "Soprano" · soft notes
const pizzicato_strings_soft = note("<~@2 A@2 B ~ C@2 B ~ D@2 B ~ D@2 B ~ E ~@34 F G@2 ~@7>".pickRestart({
A: "[bb4@2 c5@2 bb4 ab4]/2", B: "bb4 ~", C: "[~@2 c5@2 bb4 ab4]/2", D: "[bb4 c5 db5@2 bb4 ab4]/2", E: "bb4 ~@2",
F: "[eb4,g4]", G: "[eb4,g4]/2",
})).s("gm_pizzicato_strings").gain(0.11)
// other · tremolo strings · "Tenor"
const tremolo_strings = note(`<
~@4 A@2 B ~ A@2 B ~ C@2 B ~ C@2 B ~@3 D@2 E F ~@4 G H I F ~@8 J K L K L M N ~@3 O P@3 ~@7
>`.pickRestart({
A: "[bb3@2 c4@2 bb3 ab3]/2", B: "bb3 ~", C: "[bb3 c4 d4@2 bb3 ab3]/2", D: "[a3@2 b3@2 a3 g3]/2", E: "a3@5 a3",
F: "bb3", G: "bb3@3 bb3 eb4@2", H: "eb4 d4 c4", I: "bb3@2 bb3", J: "~@5 eb4", K: "eb4@2 eb4", L: "ab3 bb3 c4",
M: "eb4", N: "eb4 ~", O: "[g3,bb3]", P: "[g3@2 g3, bb3]/3",
})).s("gm_tremolo_strings").gain(0.11)
// chords · electric bass finger · "Bass"
const electric_bass_finger = note(`<
A B C D C D C D C D E F G H E I G H J K L M N O P Q C R A S T U V W ~@8 X Y Z Y Z AA AB ~@2 A AC A B A AD AE AD ~@4
>`.pickRestart({
A: "g4 eb4 bb3 g3!2 bb3 eb4 g4!2 eb4 bb3 g3", B: "g3 bb3 eb4 g4!2 eb4 bb3 g3!2 bb3 eb4 g4",
C: "g4 eb4 bb3 g3!2 bb3 eb4 g4!2 eb4 c4 g3", D: "g3 c4 eb4 g4!2 eb4 bb3 g3!2 ab3 eb4 g4",
E: "g4 eb4 bb3 g3!2 c4 eb4 g4!2 eb4 db4 g3", F: "g3 db4 eb4 g4!2 eb4 bb3 g3!2 ab3 eb4 g4",
G: "g4 e4 bb3 g3!2 c4 e4 g4 f4 d4 bb3 ab3", H: "ab3 bb3 d4 f4!2 d4 bb3 ab3 ~ bb3 d4 f4, ~@2 ab3",
I: "g3 db4 eb4 g4!2 db4 bb3 g3!2 ab3 eb4 g4", J: "g4 d4 bb3 g3!2 bb3 d4 g4!2 d4 bb3 g3",
K: "f3 a3 d4 a4!2 d4 a3 f3!2 a3 d4 a4", L: "e4 d4 bb3 g3!2 bb3 d4 e4!2 c4 bb3 g3",
M: "gb3 a3 d4 gb4!2 d4 a3 gb3!2 a3 d4 gb4", N: "gb4 d4 a3 gb3!2 a3 d4 gb4!2 d4 b3 gb3",
O: "gb3 b3 d4 gb4!2 d4 a3 gb3!2 g3 d4 gb4", P: "gb4 d4 ab3 gb3!2 ab3 d4 gb4!2 d4 ab3 f3, ~@5 a3",
Q: "f3 ab3 bb3 d4!2 bb3 ab3 f3!2 ab3 bb3 d4, bb3 ~@5", R: "g3 c4 eb4 g4!2 d4 bb3 g3!2 ab3 c4 g4",
S: "bb3 c4 e4 bb4!2 e4 c4 bb3!2 c4 e4 bb4", T: "g4 eb4 bb3 g3!2 bb3 eb4 g4 [eb4,g4] eb4 c4 g3, bb3 ~@2 bb3 ~@2",
U: "g3 c4 eb4 g4 [d4,g4] d4 bb3 g3!2 ab3 c4 g4, eb4 ~@3 c4 ~", // G5
V: "g4 eb4 bb3 g3!2 bb3 eb4 g4!2 eb4 bb3 g3, bb3 ~@3 bb3 ~", W: "~ c4 e4 bb4!2 e4 c4 bb3!2 c4 e4 bb4, bb3@7 ~@5",
X: "~@5 eb4", Y: "eb4@2 eb4", Z: "ab3 bb3 c4", AA: "eb4", AB: "eb4 ~",
AC: "g3 bb3 eb4 g4!2 eb4 bb3 g3!2 bb3 eb4 g4, [bb2,eb3]", AD: "g3 bb3 eb4 g4!2 eb4 bb3 g3 ab3 bb3 eb4 f4",
AE: "g4 eb4 bb3 g3!2 bb3 eb4 g4 f4 eb4 bb3 ab3",
})).s("gm_electric_bass_finger").gain(0.05)
// chords · electric bass finger · "Bass" · soft notes
const electric_bass_finger_2 = note("<~@4 A B C ~ A B C ~ D E C ~ D E C ~@3 F G H ~@28 I@3 ~@7>".pickRestart({
A: "bb3 ~@3 c4 ~", B: "~@4 bb3@2 ~@2 ab3 ~@3", C: "bb3 ~@5", D: "bb3@2 ~@2 c4 ~@3 d4 ~@3", E: "~@2 bb3 ~@3",
F: "a3 ~@3 b3 ~", G: "~@4 a3@2 ~@2 g3 ~@3", H: "a3@5 ~", I: "[bb2@2 bb2, eb3]/3",
})).s("gm_electric_bass_finger").gain(0.02)
// chords · trumpet · "C Trumpet"
const trumpet = note("<~@41 A@3 B C@3 B D@2 ~@12>".pickRestart({
A: "[[eb2,eb3,bb3,eb4,g4,bb4] ~ [eb2,eb3,g3,eb4,g4] ~ [g2,g3,bb3,bb4] ~ [f2,f3,ab4,eb5] [eb3,eb4] [g2,eb3,d4,d5] ~ [ab2,ab3,c4,c5] ~@3 [eb2,eb3,g3,eb4,g4] ~ [g2,eb3,g3,bb3,eb4,bb4] ~, ~@4 [eb3,eb4]@3 ~ [bb3,bb4]@2 eb4@4 ~@4, ~@5 eb3 ~@3]/3", // Eb Gm Fm7 Eb Ebmaj7 Ab Eb Bb
B: "[f2,eb3,f3,eb4,ab4,eb5] ~ [g2,eb3,g3,d4,bb4,d5] ~ [ab2,eb3,ab3,c4,eb4,c5] ~", // Fm7 Ebmaj7 Ab
C: "[~@2 [eb2,eb3,g3,eb4,g4] ~ [g2,g3,bb3,d5] ~ [f2,f3,ab4,eb5] [eb3,eb4] [g2,eb3,d4,d5] ~ [ab2,ab3,c4,c5] ~@3 [eb2,eb3,g3,eb4,g4] ~ [g2,eb3,g3,bb3,eb4,bb4] ~, ~@4 [eb3,eb4]@3 ~ [bb3,bb4]@2 eb4@4 ~@4, ~@5 eb3 ~@3]/3", // Eb Gm Fm7 Eb Ebmaj7 Ab Eb Bb
D: "[~@2 [eb2,eb3,g3,eb4,g4] ~ [g2,g3,bb3,d5] ~ [f2,f3,ab4,eb5] [eb3,eb4] [g2,eb3,d4,d5] ~ [ab2,ab3,c4,c5] ~, ~@4 [eb3,eb4]@3 ~ [bb3,bb4]@2 [eb3,eb4]@2]/2", // Eb Gm Fm7 Eb Ebmaj7 Ab Eb Bb …
})).s("gm_trumpet").gain(0.17)
// other · string ensemble 1 · "Violins 1"
const string_ensemble_1 = note(`<
~@4 A B C ~ A B C ~ D E C ~ D E C F ~ G H I J K L ~ A M N ~ A M O P Q R S T U V W X W X W X W X W Y Z Y A AA AB AC AD
AE AF@3
>`.pickRestart({
A: "bb5 eb6 d6 eb6 ab6 g6", B: "f6 g6 eb6 d6 c6@2", C: "bb5 ~", D: "bb5 c6 e6 g6 bb6 g6", E: "ab6 f6 d6 eb6 c6 d6",
F: "[d4,a4]", G: "[d4,gb4]", H: "a5 d6 db6 d6 g6 gb6", I: "e6 gb6 d6 db6 b5@2", J: "a4@3 d5 gb5 a5",
K: "bb5 g5 ab5 f5 d5 bb4", L: "g4 eb4 bb3 g3!2 bb3 eb4 g4!2 eb4 c4 g3", M: "f6 g6 e6 d6 c6@2", N: "bb5@2 ~",
O: "f4 db4 bb3 f3!2 bb3 db4 f4!2 db4 bb3 f3", P: "f3 bb3 db4 f4!2 db4 bb3 f3!2 bb3 db4 f4",
Q: "f4 db4 ab3 f3!2 ab3 db4 f4 gb4 eb4 c4 gb3", R: "f3 bb3 d4 f4 g4 d4 bb3 g3 ab3 bb3 d4 ab4",
S: "bb4 g4 c4 bb3!2 c4 g4 bb4!2 ab4 d4 bb3", T: "bb3 eb4 g4 bb4!2 g4 eb4 bb3 c4 eb4 g4 c5",
U: "bb4 ab4 eb4 bb3!2 eb4 ab4 bb4!2 ab4 d4 bb3", V: "[g4,bb4] ~ g4 ~ bb4 ~", W: "eb5 ~ d5 ~ c5 ~",
X: "~@2 g4 ~ bb4 ~", Y: "g4 eb4 bb3 g3!2 bb3 eb4 g4!2 eb4 bb3 g3", Z: "g3 bb3 eb4 g4!2 eb4 bb3 g3!2 bb3 eb4 g4",
AA: "f6 g6 bb6 ab6 g6 ab6", AB: "c7@2 bb6 ab6 bb6 c7", AC: "bb6 ab6 bb6 c7 bb6 ab6", AD: "bb6 c7 bb6 ab6 bb6 c7",
AE: "g7 [bb6,c7] bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7", // Bbsus2
AF: "[bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6 c7 bb6@40 ~@16]/3",
})).s("gm_string_ensemble_1").gain(0.04)
// chords · string ensemble 1 · "Violoncellos"
const string_ensemble_1_2 = note(`<
A ~ A ~@6 B C D ~@2 E D F ~@2 G H I ~@2 I J H K H L H K H M N O P Q R S T U V W X Y V W X Y V Z AA Z AB@2 ~ AC@2 AD
AE@3
>`.pickRestart({
A: "[g3,bb3,eb4]@2 ~", B: "~ c4@2 ~@3 bb3@2 ~ ab3@2 ~", C: "~@5 c4@2 ~@3 db4@2", D: "~@6 bb3@2 ~ ab3@2 ~",
E: "~@2 bb3@2 ~ c4@2 ~@5", F: "~@5 c4@2 ~@5", G: "[f3,a3]", H: "[g3,bb3]", I: "[gb3,a3]", J: "[ab3,bb3]",
K: "[c4,eb4] [bb3,d4] [ab3,c4]", L: "[c3,bb3,e4]", M: "[c3,e4]", N: "[db3,f3]", O: "[f3,bb3]", P: "[f3,ab3]@2 eb3",
Q: "f3 [g3,bb3] ab3", R: "[bb3,c4]@2 [bb3,d4]", S: "bb3@2 [c4,eb4]", T: "[bb3,eb4]@2 [ab3,bb3]",
U: "[eb3,bb3] ~ [eb3,g3] ~ [eb3,g3] ~", V: "[eb3,f3] ~ eb3 ~ ab3 ~", W: "~@2 g3 ~ [g3,bb3] ~",
X: "[eb3,f3] ~ [eb3,g3] ~ [eb3,ab3] ~", Y: "~@2 [eb3,g3] ~ [g3,bb3] ~", Z: "[eb3,g3,bb3]", AA: "[eb3,bb3]", AB: "eb3",
AC: "[eb3,bb3]@2 [eb3,ab3]", AD: "g3 [g3,eb4] [bb3,g4] [g3,eb4]!2 [bb3,g4]",
AE: "[[bb3,g4]@4 [g3,eb4]@4 [g3,eb4]@4 [bb3,g4]@4 [bb3,g4]@5 [g3,eb4]@5 [eb3,g3,bb3]@30 ~@16]/3", // Eb Cm Eb Cm Eb
})).s("gm_string_ensemble_1").gain(0.03)
// other · string ensemble 1 · "Contrabasses"
const string_ensemble_1_3 = note("<~@38 A B C D E F G H E F G H E ~@12>".pickRestart({
A: "e1@2 f1", B: "g1@2 ab1", C: "bb1@2 bb1", D: "eb1 [eb1,eb2]@3 ~@4 [eb1,eb2]@4 ~@4 [g1,g2]@4 ~@4",
E: "[f1,f2] ~ [g1,eb2] ~ [ab1,ab2] ~", F: "~@2 [eb1,eb2] ~ [g1,eb2] ~", G: "[f1,f2] ~ [g1,g2] ~ [ab1,ab2] ~",
H: "~@2 [eb1,eb2] ~ [g1,g2] ~", // Eb G
})).s("gm_string_ensemble_1").gain(0.31)
// other · string ensemble 1 · "Contrabasses" · soft notes
const string_ensemble_1_soft = note("<~@25 A ~@8 B C D E ~@13 F@2 G@3 H ~@2 I@4>".pickRestart({
A: "bb1", B: "db2", C: "gb1", D: "ab1@2 ab1", E: "ab1 g1 f1", F: "[eb1,eb2]", G: "[eb2,bb2]",
H: "[eb2,bb2]@2 [eb2,bb2]", I: "[[eb2,bb2]@25 [eb2,bb2]@15 ~@8]/4",
})).s("gm_string_ensemble_1").gain(0.1)
stack(
pizzicato_strings, pizzicato_strings_soft, tremolo_strings, electric_bass_finger, electric_bass_finger_2, trumpet,
string_ensemble_1, string_ensemble_1_2, string_ensemble_1_3, string_ensemble_1_soft
)
More by Gabriel Fauré
Clair de lune Op. 46 Nr. 2D♭ major · 39 bpmBerceuse Op.16E major · 60 bpmCantique de Jean Racine - FauréD♭ major · 80 bpmDolly Suite Op.56E♭ major · 198 bpmElegy Op.24E♭ major · 40 bpmPavane Op.50A major · 65 bpmRomance Without Words in A-flat minor, Op. 17 No. 3A♭ major · 133 bpmSicilienneB♭ major · 61 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.