Skip to content

Abc to booklet errors#56

Merged
chrisglein merged 14 commits into
brewingcode:masterfrom
chrisglein:abcToBookletErrors
Jul 7, 2026
Merged

Abc to booklet errors#56
chrisglein merged 14 commits into
brewingcode:masterfrom
chrisglein:abcToBookletErrors

Conversation

@chrisglein

@chrisglein chrisglein commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Before going over my manual edits, I tried scolding the robots to check their work and fix it first.

Prompts:

1

In reviewing the created and printed bookfold, I have noticied multiple errors specifically in the chords for songs. Ones that have different chords for verse and chorus, or are missing chords, or chords that are aligned with the wrong words. Compare the songbook markdown and the original source ABC for each song and scan for chord changes that are incorrect.
This is a big job. Write out an SongAnalysis.md in the root of the repo, updating after you analyze each individual song.

2

Include the high level analysis and biggest problem areas in the write-up.
Create a skill (SKILL.md) for creating the songbook page/spread from a source ABC file, ensuring they are in sync, and common pitfalls. The intent is this skill would be invoked for what you just did (fixing transcription errors) or for initial generation from an ABC notation source.

3

Now that skill is captured, go and apply the corrected chord placements. For Joli Rouge and Randy Dandy, err on th side of the ABC source.

4

Using SongAnalysis.md as a basis, write up a Pull Request description.

Next step: Review my manual notes and compare to the edits here. See how well the clankers did.


Correct booklet chord transcriptions against ABC sources

Summary

Audited all 16 songs in booklet/ against their songs/*.txt ABC sources and
fixed the chord errors, treating the ABC as the source of truth. 11 of 16
songs had issues; all are now corrected
and the booklet HTML rebuilt. Also
adds a reusable skill documenting the ABC↔booklet workflow and ignores the
editor/tool scratch directories.

Full per-song reasoning (chord-by-chord alignment) is in SongAnalysis.md.

What the audit found

  • 5 clean, 11 with issues. The problems are overwhelmingly placement, not
    vocabulary — the booklet usually picks the right chords but hangs them on the
    wrong word.
  • Biggest problem area — chords land late (right chord, wrong word), in ~8
    songs. A chord change gets parked on a stressed/final word instead of the
    syllable whose melody note the ABC attaches it to. Frequent side effect:
    losing an internal return (e.g. C → F → C collapses to C … F).
  • Second — genuinely wrong chords (change the harmony, not just timing):
    Roll the Old Chariot Along, Wellerman, South Australia, Joli Rouge, Randy Dandy O.
  • Likely root cause: chorded by ear / simplified rather than mechanically
    aligned to the ABC's "chord"-before-note positions. (Unchorded verses and
    tonic-on-pickup are house style, not errors.)

Changes

Wrong-chord fixes

Song Fix
Roll the Old Chariot Along [C]hangAnd we'll [F]all hang [A7]on be[Dm]hind — restores the V7→i cadence to Dm
Wellerman Fm moved off "Billy" onto the [Fm]name of the ship was the [Cm]Billy o Tea; chorus Cm moved from "rum" to [Cm]tea
South Australia Removed the non-ABC [A] on "Australia"; B7 moved to 'round (verse) and onto Aus[B7]tral[E]ia in both refrains

Late / misaligned-placement fixes

Song Fix
All For Me Grog Restored the F → C returns in chorus L1 & L3
Bully Boys F moved to "we're" / "farewell"
Bully in the Alley Responses now [C]way [G]hey [D]bully and [G]shin[D7]bone [G]al
Drunken Sailor [F]Early [C]in the [Dm]morning!
Leave Her Johnny [F]voyage [C]is long [G]and the winds [C]don't blow
Mingulay Boat Song G moved to "ho"; D moved to "head"

ABC-faithful rebuilds

  • Joli Rouge — chorus rebuilt to the ABC's faster harmonic rhythm
    (Dm–Am–Dm–Am, Dm–C–Dm–C, Dm–C–F–C, Dm–F–C).
  • Randy Dandy O — kept in its (deliberately transposed) key but corrected to
    a true minor-third transposition of the ABC: Cm–Bb–Eb–G7, restoring the minor
    tonic at the phrase openings and the previously-dropped G7 dominant.

Tooling, docs & hygiene

  • SongAnalysis.md — the full audit (per-song verdicts, error taxonomy, high-level analysis).
  • .github/skills/booklet-song-from-abc/ — new skill capturing both formats, the
    note→syllable→chord alignment procedure, and the common pitfalls, for future
    generation/fix work.
  • .gitignore — ignore /.playwright-mcp/ and /.temp/ scratch; removed the
    stray .playwright-mcp/ snapshot files from the working tree.
  • booklet/sea-shanties.html — regenerated via npm run booklet.

Unchanged (verified clean)

Barrett's Privateers, Health to the Company, Old Maui, Skipper Jan Rebec,
Whiskey Johnny. (Skipper Jan Rebec's ABC has no lyric lines, so only chord
vocabulary/cadences could be verified.)

How it was verified

  • Re-derived each booklet chord from the ABC by aligning notes → w: syllables →
    "chord" positions.
  • npm run booklet rebuilds cleanly (34 logical pages / 9 sheets, no errors).
  • Spot-checked the rendered chords in booklet/sea-shanties.html (e.g. the A7
    cadence, Randy Dandy's Cm…G7, Joli Rouge's chorus).

Notes

  • booklet/cover.html carries a pre-existing, unrelated change (adds
    <link rel="stylesheet" href="shanties.css">) that predates this work — drop it
    from the PR if it wasn't meant to ship here.
  • Joli Rouge is a modern song (The Dreadnoughts, 2019); it was aligned to this
    ABC, but you may want to confirm against the band's official chart.
  • The generated booklet/sea-shanties.html / sea-shanties-single.html are
    committed build output. Reasonable if treated as the shareable deliverable;
    happy to gitignore + git rm --cached them instead if preferred.

@chrisglein chrisglein left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manual edits to what the robots did

Comment thread .github/skills/booklet-song-from-abc/SKILL.md Outdated
Comment thread booklet/all-for-me-grog.md Outdated
Comment thread booklet/joli-rouge.md Outdated
Comment thread booklet/joli-rouge.md Outdated
Comment thread booklet/joli-rouge.md Outdated
Comment thread booklet/leave-her-johnny.md Outdated
Comment thread booklet/randy-dandy-o.md Outdated
Comment thread booklet/roll-the-old-chariot-along.md Outdated
Comment thread booklet/south-australia.md Outdated
Comment thread booklet/wellerman.md Outdated
Co-authored-by: Chris Glein <26607885+chrisglein@users.noreply.github.com>
Also emphasize the caller/chorus roles with italics
@chrisglein

Copy link
Copy Markdown
Collaborator Author

Need to fix chord placement for double lines:
image

Or actually, I'd like to reflow All For Me Grog to break up those long lines anyway.

Also I did the naive thing to make the choruses clearly sung together (with the italics), and I forgot that would apply the indentation too:
image

image

So... need to rethink that. Or rather, just use underscore indentation.

@chrisglein chrisglein marked this pull request as ready for review July 6, 2026 19:33
Comment on lines -3 to -13
[Eb/I]Who's the king of the [Ab/IV]fighting [Eb/I]Dutch
> [Eb/I]Skipper [Bb/V]Jan Rebec
[Eb/I]And who do the sailors [Ab/IV]fear so much
> [Eb/I]Skipper [Bb/V]Jan&nbsp;&nbsp;&nbsp;[Eb/I]Rebec
[Eb]Who's the king of the [Ab]fighting [Eb]Dutch
> [Eb]Skipper [Bb]Jan Rebec
[Eb]And who do the sailors [Ab]fear so much
> [Eb]Skipper [Bb]Jan [Eb]Rebec

{chorus}
> And it's
> [Eb/I]Ja ja leave your hammocks
> [Eb/I]Ja ja [Bb/V] *hands on deck*
> [Eb/I]Ja ja [Ab/IV] break your backs for
> [Eb/I]Skipper [Bb/V]Jan&nbsp;&nbsp;&nbsp;[Eb/I]Rebec

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think if we do this, we do it proper. Across all songs. With some tight graphic design of color/iconography. Doing it for one song is weird.

@chrisglein chrisglein requested a review from brewingcode July 6, 2026 19:59
@brewingcode

Copy link
Copy Markdown
Owner

Sorry for swapping master out from under this PR. Looks good.

I'm fine taking this how it is and then fine-tuning more in subsequent PRs. For instance, Wellerman could use a (redundant) "Cm" on the 3rd line, cause it looks like we forgot chords there:

image

I've got other changes too that we can discuss. I'll be better about PRs.

@chrisglein chrisglein merged commit 3979113 into brewingcode:master Jul 7, 2026
1 check passed
@chrisglein chrisglein deleted the abcToBookletErrors branch July 7, 2026 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants