0:00/0:00
// Ebb Tide — Frank Sinatra
// 82 bpm, 4/4, key C major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: ch 4 "Guitar" named as a guitar, played on electric guitar clean (its synth strings 2 patch is not one); ch 11 "Bass" named as a bass, played on electric bass finger (its orchestral harp patch is not one)
// note: sustain pedal (CC 64) lengthens the held notes
// note: Full arrangement: all 73 bars on a 24-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
setcpm(82/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"
const bass = note(`<
A@3 B C D E F C G D H C D E F C G D I E J I K A C D L C D K L C D E L M L C D E F C G D H C D E F C G D I E J I K A C
D L C D K L C D E L M N ~
>`.pickRestart({
A: "c2@11 ~ c2@10 g2@2", B: "c2@11 ~ g2@11 ~", C: "c2@11 ~ c2@10 g1@2", D: "a1@11 ~ a1@10 e2@2",
E: "d2@11 ~ d2@10 a2@2", F: "g2@11 ~ g2@10 d2@2", G: "a#1@11 ~ a#1@10 f1@2", H: "f2@11 ~ d2@6 g2@6",
I: "a1@11 ~ a1@11 ~", J: "e2@11 ~ e2@10 b1@2", K: "f2@11 ~ f2@10 c2@2", L: "d2@11 ~ g2@11 ~", M: "c2@11 ~ a1@11 ~",
N: "d2@6 g2@6 c2@11 ~",
})).s("gm_acoustic_bass").gain(0.22)
// chords · piano
const piano = note(`<
A B C D E F G H E I J K E L G H A I J M N O P Q A R L S C L Q T E U N V W X E L G H A Y Z AA E F G AB C AC Z AD N O AE
AF C AG AH V E L Q S AI F G AJ AK AL ~
>`.pickRestart({
A: "~@11 e3, e4, c2@11 ~, ~ e3@2 c4@2 e3@2 g3@2 c4@3, ~ g3!2 c4 e3 g3",
B: "~@11 e3, [c2,e4], ~ e3@3 ~ e3@2 ~ e3@2 ~@2, ~@2 g3@2 g3@2 ~ g3@2 ~ g3@2, ~@3 c4@2 ~ c4@2 ~ c4@3", // C
C: "~@5 e3 ~@2 g3 ~@2 e3, c2@3 ~@2 g3, ~ e3@2 c4@3 ~ e3@2 c4@3, ~ g3!2 c3@3",
D: "~@5 e3 ~@5 b3, [c2,e4] g2, ~ e3@3 ~@4 b3@3 ~, ~@2 g3@2 g3@2 ~ d4@3 d4@2, ~@3 c4@2 ~ g4@3 g4@3", // C
E: "~@11 g3, c2 c3, c4!2 e4!2, ~ g3@3 g3@3 c4@2 ~ c4@2, ~@2 e3@3 e3@2 ~ g3@3 ~",
F: "~@11 c3, c4, a2@11 ~, ~ c3@2 g3@2 c3@2 e3@2 g3@3, ~ e3!2 g3 c3 e3",
G: "~@5 f3 ~@2 a3 ~@2 f3, d2@3 ~@2 a3, ~ f3@2 c4@3 ~ f3@2 c4@3, ~ a3!2 d3@3",
H: "~@5 g3 ~@2 b3 ~@2 g3, g2!2, ~ g3@4 ~@2 g3@3 ~@2, ~ b3!2 ~@2 b3, ~ f4 ~ f4",
I: "~@5 d3 ~@2 f3 ~@2 d3, a#1@3 ~@2 f3, ~ d3@2 a#3@3 ~ d3@2 a#3@3, ~ f3!2 a#2@3",
J: "~@11 e3, a2!2, a3!2 c#4!2, ~ e3@3 e3@3 a3@2 ~ a3@2, ~@2 c#3@3 c#3@2 ~ e3@3 ~",
K: "~@5 f3 ~@2 a3 ~@2 b3, f2@2 d2 [g2,g4], ~ f3@4 ~@2 f3@2 ~@3, ~ g#3!2 ~@3, ~@3 d4@3 ~@4 d4@2", // G
L: "~@11 e3, a2!2, a3!2 c4!2, ~ e3@3 e3@3 a3@2 ~ a3@2, ~@2 c3@3 c3@2 ~ e3@3 ~",
M: "~@5 c#3 ~@5 c#3, a2!2, a3!2 ~ g3, ~ e3@3 e3@2 ~@2 d#3@2 d#3@2, ~@2 c#3@3 ~@2 c#3@2 ~@3",
N: "~@11 a3, d2 d3, d4!2 f4!2, ~ a3@3 a3@3 d4@2 ~ d4@2, ~@2 f3@3 f3@2 ~ a3@3 ~",
O: "~@5 e3 ~@2 g#3 ~@2 e3, e2!2, ~ e3@4 ~@2 e3@3 ~@2, ~ g#3!2 ~@2 g#3, ~ d4 ~ d4",
P: "~@5 c3 ~@5 c3, [a2,c4] a2, ~ c3@3 ~@4 c3@3 ~, ~@2 e3@2 e3@2 ~ e3@3 e3@2, ~@3 a3@2 ~ a3@3 a3@3", // Am
Q: "~@11 c4, f2 f3, f4!2 g#4!2, ~ c4@3 c4@3 f4@2 ~ f4@2, ~@2 g#3@3 g#3@2 ~ c4@3 ~",
R: "~@11 e3, e4, c2@11 ~, ~ e3@2 c4@2 e3@2 g#3@2 c4@3, ~ g#3!2 c4 e3 g#3",
S: "~@5 f3 ~@5 g3, [d2,f4] g2, ~ f3@3 ~@3 g3@4 ~, ~@2 a3@2 a3@2 ~@3 f4@3, ~@3 c4@2 ~@3 b3@2 b3@2", // Dm
T: "~@5 f3 ~@5 b3, [d2,f4] [g2,b4], ~ f3@3 ~@5 f4@2 ~, ~ a3!2 ~ d4!2, ~@3 c4@2 ~@2 b3@3 ~@2", // Dm G
U: "~@5 c3 ~@2 e3 ~@2 c3, a2!2, ~ c3@2 g3@3 ~@3 g3@3, ~@2 e3@2 e3@2 ~ c3@2 ~ e3@2",
V: "~@5 f3 ~@5 b3, d2 [g2,b4], d4@3 d4@3 ~@2 d4@2 d4@2, ~ a3@3 a3@2 ~ b3@3 ~@2, ~@2 f3@3 ~@4 f4@2 ~", // G
W: "~@5 e3 ~@5 c3, c2 ~, c4@3 c4@3 ~@2 e3@2 e3@2, ~ g3@3 g3@2 ~ c3@2 g3@3, ~@2 e3@3 ~ a2@6",
X: "~@5 f3 ~@5 g3, d2 g2, d4@3 d4@3 ~@2 b3@2 b3@2, ~ a3@3 a3@2 ~ g3@4 ~, ~@2 f3@3 ~@4 f4@3",
Y: "~@11 d3, d4, a#1@11 ~, ~ d3@2 a#3@2 d3@2 f3@2 a#3@3, ~ f3!2 a#3 d3 f3",
Z: "~@11 c#3, c#4, a2@11 ~, ~ c#3@2 g3@2 c#3@2 e3@2 g3@3, ~ e3!2 g3 c#3 e3",
AA: "~@5 g#3 ~@2 a3 ~@2 b3, [f2,g#4]@2 [d2,f4] g2, ~ g#3@3 ~@3 f3@2 ~ g3@2, ~ c4!2 ~@3, ~@3 d4@2 ~@7", // Fm Dm
AB: "~@11 d4, g2!2, g4!2 b4!2, ~ d4@3 d4@3 g4@2 ~ g4@2, ~@2 b3@3 b3@2 ~ d4@3 ~",
AC: "~@11 f3, a#1 a#2, a#3!2 d4!2, ~ f3@3 f3@3 a#3@2 ~ a#3@2, ~@2 d3@3 d3@2 ~ f3@3 ~",
AD: "~@5 c#3 ~@5 c#3, a2!2, a3!4, ~ e3@3 e3@2 ~ d#3@3 d#3@2, ~@2 c#3@3 ~@3 c#3@3 ~",
AE: "~@5 c3 ~@5 c3, a2 [a2,c4], a3@3 a3@3 ~@3 g3@2 ~, ~ e3@3 e3@2 ~@2 e3@2 e3@2, ~@2 c3@3 ~@2 c3@3 ~@2", // Am
AF: "~@5 f3 ~@2 g#3 ~@2 f3, f2!2, ~ f3@4 ~@2 f3@3 ~@2, ~ g#3!2 ~@2 g#3, ~ d4 ~ d4",
AG: "~@11 g#3, c2 c3, c4!2 e4!2, ~ g#3@3 g#3@3 c4@2 ~ c4@2, ~@2 e3@3 e3@2 ~ g#3@3 ~",
AH: "~@5 c3 ~@2 e3 ~@2 c3, a2!2, ~ c3@2 a3@3 ~@3 a3@3, ~@2 e3@2 e3@2 ~ c3@2 ~ e3@2",
AI: "~@5 e3 ~@2 g3 ~@2 e3, c2@3 ~@2 g3, ~ e3@2 b3@3 ~ e3@2 b3@3, ~ g3!2 c3@3",
AJ: "~@5 f3 ~@5 b3, d2 g2, ~ f3@2 c4@3 g4@3 g4@3, ~@2 a3@2 a3@2 ~ d4@3 d4@2, ~@8 b3@3 ~",
AK: "~@5 e3 ~@5 c3, [c2,e4]@6 ~@3 g3@2 ~, ~ e3@3 ~@2 [a2,c4]@6, ~@2 g3@2 g3@2 ~ c3@3 ~@2, ~@3 c4@2 ~@3 e3@2 e3@2", // C Am
AL: "~@2 a3 ~@2 b3 ~@2 g3@4, [d2,f4] [g2,g4] c2@2, ~ f3@2 ~ d4@2 ~ e3@2 ~@3", // Dm G
})).s("gm_piano").gain(0.17).pan(0.3)
// other · electric guitar clean · "Guitar"
const electric_guitar_clean = note(`<
A ~ A B A C D E A F C G A C D E A F C H D I J K A L C M A C K M A C D M N M A C D E A F C G A C D E A F C H D I J K A
L C M A C K M A C D M N O ~
>`.pickRestart({
A: "~ g4@2 ~@13 g4@3 ~@2 g4@3", B: "~ g4@2 ~@10 d4@2 ~@9", C: "~ e4@2 ~@13 e4@3 ~@2 e4@3",
D: "~ a4@2 ~@13 a4@3 ~@2 a4@3", E: "~ d4@2 ~@13 d4@3 ~@2 d4@3", F: "~ f4@2 ~@13 f4@3 ~@2 f4@3",
G: "~ c5@2 ~@10 a4@2 ~@4 d4@2 ~@3", H: "~ e4@2 ~@10 d#4@2 ~@9", I: "~ b4@2 ~@13 b4@3 ~@2 b4@3",
J: "~ e4@2 ~@10 e4@2 ~@9", K: "~ c5@2 ~@13 c5@3 ~@2 c5@3", L: "~ g#4@2 ~@13 g#4@3 ~@2 g#4@3",
M: "~ a4@2 ~@10 d4@2 ~@9", N: "~ g4@2 ~@10 e4@2 ~@9", O: "~ a4@2 ~@4 d4@2 ~@4 g4@2 ~@9",
})).s("gm_electric_guitar_clean").gain(0.13)
// other · synth strings 2 · "Strings"
const synth_strings_2 = note(`<
A@2 B C B D E F B G H I B D E F B G H J E K L K B@2 D M B D K M B D E M N M B D E F B G H I B D E F B G H J E K L K
B@2 D M B D K M B D E M N O ~
>`.pickRestart({
A: "[e4@3 ~@4 e4@34 f4@7]/2", B: "e4@3 ~@4 e4@17", C: "e4@3 ~@4 e4@5 b3@3 ~@4 b3@5", D: "c4@3 ~@4 c4@17",
E: "f4@3 ~@4 f4@17", F: "b3@3 ~@4 b3@17", G: "d4@3 ~@4 d4@17", H: "c#4@3 ~@4 c#4@17",
I: "g#4@3 ~@4 g#4@5 f4@3 ~@3 b3@3 ~@3", J: "c#4@3 ~@4 c#4@5 c#4@3 ~@4 c#4@5", K: "g#4@3 ~@4 g#4@17",
L: "c4@3 ~@4 c4@5 c4@3 ~@4 c4@5", M: "f4@3 ~@4 f4@5 b3@3 ~@4 b3@5", N: "e4@3 ~@4 e4@5 c4@3 ~@4 c4@5",
O: "f4@3 ~@3 b3@3 ~@3 e4@3 ~@4 e4@5",
})).s("gm_synth_strings_2").gain(0.13)
// bass · electric bass finger · "Bass"
const bass_2 = note(`<
A B C ~ D E F G H I J K D E F G H I L M N O P Q R S T U D V W X D E F Y Z AA D E F G H I J K D E F G H I L M N O P Q R
S T U D V W X D E F Y Z AB@2
>`.pickRestart({
A: "~ d3 a3 c4 e4@4", B: "~ e3 g3 b3 d4@4", C: "~ d3 f3 a3 ~ c3 e3 g3", D: "~ g2 c3 e3 g3 e3 c3 g2",
E: "~ a2 c3 e3 g3 e3 c3 a2", F: "~ a2 d3 f3 a3 f3 d3 a2", G: "~ g2 b2 e3 g3 e3 b2 g2", H: "~ g2 e3 g3 c4 g3 e3 c3",
I: "~ a#2 d3 f3 a#3 f3 d3 a#2", J: "~ a2 c#3 e3 a3@2 g3@2", K: "~ d3@3 f3@2 f3@2", L: "~ a2 c#3 e3 a3 e3 c#3 a2",
M: "~ c#3 g3 c#3 ~ c#3 g3 c#3", N: "~ a2 d3 f3 a3 f3 d3@2", O: "~ b2 e3 g#3 b3 g#3 e3@2", P: "~ e3 a3 e3 ~ e3 a3 e3",
Q: "~@3 c3@3 d3@2 f3@2 g#3@2 c4@3 g#3@3 f3@6", R: "~ e3 g3 c4 e4 c4@3", S: "~ e3 g#3 c4 e4 c4@3",
T: "~ e3 a3 c4 e4 c4@3", U: "~ a2 f3 a2 ~ f3 b3@2", V: "~ a2 c3 e3 a3 e3 c3 a2", W: "~ f3 g#3 c4 d4 c4 g#3 f3",
X: "~ a2 f3@2", Y: "~ a2@5 f3@2", Z: "~ g2 e3@2 ~ e3 g3@2", AA: "~ a2 f3 a3 f3@4",
AB: "[[d3,a3,d4]@3 [g2,f3]@3 [c2,g2,e3]@7 ~@11]/2", // D5 G7 C
})).s("gm_electric_bass_finger").gain(0.31)
// bass · electric bass finger · "Bass"
const bass_3 = note(`<
A B C D E F G H E I J K E F G H E I F L G M N O P Q R S E F A S E F G T U S E F G H E I J K E F G H E I F L G M N O P
Q R S E F A S E F G T U ~@2
>`.pickRestart({
A: "[f2,c3]", B: "[e2,b2]", C: "[d2,a2] [c2,g2]", D: "[g2,f3]!2", E: "c2", F: "[a1,e2]", G: "d2", H: "g1",
I: "[a#1,f2]", J: "[a1,e2]@2 ~ a2", K: "d2@4 g2@2 ~ g2", L: "e2 d#2", M: "e2", N: "a2 g2", O: "f2", P: "g2", Q: "g#2",
R: "a2", S: "d2 g2", T: "d2@3 g2", U: "c2 a2",
})).s("gm_electric_bass_finger").gain(0.31)
// drums · kick
const kick = s("bd").struct("<[x!2]!31 [x ~@2 x ~ x] [x!2]!33 [x ~@2 x ~ x] [x!2]!6 ~>").gain(0.22).pan(0.4)
// drums · kick · soft notes
const kick_soft = s("bd").struct("<[~@5 x ~@6]!72 ~>").gain(0.09).pan(0.4)
// drums · rim
const rim = s("rim").struct("<[~ x ~ x]!71 [~ x ~@2] ~>").gain(0.18).pan(0.4)
// drums · hihat
const hihat = s("hh").struct(`<
A B@2 A B A@3 B A B A@3 B A@2 B@2 A B A B A@3 B A B A B@3 A B A B@2 A@2 B A B@2 A@3 B@3 A@4 B@3 A@2 B A B@2 A B@4 A@3
C ~
>`.pickRestart({
A: "x!12", B: "x!11 ~", C: "x!7 ~@5",
})).gain(0.09).pan(0.4)
// drums · open hat
const open_hat = s("oh").struct(`<
~ A@2 ~ A ~@3 A ~ A ~@3 A ~@2 A@2 ~ A ~ A ~@3 A ~ A ~ A@3 ~ A ~ A@2 ~@2 A ~ A@2 ~@3 A@3 ~@4 A@3 ~@2 A ~ A@2 ~ A@4 ~@5
>`.pickRestart({
A: "~@11 x",
})).gain(0.13).pan(0.4)
stack(bass, piano, electric_guitar_clean, synth_strings_2, bass_2, bass_3, kick, kick_soft, rim, hihat, open_hat)
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 bpmLuck Be a LadyE♭ major · 157 bpmWhat Is This Thing Called Love?A minor · 70 bpmWitchcraftE♭ major · 120 bpmYoung At HeartG minor · 80 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.