Splitsmith Pipeline Quickstart GitHub
Project Register Vol. 01 · Ed. 04

Detect. Coach. Cut.

Any camera with audio already captured every shot you took on stage. Splitsmith turns that audio into per-shot splits you can review and coach inside the app — shot-by-shot playback, multi-shooter compare, per-shot notes — or export an FCPXML timeline with frame-aligned markers you can pop open in Final Cut Pro and step through on M / Shift+M. The RO's timer only records your total stage time — the splits live in your video, and this is how you get them out.

01

Pipeline

Step 01

Ingest

Drop a folder of stage clips from any camera. The engine auto-matches them to stages by file timestamp.

Step 02

Beep

Auto-snap to the start beep on each stage. Low-confidence detections land in a review queue.

Step 03

Audit

Waveform + per-shot markers from a 3-voter ensemble. Click a marker to inspect votes. Drag to fine-tune.

Step 04

Export

Per-stage or whole-match FCPXML. Open in Final Cut Pro, navigate with M / Shift+M.

02

Two ways to use Splitsmith

Path A · In the app

Coach in-app

Review every stage shot-by-shot without leaving Splitsmith. The video timeline, shot ruler, and per-shot list stay in sync as the playhead moves.

  • Shot-by-shot playback with playhead-synced video
  • Multi-shooter compare — squadmates side-by-side, aligned to the beep
  • Per-shot coaching notes and improvement flags

No Final Cut Pro required

Path B · Take it out

Export to Final Cut Pro

When you'd rather edit in your NLE, export an FCPXML timeline with a frame-aligned marker on every shot. Open it in Final Cut Pro and step through marker-to-marker.

  • Per-stage or whole-match FCPXML
  • Frame-aligned markers, one per detected shot
  • Navigate marker-to-marker on M / Shift+M

More NLE formats coming

03

What goes in. What comes out.

Inputs

Any camera with audio

  • VIDEOHead, chest, gimbal, handheld — if it recorded the beep and the shots, it works. MP4, MOV, MKV, .360, and more
Outputs · per stage

Reviewable training data

  • CLIPLossless trim around the start beep
  • SPLITSPer-shot times — the editable source of truth
  • TIMELINEFinal Cut Pro markers, frame-aligned
  • REVIEWAnomalies flagged — echoes, overshoots, low confidence
04

Quickstart

# Install from PyPI and launch the UI
# The UI auto-downloads ~440 MB of detection models in the background on first boot.
$ uv tool install splitsmith
$ splitsmith ui

Prefer the CLI? The envelope-only single-clip path needs no model download:

# One-shot pipeline: detect shots, write report + FCPXML
$ splitsmith single \
    --video path/to/your_stage.mp4 \
    --time 14.74 \
    --output ./demo_analysis \
    --stage-name "Per told me to do it" \
    --stage-number 3

Building from source instead? Clone, sync, and build the UI:

# Source checkout -- contributors / latest main
$ git clone https://github.com/mandakan/splitsmith.git
$ cd splitsmith
$ uv sync
$ (cd src/splitsmith/ui_static && pnpm install && pnpm build)
$ uv run splitsmith ui
05

Detection is good. It gets better.

Every release retrains the shot-detection ensemble against a growing corpus of audited stages — real beep-to-last-shot audio with hand-labeled shot times across head, chest, gimbal, and handheld setups. The fixtures shipping today are from me and a handful of squadmates; each one sharpens the next release on every camera.

Soon, anyone running Splitsmith will be able to opt in and share their own audited stages so the corpus — and everyone's detection — keeps growing.

Contributor uploads coming soon