Skip to content

feat(desktop): remove filler words in the native editor - #2961

Open
thesammykins wants to merge 2 commits into
CapSoftware:mainfrom
thesammykins:feat/native-filler-cleanup
Open

thesammykins wants to merge 2 commits into
CapSoftware:mainfrom
thesammykins:feat/native-filler-cleanup

Conversation

@thesammykins

@thesammykins thesammykins commented Oct 23, 2026 •

Copy link
Copy Markdown

Adds Remove Filler Words to the native GPUI editor's Captions tab. It generates local word-timed captions when needed, then produces ordinary editable clips in one undo step.

This is a first pass for later Studio editing: trim handles can recover a cut boundary, and the normal split/delete tools can remove a missed hesitation. Source media is preserved.

  • Recognizes whole English um, uh, uhm, er and erm tokens, including drawn-out forms. Keeps acronyms, lexical substrings and context-dependent phrases.
  • Adapts audio-based word-end detection from feat(desktop): transcript editing - soft delete with ability to restore, deleted words buffers, pause deletion #1880 into a GPUI-local module. When recognizer timestamps extend through a pause to the next onset, cleanup retains the detected pause and audible release. Noisy audio retains its existing timings.
  • Reuses native ripple editing and caption projection for repeated/reordered/retimed clips. Preserves caption visibility, skips transition handles and held frames, and rejects invalid timings or stale asynchronous results.

Live editor verification on a copy of a real recording:

Before clicking Remove Filler Words After the action completes
One clip, 23.590s, no generated captions. Captions generated locally; 7 fillers removed, leaving 8 editable clips and 20.020s.
Before: real recording in the native editor, with one clip and no captions After: same recording following the actual button click, with eight clips and seven fillers removed

These are captures immediately before and after the actual button interaction. Images are PR attachments; no image files are added to the repository. Source media hashes were unchanged and subtitles stayed hidden.

Recovery was also exercised in the live editor: one Undo restored the exact original configuration, including the absence of generated captions; Redo restored the cleanup. Manual split/delete worked, and dragging a trim handle recovered 250ms of removed footage. Undoing those manual edits restored the cleaned configuration exactly.

Validation:

  • 23 filler/pause/recovery tests and 23 transcription tests passed; one existing transcription test is ignored.
  • Scoped cargo check, cargo build, formatting and git diff --check passed.
  • The same recording through the existing native debug harness retained a 350ms pause removed by timestamp-only cuts. Project validation, GPU export and full export decode passed.
  • Clippy with -D warnings reports the same 9 existing findings in unchanged code; none in the added code. The configured Biome binary was unavailable locally; Markdown links and whitespace were checked.

Recognition can omit hesitations or misplace boundaries, so playback review and manual adjustment remain part of the workflow. No new dependencies, schema changes or migrations. Automatic post-recording cleanup is a follow-up; general Studio automation execution is tracked in #2959.

Closes #2960

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; no actionable issues were found.

Summary

Adds local filler-word removal to the native editor’s Captions tab.

  • The Captions tab turns English filler words into editable cuts.
  • Filler cleanup uses audio pauses to keep the gap before the next word.

No actionable issues were found. Review checks were static; no tests or native UI verification were run.

Recognition misses and imperfect cut boundaries were acknowledged by thesammykins in the PR description; playback review and manual adjustment are explicitly required. Retaining uppercase tokens and context-dependent phrases is intentional, as documented by thesammykins in the PR description.

Reviews (1) · Last reviewed commit: "feat(desktop): remove filler words in th..." · Reviewed by Greptile

@vercel

vercel Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

@thesammykins is attempting to deploy a commit to the Cap Software Inc Team on Vercel.

A member of the Team first needs to authorize it.

Generate local word captions when needed, then apply reversible source-timed cuts with existing ripple helpers. Preserve media, caption visibility and one-step undo, and skip transition handles and held frames.

Closes CapSoftware#2960
@thesammykins
thesammykins force-pushed the feat/native-filler-cleanup branch from 0299a4c to cb65c22 Compare October 23, 2026 04:24
@thesammykins
thesammykins marked this pull request as ready for review October 23, 2026 04:53

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Native Studio filler-word removal using local word-timed captions

1 participant