Files
sermon-clean/tests
Hermes Agent e5420589f9 Add silence-index (si) subcommand + tests + README
The uncommitted code from the last session was a working silence-index
subcommand wired through cli.py — but it never landed on main. This
commit:

- Adds render_silence_index() to waveform.py (was already on disk but
  uncommitted) — tabular view of silence runs with start/end/duration
  and a position bar showing where each run falls in the audio.
- Wires it through cli.py as 'silence-index' (alias: 'si') with
  --silence-threshold and --silence-min-duration args.
- Adds 2 tests: test_render_silence_index_empty_audio (silent file
  produces 1 run with bar) and test_render_silence_index_no_silences_message
  (loud sine at -100dB threshold → 'no silence runs' message).
- Updates README: 'si' added to step-by-step workflow and the
  subcommand table, alongside the previously-uncommitted 'mb' (multiband).

64/64 tests passing in 14.6s.

Use case: when picking natural splice points to bracket a bad word,
you want a tabular list of silence runs you can eyeball, not a
waveform. si is the right tool for that — also faster than mb on long
files since it doesn't need to render bars per band.
2026-07-27 12:55:16 -07:00
..
2026-07-27 03:50:55 -07:00