0:00/0:00
// Young At Heart — Frank Sinatra
// 80 bpm, 4/4, key G minor. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 66 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(80/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.
// bass · acoustic bass · "Bass (BB)"
const bass = note(`<
~@2 A B C D E F G H I J K L M N O P Q R C S T U G V W X Y Z AA AB AC AD H AE C D AF AG AH AI AJ AK AL AM AN AO AP AQ A
AR C D T AG AS@2 AT AU AV AW AX AY AZ BA
>`.pickRestart({
A: "bb1@8 f2@7 ~", B: "bb1@8 d2@4 db2@3 db1", C: "c2 g2", D: "c3@8 g2@7 ~", E: "f2@7 f1 c2@8",
F: "f2@5 f1 ~ f2 f2@4 f2@4", G: "bb1 f2", H: "bb1@8 f2@7 bb0", I: "d2@3 d1 d2@4 g2@4 gb2@4",
J: "g2@4 g2@3 d2 d3@3 d2 g2@4", K: "c2 g2 c3 g2", L: "c2@3 c1 c2@4 c2@4 e2@4", M: "f2@3 c2 g2@4 a2@3 c2 c3@3 c2",
N: "f2@3 f1 db2@4 c2@3 c1 f2@3 f1", O: "bb1@4 f2@4 bb2@4 f2@3 db2", P: "c2@4 c2@4 f2@2 ~ f2 a1@4",
Q: "bb1@8 f1@5 ~@2 f1", R: "bb1@5 bb0 ~ bb1 d2@4 db2@4", S: "c3@4 c2@3 c1 d2@4 eb2@3 ~", T: "f2 c2",
U: "f2@6 ~ e2 f2@4 f2@4", V: "bb2@8 f2@7 ~", W: "d2@3 d1 d2@4 g2@2 ~ g2 d3@4", X: "g2@4 g2@3 g1 ab2@4 g2@4",
Y: "c2@3 c1 db2@4 c2@4 d2@4", Z: "eb2@4 d2@4 eb2@3 bb1 bb2@3 bb1", AA: "bb2 ~@2 bb2 f2@4 g2@4 b1@4",
AB: "c2@3 ~ c2@4 f2@4 f2@4", AC: "bb1@4 d2@4 eb2@3 eb1 e2@4", AD: "f2@4 f2@4 bb1@2 ~ bb1 a1@4",
AE: "bb1@8 d2@3 d1 db2@4", AF: "f2@8 c2@6 ~ e2", AG: "f2@6 ~ f2 f2@4 f2@4", AH: "bb1@7 bb0 f2@7 bb0",
AI: "bb2@7 bb1 f2@4 eb2@3 ~", AJ: "d2@3 ab1 ab2@3 ab1 g1@4 gb2@4", AK: "g1@3 g0 g2@2 ~ g2 gb2@4 g2@3 g1",
AL: "c2@3 c1 c2@4 c2@3 c1 db2@4", AM: "c2@3 g1 g2@3 g1 c2@4 e2@4", AN: "f2@3 c2 c3@4 a2@4 f2@2 ~ c2",
AO: "f2!2 c2 f2", AP: "bb1@3 f1 f2@4 d2@4 bb1@2 ~ f1", AQ: "c2@2 ~ c2 e2@4 f2@4 f2@4", AR: "bb1@2 d2 db2",
AS: "[bb1@8 f1@4 ~@4 bb1 ~@2 bb1 f2@4 bb1@3 ~ db2@4, ~@15 f1@2 ~@15]/2", AT: "d2@3 ab1 ab2@3 ab1 g2@4 ab2@4",
AU: "g2@4 g2@3 g1 g2@4 g2@4", AV: "c3 ~@2 c3 g2@4 c3@4 g2@4", AW: "eb2@3 ~ eb2@4 eb2@2 ~ eb2 a1@4",
AX: "bb2@4 f2@4 g2@3 d2 d3@3 d2", AY: "c2@3 c1 c2@4 f2@3 ~ f2@4", AZ: "bb1@2 ~ bb1 d2@4 eb2@4 e2@2 ~ e2",
BA: "f2@4 f2@3 f1 bb1@3 f1 f2@3 f1",
})).s("gm_acoustic_bass").gain(0.19)
// chords · piano · "Piano (BB)"
const piano = note(`<
~@2 A@4 B C@2 D E F G H I J K L M N@3 O@2 P D Q R S@2 T U V W X Y@3 Z AA X AB@2 AC AD@4 AE@2 P AF@2 AG AH AI AJ@3 AK
AL@2 AM@2 V AN
>`.pickRestart({
A: "[[bb3,d4,f4,bb4]@15 [bb3,d4,f4]@9 [bb3,d4,f4]@4 [bb3,db4,e4,g4]@3 [bb3,c4,eb4,g4]@26 ~@2 [bb3,d4,eb4,g4]@5]/4", // Bb Bbdim Cm7 Ebmaj7
B: "[a3,eb4,g4,d5] [bb3,eb4,g4,d5]", // Dsus4 Ebmaj7
C: "[[a3,eb4,f4,c5]@8 [c4,eb4,g4,a4]@4 [db4,eb4,f4,a4]@3 [bb3,d4,f4,bb4]@8 ~ [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 ~@3]/2", // F7 Am7b5 Dbaug Bb
D: "[bb3,d4,f4] ~@2 [bb3,d4,f4]@2 ~@2 f3 [bb3,d4,f4]@2 ~ f3 [bb3,d4,f4]@2 ~@2", E: "[f3,c4,d4,ab4] [f3,b3,d4,a4]",
F: "[bb3,db4,f4,g4] [f3,b3,d4,a4]@2 [b3,eb4,f4,g4]", G: "[e3,gb3,bb3,d4,a4] [e3,bb3,c4,g4]",
H: "[e3,bb3,d4,g4]@8 [bb4,e5]@3 [g4,c5]@5, ~ bb3", I: "[eb3,g3,a3,d4]",
J: "[eb3,a3,d4,g4]@2 [bb3,c4,eb4,g4] [c4,eb4,g4,a4]", K: "[g3,d4,f4,bb4]", L: "[bb3,eb4,g4,d5]@7 [a3,c4,eb4,f4]@9",
M: "[bb3,d4,f4,bb4]", N: "[[bb3,d4,f4,bb4]@8 [bb3,d4,f4]@4 [bb3,db4,e4,g4]@3 [bb3,eb4,g4,c5]@33]/3",
O: "[[a3,eb4,f4,c5]@8 [bb3,eb4,g4,c5]@7 [a3,eb4,g4,d5]@9 [c4,eb4,g4,a4]@4 [db4,eb4,f4,a4]@4]/2", // F7 Cm7 Dsus4 Am7b5 Dbaug
P: "[bb3,d4,f4]@7 ~ [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 ~@3", Q: "[f3,c4,d4,ab4]@7 [b4,f5]@4 [g4,d5]@5, ~@7 b3@9",
R: "[bb3,db4,f4,g4]@3 [f3,b3,e4,a4]@9 [b3,eb4,f4,g4]@4", // Gm7b5 Fmaj7 Baug
S: "[[e3,bb3,d4,a4]@7 [e3,bb3,d4,a4]@8 [g3,eb4,bb4]@9 [gb4,c5]@3 [eb4,bb4]@5, ~@3 gb3]/2", // Dsus2 Eb Gbdim Eb5
T: "[bb3,d4,f4,bb4]@7 [f3,bb3,d4,g4]@9", U: "[eb3,bb3,c4,g4] [eb3,gb3,a3,db4]",
V: "[bb3,d4,f4]!2 [bb3,c4,eb4,g4] [bb3,db4,e4,g4]", W: "[bb3,c4,eb4,g4] [c4,eb4,g4,a4] [bb3,d4,f4,bb4]@2",
X: "[bb3,d4,f4,bb4]@7 ~ [bb3,d4,f4]@2 ~ [bb3,d4,f4]@2 ~@3", // Bb
Y: "[[bb3,d4,f4,bb4]@8 [bb3,d4,f4]@4 [bb3,db4,e4,g4]@3 [bb3,c4,eb4,g4]@26 ~@2 [eb3,bb3,d4,g4]@5]/3", // Bb Bbdim Cm7 Ebmaj7
Z: "[eb3,a3,d4,g4] [eb3,g3,bb3,d4]", AA: "[eb3,a3,c4,f4]@2 [c4,eb4,g4,a4] [db4,eb4,f4,a4]",
AB: "[[bb3,d4,f4] ~@2 [bb3,d4,f4]@2 ~@2 f3 [bb3,d4,f4]@2 ~ f3 [bb3,d4,f4]@2 ~ [c4,f4,ab4,d5]@8 [b3,f4,a4,e5]@9]/2", // Bb Dm7b5 Esus4
AC: "[bb3,db4,f4,g4]@3 [b3,e4,f4,a4]@9 [b3,eb4,f4,g4]@4", // Gm7b5 Esus4 Baug
AD: "[[bb3,d4,e4,a4]@7 [bb3,c4,e4,g4]@8 [bb3,e4,g4,d5]@8 [bb4,e5]@4 [g4,c5]@4 [a3,eb4,g4,d5]@16 [a3,eb4,f4,c5]@9 [bb3,c4,eb4,g4]@4 [c4,eb4,g4,a4]@4, ~@23 bb3@8 ~@33]/4", // Bbmaj7 C7 Em7b5 Bbdim C5 Dsus4 F7 Cm7 …
AE: "[[g3,bb3,d4,f4]@15 [bb3,eb4,g4,d5]@9 ~@3 c5@5, ~@3 [c4,eb4,f4,f5]]/2", // Gm7 Ebmaj7 F7
AF: "[[bb3,d4,f4,bb4]@8 [bb3,d4,f4]@4 [bb3,db4,e4,g4]@3 [bb3,eb4,g4,c5]@8 ~ [bb3,c4,eb4,g4]@2 ~ [bb3,c4,eb4,g4]@2 ~@3]/2", // Bb Bbdim Cm7
AG: "[bb3,c4,eb4,g4] ~@2 [bb3,c4,eb4,g4]@2 ~@2 g3 [bb3,c4,eb4,g4]@2 ~ g3 [bb3,c4,eb4,g4]@2 ~@2", // Cm7
AH: "[a3,eb4,g4,d5] [bb3,c4,eb4,g4]", AI: "[a3,c4,eb4,g4]@2 [c4,eb4,g4,a4] [db4,eb4,f4,a4]",
AJ: "[[bb3,d4,f4]@31 [f3,c4,d4,ab4]@9 [b4,f5]@3 [g4,d5]@5, ~@5 b3]/3", // Bb Dm7b5 Bdim G5
AK: "[bb3,db4,f4,g4] [f3,g3,b3,d4]@2 [b3,eb4,f4,g4]", // Gm7b5 G7 Baug
AL: "[[e3,bb3,d4,g4]@8 [e3,gb3,a3,bb3,d4]@7 [g3,eb4,bb4]@9 [gb3,bb3,c4,eb4]@8]/2", // Em7b5 D Eb Cm7b5
AM: "[[bb3,d4,f4,bb4]@8 [bb3,f4,a4,d5]@7 [bb3,eb4,g4,d5]@8 [a3,eb4,gb4,db5]@9]/2", // Bb Bbmaj7 Ebmaj7 Ebm7b5
AN: "[bb3,c4,eb4,g4]@4 [c4,eb4,g4,a4]@4 [bb4,f5]@3 d5@5, ~ bb3", // Cm7 Am7b5 Bb5
})).s("gm_piano").gain(0.4)
// chords · piano · "Piano (BB)" · soft notes
const piano_soft = note("<~@8 A ~@4 B ~@10 A ~ C ~@2 D ~@4 A ~@5 A ~@4 E ~@3 F A ~ G ~@5 H ~@6 I>".pickRestart({
A: "~@7 f3 ~@7 f3", B: "~ [g3,c4,e4]", C: "~@7 [g3,d4,f4]@9", D: "~ [eb3,bb3,c4]", E: "~@7 [g3,c4,e4]@8 ~",
F: "~@9 a4@7", G: "~@7 g3 ~@7 g3", H: "~ [g3,d4,f4]", I: "~ [f3,d4,f4]",
})).s("gm_piano").gain(0.24)
// chords · acoustic guitar nylon · "Guitar (BB)"
const acoustic_guitar_nylon = note(`<
~@2 A B C D E F G@2 H I J K L M N O G P D@2 Q R G@2 S I T U V O W X Y Z D@2 AA AB A AC AD AE AF J AG M N AH Y AI D@2
AJ F A AC AK AE AL AM AN AO W AP
>`.pickRestart({
A: "~@4 [d3,bb3] ~@7 [d3,bb3] ~@3", B: "~@4 [d3,bb3] ~@7 [e3,bb3] ~@3",
C: "bb3@4 [eb3,bb3] ~@3 [eb3,bb3]@4 [eb3,bb3] ~@3, eb3 ~@7", D: "[eb3,bb3]@4 [eb3,bb3] ~@3 [eb3,bb3]@4 [eb3,bb3] ~@3",
E: "~@4 [eb3,a3] ~@3 [eb3,bb3]@4 [eb3,bb3] ~@3", F: "~@4 [eb3,a3] ~@3 [eb3,a3]@4 [eb3,a3] ~@3",
G: "[d3,bb3]@4 [d3,bb3] ~@3 [d3,bb3]@4 [d3,bb3] ~@3", H: "[f3,c4]@2 ~@2 [f3,c4] ~@3 [f3,b3]@2 ~@2 [f3,b3] ~@3",
I: "[f3,bb3]@4 [f3,b3]@4 [f3,b3] ~@3 [f3,b3] ~@3", J: "[e3,bb3]@4 [e3,bb3] ~@3 [e3,bb3]@2 ~@2 [e3,bb3] ~@3",
K: "[e3,bb3]@4 [e3,bb3] ~@3 [e3,bb3]@4 [e3,bb3] ~@3", L: "~@4 [eb3,a3] ~@7 [eb3,a3] ~@3",
M: "[eb3,a3]@3 ~ [eb3,a3] ~@3 [eb3,bb3]@4 [eb3,a3] ~@3", N: "[d3,g3]@4 [d3,g3] ~@3 [d3,g3]@4 [d3,g3]@2 ~@2",
O: "[eb3,bb3]@4 [eb3,bb3] ~@3 [eb3,a3]@4 [eb3,a3] ~@3", P: "[d3,bb3]@4 [d3,bb3] ~@3 [d3,bb3]@4 [e3,bb3] ~@3",
Q: "[eb3,a3]@4 [eb3,a3] ~@3 bb3@4 [eb3,bb3] ~@3, ~@4 eb3 ~@3", R: "a3@4 [eb3,a3] ~@7 [eb3,a3] ~@3, eb3 ~@7",
S: "[f3,c4]@3 ~ [f3,c4] ~@3 [f3,b3]@2 ~@2 [f3,b3] ~@3", T: "[e3,bb3]@3 ~ [e3,bb3] ~@3 [e3,bb3]@2 ~@2 [e3,bb3] ~@3",
U: "[eb3,bb3]@4 [eb3,bb3] ~@3 [c3,gb3]@4 [c3,gb3] ~@3", V: "[d3,bb3]@4 [d3,bb3] ~@3 [f3,bb3]@2 ~@2 [f3,bb3] ~@3",
W: "[d3,bb3]@4 [d3,bb3] ~@3 [c3,g3]@4 [db3,g3] ~@3", X: "[eb3,bb3]@4 [eb3,a3] ~@3 [d3,bb3]@3 ~ [d3,bb3] ~@3",
Y: "bb3@4 [d3,bb3] ~@3 [d3,bb3]@4 [d3,bb3] ~@3, d3 ~@7", Z: "[d3,bb3]@4 [d3,bb3] ~@7 [e3,bb3] ~@3",
AA: "[eb3,a3]@4 [eb3,a3] ~@7 [eb3,bb3] ~@3", AB: "a3@4 [eb3,a3] ~@3 [eb3,a3]@4 [eb3,a3] ~@3, eb3 ~@7",
AC: "~@4 [d3,bb3] ~@3 [d3,bb3] ~@3 [d3,bb3] ~@3", AD: "[f3,c4]@3 ~ [f3,c4] ~@3 [f3,b3]@3 ~ [f3,b3] ~@3",
AE: "[f3,bb3]@4 [f3,b3]@3 ~ [f3,b3] ~@3 [f3,b3] ~@3", AF: "[e3,bb3]@2 ~@2 [e3,bb3] ~@3 [e3,bb3]@2 ~@2 [e3,bb3] ~@3",
AG: "[eb3,a3]@4 [eb3,a3] ~@3 [eb3,a3]@4 [eb3,a3] ~@3", AH: "[eb3,bb3]@3 ~ [eb3,bb3] ~@3 [eb3,a3]@2 ~@2 [eb3,a3] ~@3",
AI: "bb3@4 [d3,bb3] ~@3 [d3,bb3]@4 [e3,bb3] ~@3, d3 ~@7", AJ: "~@4 [eb3,a3] ~@7 [eb3,bb3] ~@3",
AK: "[f3,c4]@4 [f3,c4] ~@3 [f3,b3]@4 [f3,b3] ~@3", AL: "[e3,bb3]@4 [e3,bb3] ~@3 [e3,bb3]@3 ~ [e3,bb3] ~@3",
AM: "[eb3,bb3]@3 ~ [eb3,bb3] ~@3 [c3,gb3]@2 ~@2 [c3,gb3] ~@3", AN: "[d3,bb3]@4 [d3,bb3] ~@3 [f3,bb3]@4 [f3,bb3] ~@3",
AO: "[eb3,bb3]@2 ~@2 [eb3,bb3] ~@3 [eb3,a3]@4 [eb3,a3] ~@3", // Eb5 Ebdim
AP: "[eb3,bb3]@4 [eb3,a3] ~@3 [d3,bb3]@2 ~@2 [d3,bb3] ~@3", // Eb5 Ebdim Gm
})).s("gm_acoustic_guitar_nylon").gain(0.13)
// drums · kick
const kick = s("bd").struct(`<
~@2 A@3 B A C A@2 ~@3 D ~@3 D B A@2 E A@3 ~@4 F ~@3 F B G A@2 B A B@2 ~@3 H ~@3 I A@7 B ~@3 H ~@3 J
>`.pickRestart({
A: "x!2", B: "x ~ x!2", C: "~@2 x!2", D: "~ x ~@2", E: "~ x", F: "x ~@14 x", G: "x ~@7 x ~@6 x", H: "~@3 x ~@4 x ~@7",
I: "x ~@10 x ~@4", J: "x ~@6 x ~@3 x ~@4",
})).gain(0.25)
// drums · rim
const rim = s("rim").struct(`<
A B C@5 D C ~ C D C ~ C@3 ~ D C@2 E C@12 D C@3 D C D ~ C D C ~ C D C ~ C@7 ~ C D C ~ C D C ~
>`.pickRestart({
A: "x!2", B: "x!4", C: "~ x ~ x", D: "~ x ~@2", E: "~@4 x ~@6 x ~@4",
})).gain(0.3)
// drums · snare
const snare = s("sd").struct(`<
~@5 A ~@3 B C ~ D E C F D E ~@7 G H I J B F H D K ~@2 L ~@4 B M@2 N O P ~ D Q ~@7 B H M D O C ~ M R
>`.pickRestart({
A: "~@11 x ~@4", B: "~@7 x ~@3 x ~@3 x", C: "x!2", D: "~@7 x ~@7 x", E: "x ~@2 x ~ x ~@2 x!2 ~@5 x",
F: "~@7 x!2 ~@2 x ~@4", G: "~@11 x!2 ~@3", H: "~ x", I: "~@7 x!2 ~@7", J: "~@8 x ~@2 x ~@4",
K: "~@3 x ~@3 x ~@3 x ~@3 x", L: "~@3 x ~@12", M: "~@7 x ~@8", N: "~@3 x ~@3 x ~@3 x ~@4", O: "x ~@6 x ~@3 x ~ x ~ x",
P: "x ~@2 x ~@4 x ~@7", Q: "~@3 x ~@3 x!2 ~@2 x ~ x ~ x", R: "~@9 x ~@2 x!2 ~ x",
})).gain(0.15)
// drums · low tom
const low_tom = s("lt").struct("<~@13 [~@11 x ~@3 x] ~@3 [~@11 x ~@3 x] ~@48>").gain(0.2)
// drums · hihat
const hihat = s("hh").struct("<~@2 A@7 B C@8 D A@7 C@8 D A@5 D A C@8 A@8 C@7 E>".pickRestart({
A: "x!4", B: "x ~@3 x ~@2 x!2 ~@3 x ~@2 x", C: "~ x ~ x", D: "~ x!3", E: "x!2 ~ x",
})).gain(0.3)
// drums · hihat · soft notes
const hihat_soft = s("hh").struct("<~@2 A@7 ~@9 A@8 ~@8 A@8 ~@8 A@8 ~@8>".pickRestart({
A: "~@7 x ~@7 x",
})).gain(0.15)
// drums · mid tom
const mid_tom = s("mt").struct("<~@13 A ~@3 A ~@27 B ~@15 B ~@4>".pickRestart({
A: "~@7 x ~@5 x ~@2", B: "~@15 x",
})).gain(0.2)
// drums · open hat
const open_hat = s("oh").struct("<~@18 x ~@14 [~@11 x ~@4] x ~@5 x ~@25>").gain(0.2)
// drums · high tom
const high_tom = s("ht").struct("<~@13 [~@3 x] ~@3 [~@3 x] ~@48>").gain(0.25)
// drums · crash
const crash = s("cr").struct("<~@10 A ~@19 A ~@27 A ~@3 A ~@2 B>".pickRestart({
A: "x", B: "~@7 x ~@8",
})).gain(0.2)
// drums · ride
const ride = s("rd").struct("<~@10 A B@2 C A B@2 C ~@8 B@4 A B@3 ~@8 B@3 D A B@2 A ~@8 A B@2 D A B@2 E>".pickRestart({
A: "~@4 x ~@2 x!2 ~@3 x ~@2 x", B: "x ~@3 x ~@2 x!2 ~@3 x ~@2 x", C: "x", D: "x!4", E: "x!2 ~@2",
})).gain(0.3)
stack(
bass, piano, piano_soft, acoustic_guitar_nylon, kick, rim, snare, low_tom, hihat, hihat_soft, mid_tom, open_hat,
high_tom, crash, ride
)
More by Frank Sinatra
My Way (live)C major · 82 bpmNew York, New York (theme du film)G minor · 112 bpmStrangers in the NightC major · 93 bpmEbb TideC major · 82 bpmLuck Be a LadyE♭ major · 157 bpmWhat Is This Thing Called Love?A minor · 70 bpmWitchcraftE♭ major · 120 bpmA Nightingale Sang in Berkeley SquareE♭ major · 76 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.