0:00/0:00
// A Boy Named Sue — Cash Johnny
// 200 bpm, 4/4, key A# major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: duplicate parts dropped: ch 5 "12 Strin" acoustic guitar steel (copy of ch 1 "Steel st" acoustic guitar steel); ch 4 "Muted gu" electric guitar muted (copy of ch 2 "Bass gui" acoustic bass)
// note: Full arrangement: all 179 bars on a 16-step grid, each part at one level; ghost notes are separate "_soft" parts. Source detail keeps the original performance.
// note: Guitar parts that double another keep only their own notes (fills, solos): Steel st.
setcpm(200/4)
// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · [...]/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.
// chords · acoustic guitar steel · "Steel st"
const acoustic_guitar_steel = note(`<
A@6 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D
E A@8 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@4 B C D E A@8 B C D E A@4 B C
F ~@4 A@4 G@2
>`.pickRestart({
A: "[bb3,d4,f4]@2 [bb3,d4,f4]!2 [bb3,d4,f4]@2 [bb3,d4,f4]!2", // Bb
B: "[bb3,eb4,g4]@2 [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,eb4,g4]!2", // Eb
C: "[bb3,eb4,g4]@2 [bb3,eb4,g4]!2 [bb3,eb4,g4]@2 [bb3,db4,g4]!2", // Eb Gdim
D: "[c4,eb4,a4]@2 [c4,eb4,a4]!2 [c4,eb4,a4]@2 [c4,eb4,a4]!2", // Adim
E: "[c4,eb4,f4,a4]@2 [c4,eb4,f4,a4]!2 [c4,eb4,f4]@2 [c4,eb4,f4]!2", F: "[c4,eb4,a4]", G: "[bb3,d4,f4]/2",
})).s("gm_acoustic_guitar_steel").gain(0.07)
// bass · acoustic bass · "Bass gui"
const bass = note(`<
A@6 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2
C@2 A@8 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@4 B@2 C@2 A@8 B@2 C@2 A@4
B@2 D ~@4 A@4 E@2
>`.pickRestart({
A: "bb2@7 ~ f2@7 ~", B: "eb2@7 ~ eb2@7 ~", C: "f2@7 ~ c2@7 ~", D: "f2", E: "bb2/2",
})).s("gm_acoustic_bass").gain(0.45)
// chords · acoustic guitar steel · "Steel st"
const acoustic_guitar_steel_2 = note(`<
~@5 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B
C ~@4 A ~ A ~ A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ B C ~@4 A ~ A ~
A ~ B C ~@4 A ~ B D ~@10
>`.pickRestart({
A: "~@8 c3@3 ~@5", B: "~@6 e3 ~", C: "f3 ~@3", D: "f3",
})).s("gm_acoustic_guitar_steel").gain(0.52)
// drums · kick
const kick = s("bd").struct(`<
A@11 B A@7 B A@15 B A@15 B A@15 B A@7 B A@7 B A@25 B A@7 B A@22 B A@7 B A@19 C ~@4 A@4 C ~
>`.pickRestart({
A: "x!2", B: "x ~ x!2", C: "x",
})).gain(0.4)
// drums · rim
const rim = s("rim").struct("<A@20 B@10 C@6 B@16 D@116 E ~@4 D@4 E ~>".pickRestart({
A: "~@2 x!2 ~@2 x!2", B: "~ x ~ x", C: "~@2 x!2 ~@2 x ~", D: "x!2 ~ x", E: "x",
})).gain(0.3)
// drums · rim · soft notes
const rim_soft = s("rim").struct("<[x!2]!20 x!32 ~@127>").gain(0.15)
// drums · snare
const snare = s("sd").struct(`<
A@4 B@23 A B@2 C@4 D E B@7 F B@7 G H@7 I H@15 D H@6 J K L H L H@8 M H@7 G L H@6 M H@7 G H@7 D H@6 J K H@7 D H@6 J K L
H L H L H@6 M H@4 N ~@4 H D H D N ~
>`.pickRestart({
A: "~@2 x!2 ~@2 x!2", B: "~ x ~ x", C: "~@2 x!2 ~@2 x ~", D: "x ~@3 x ~ x ~ x ~@2 x!2 ~@3", E: "x ~ x!2 ~@2 x ~",
F: "~@4 x ~@6 x!2 ~@3", G: "x ~@3 x ~@2 x!2 ~@2 x!2 ~@3", H: "x!2 ~ x", I: "x ~ x!2 ~@2 x!2",
J: "x ~@3 x ~ x ~ x ~@2 x!2 ~@2 x", K: "~@4 x ~ x ~@4 x!2 ~@3", L: "x ~@3 x ~ x ~@4 x!2 ~@3", M: "x ~ x!3 ~ x!2",
N: "x",
})).gain(0.3)
// drums · snare · soft notes
const snare_soft = s("sd").struct("<A@4 B@16 C@7 A C@6 ~@2 C@15 ~@8 D ~@119>".pickRestart({
A: "x!2", B: "x ~@2 x!2 ~@2 x", C: "x", D: "~ x",
})).gain(0.15)
// drums · pedal hat
const pedal_hat = s("hh").struct("<~@4 [~ x ~ x]!164 [x!2]!5 [~ x ~ x]!4 ~@2>").gain(0.45)
// drums · crash
const crash = s("cr").struct("<~@82 A B C ~ C ~ C ~@45 A B ~@14 A B C ~ C ~ C ~@20 D ~>".pickRestart({
A: "x!4", B: "~ x!2 ~", C: "~ x ~@2", D: "x",
})).gain(0.45)
stack(acoustic_guitar_steel, bass, acoustic_guitar_steel_2, kick, rim, rim_soft, snare, snare_soft, pedal_hat, crash)
More by Johnny Cash
I Got Stripes1959 · D♭ major · 207 bpmThe Ways Of A Woman In Love1958 · B♭ major · 182 bpmRing Of FireG major · 100 bpmI Walk The LineF major · 105 bpmBallad Of A Teenage QueenB major · 95 bpmFolsom Prison BluesF♯ major · 100 bpmGuess Things Happen That WayB♭ major · 148 bpmSilent NightE major · 93 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.