0:00/0:00
// i am sailing — ROD STEWART
// 50 bpm, 4/4, key F major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: metre changes (1/4 at bar 1, 4/4 at bar 2) are rendered on a constant 4/4 grid of one bar per cycle
// note: Transcription provider: pdmx. https://musescore.com/score/5923867; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 19 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(50/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [...]/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 · trumpet · "Flügelhorn"
const trumpet = note("<A B C D E F G H I ~@7 J@3>".pickRestart({
A: "~@6 c4 d4", B: "f4@2 f4@4 a4 c5", C: "d5@4 d5@8 d5@3 c5", D: "c5@4 bb4@8 bb4@3 a4", E: "a4@6 bb4 a4",
F: "a4 g4 g4@4 a4 g4", G: "f4@2 f4@4 d4 f4", H: "a4@2 g4@2 g4@8 g4@3 f4", I: "f4@3 ~",
J: "[~@13 d4@2 f4@2 a4@2 g4@2 g4@8 ~@2 g4@3 f4 f4@12 ~]/3",
})).s("gm_trumpet").gain(0.25)
// other · trumpet · "Trompete in B"
const trumpet_2 = note("<~@8 A B C D E F G H I J@2>".pickRestart({
A: "~@6 c4 d4", B: "f4@2 f4@4 a4 c5", C: "d5@4 d5@8 d5@3 c5", D: "c5@4 bb4@8 bb4@3 a4", E: "a4@12 bb4@3 a4",
F: "a4@3 g4 g4@8 a4@3 g4", G: "f4@2 f4@4 d4 f4", H: "a4@2 g4@2 g4@8 g4@3 f4", I: "f4 ~",
J: "[~@15 bb4@3 a4 a4@12 ~]/2",
})).s("gm_trumpet").gain(0.3)
// other · french horn · "Horn in F"
const french_horn = note("<~ A@2 B C D E F A G H I A J K L M N O>".pickRestart({
A: "a3", B: "d4", C: "c4", D: "b3", E: "a3@3 ~", F: "bb3@6 bb3!2", G: "c4@2 c4@4 c4!2", H: "d4@4 d4@8 f4@3 f4",
I: "c4@12 c4@3 c4", J: "d4@4 d4@8 d4@3 d4", K: "d4 d4@3", L: "d4@12 d4@3 d4", M: "c4 ~", N: "~ bb3@12 ~@3",
O: "~@3 a3@12 ~",
})).s("gm_french_horn").gain(0.25)
// bass · tuba
const bass = note("<~ A B C A D B D E F G H F I G I J K L>".pickRestart({
A: "f2", B: "d2", C: "bb1", D: "g2", E: "f2 c2", F: "f2!2", G: "d2!2", H: "bb1!2", I: "g2!2", J: "f2 ~",
K: "~ g2@12 ~@3", L: "~@3 f2@12 ~",
})).s("gm_tuba").gain(0.25)
stack(trumpet, trumpet_2, french_horn, bass)
More by Rod Stewart
Maggie May1971 · D major · 130 bpmSailingB major · 130 bpmTwistin The Night Away (From "Innerspace")1987 · D major · 136 bpmIt Takes TwoB♭ major · 122 bpmDa Ya Think I'm SexyD minor · 114 bpmSome Guys Have All the LuckD major · 118 bpmTonight's the NightB major · 91 bpmAs Time Goes ByF major · 84 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.