Catch suspicious dialogue-edit seams before your listeners do.
SpliceSentry is an offline, read-only CLI that inspects known edit points in a WAV file. It identifies likely waveform clicks, abrupt short-window level changes, and mismatched room tone, then writes the evidence to JSON, CSV, and a standalone HTML review report.
- Zero runtime dependencies
- No account, cloud upload, FFmpeg, model, or DAW plugin
- Random-access analysis: only short windows around supplied cuts are decoded
- Deterministic reports and CI-friendly exit codes
- Source audio is never modified
| Check | Evidence | Suggested response |
|---|---|---|
| Sample jump | Splice amplitude versus nearby waveform changes | Move the edit or add a short crossfade |
| Short level step | 50 ms RMS before versus after | Check clip gain or automation |
| Room-tone level | Quiet-context RMS difference | Rebalance adjacent noise floors |
| Room-tone color | Four-band spectral distance | Use room tone from the matching environment |
SpliceSentry only analyzes markers you supply. This keeps the result tied to actual edits instead of filling a long recording with speculative detections.
Requires Node.js 20 or newer.
git clone https://github.com/KanadeK/splicesentry.git
cd splicesentry
npm ci
npm run demoThe committed four-second fixture produces three intentional outcomes:
SpliceSentry: 3 cut(s) — 2 fail, 0 review, 1 pass
Reports: reports/demo/report.html, reports/demo/report.json, reports/demo/markers.csv
Open reports/demo/report.html in any current browser. The same reference output is committed under examples/reference-report.
npm install --global https://github.com/KanadeK/splicesentry/releases/download/v0.1.0/splicesentry-0.1.0.tgz
splicesentry --versionYou can also download the tarball, verify it against SHA256SUMS, and install it with npm install --global ./splicesentry-0.1.0.tgz.
Export a supported WAV and create edits.json:
{
"version": 1,
"cuts": [
{ "at_seconds": 12.425, "label": "removed false start" },
{ "at_seconds": 48.2, "label": "room-tone patch" }
]
}Run:
splicesentry inspect dialogue.wav --cuts edits.json --out splice-reportThe command writes:
report.html— portable, script-free human review page;report.json— full measurements, thresholds, and per-cut verdicts;markers.csv— spreadsheet-safe finding rows.
Use --fail-on review to make review or fail findings exit non-zero, or --fail-on none to always write reports without blocking a pipeline.
| Exit | Meaning |
|---|---|
0 |
The configured failure policy did not fire |
1 |
Unexpected I/O or runtime failure |
2 |
Invalid usage, cut list, or WAV input |
3 |
Findings met the configured failure policy |
- RIFF/WAVE
- PCM integer 16-, 24-, or 32-bit
- IEEE float 32-bit
- 1–8 interleaved channels
- Sample rates up to 384 kHz
SpliceSentry deliberately fails fast on compressed WAV codecs and other containers. Convert those files to a supported WAV in your existing audio workflow first.
pass means none of the configured thresholds fired at that supplied marker. It does not certify that an edit is inaudible. Natural speech transients can trigger findings, and listening in the real mix remains the final decision.
Room-tone checks run only when both sides contain usable quiet evidence. Otherwise the report says insufficient_quiet_context; it does not invent a room-tone pass.
The complete method and default thresholds are documented in Algorithm and thresholds.
npm ci
npm run verifynpm run verify runs syntax/style checks, the full test and coverage gates, the deterministic demo, release packaging, installation into a clean temporary project, and the installed CLI against the packaged example.
If a gate fails, start with Troubleshooting. Release maintainers should use Release process.
SpliceSentry 是一个完全离线、只读的 WAV 剪辑接缝检查工具。你提供明确的剪辑时间点,它会检查波形跳变、短时响度变化和房间底噪差异,并输出 HTML、JSON、CSV 报告;不会上传或修改音频。
npm ci
npm run demo
node ./bin/splicesentry.js inspect 你的音频.wav --cuts edits.json --out 检查报告默认在发现 fail 级问题时返回退出码 3。这适合放入交付前流程,但结果仍需结合实际监听判断。
- Cut-list format
- Algorithm and thresholds
- Troubleshooting
- Project rationale and overlap research
- Contributing
- Security policy
MIT © 2026 KanadeK
