Skip to content

Repository files navigation

SpliceSentry

CI GitHub release License: MIT

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

SpliceSentry HTML report showing pass and fail evidence for the committed demo

What it catches

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.

Try the real demo

Requires Node.js 20 or newer.

git clone https://github.com/KanadeK/splicesentry.git
cd splicesentry
npm ci
npm run demo

The 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.

Install from the v0.1.0 release

npm install --global https://github.com/KanadeK/splicesentry/releases/download/v0.1.0/splicesentry-0.1.0.tgz
splicesentry --version

You can also download the tarball, verify it against SHA256SUMS, and install it with npm install --global ./splicesentry-0.1.0.tgz.

Inspect your own edit

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-report

The 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

Supported audio

  • 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.

Reading results honestly

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.

Development and acceptance

npm ci
npm run verify

npm 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。这适合放入交付前流程,但结果仍需结合实际监听判断。

Documentation

License

MIT © 2026 KanadeK

About

Offline CLI that audits known WAV edit points for clicks, level jumps, and room-tone mismatches. Zero dependencies; JSON, CSV, and HTML evidence.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages