2.7 KiB
Raw Blame History

BLB Hymns MIDI Gap Report

Generated: 2026-09-05

Summary

  • Hymn HTML pages scanned: 2,749 total; 1,925 (70%) have ≥1 dead midi reference
  • Distinct missing midi files: 1463
  • Total broken midi references: 2156
  • Existing midi files (hymns/hymns_mid/): 729 — tunes AG only
  • Midi tune range present: mid_a_*mid_g_*
  • Midi tune range absent: mid_h_*mid_z_* (plus a handful of mid_g_*)

Root cause

The hymns/hymns_mid/ directory was ingested with only tunes A through G (729 files). The missing HZ tunes (1,463 files) were never part of the source data — confirmed independently in:

  • the ingest manifest blb_manifest.txt (snapshot of the original WebDAV source at download time)
  • full git log --all history (no HZ midi blob was ever committed)
  • the source WebDAV (files.thecookiejar.me/www/static/BLB/) — returns 404 for the missing files
  • the live Blue Letter Bible site (no longer serves these hymn pages) and the Internet Archive Wayback Machine (no capture)

These are not broken links (paths are correct and resolve properly); the destination files simply do not exist anywhere reachable.

Missing files by first tune-letter

Letter Missing .mid files
g 4
h 154
i 80
j 47
k 23
l 137
m 136
n 58
o 98
p 73
q 4
r 79
s 270
t 89
u 8
v 31
w 152
x 4
y 9
z 7

Affected pages

1925 pages under hymns/hymns_html/ reference at least one missing midi. Full page list is in broken_pages.txt.

Data files in this directory

  • broken_pages.txt — every page with ≥1 dead midi reference
  • missing_midis.csv — one row per (page, missing .mid) reference pair
  • missing_midis_unique.csv — one row per distinct missing .mid file
  • missing_to_pages.csv — each missing .mid and the pages that reference it
  • gap_index.json — machine-readable full dataset

Recommendation

Do not attempt link-only fixes — there is no destination to point at. Realistic remediation paths, in order of safety:

  1. Accept the gap (documented here) until a source for the hymn-tune midis is obtained.
  2. Synthesise/obtain the missing public-domain hymn tunes from an external archive, then add the files under hymns/hymns_mid/ (no HTML changes needed — the links will then resolve).
  3. Optionally neutralise the dead audio controls on the 1,925 affected pages (removes 404s, loses audio).

Links are audio/midi MIME; page HTML constructs them as ./hymns/hymns_mid/<file>.mid relative to the BLB root (via basepath.js), so they resolve against /BLB/hymns/hymns_mid/.