TrimScript

io.github.SilverNine由 GitHub 帳號 SilverNine 發布v0.1.0更新於 Oct 24, 2026

Edit video by editing the transcript. Runs locally; agent edits arrive as suggestions you approve.

已驗證STDIO僅桌面效率與工作流媒體與設計

概覽

AI 產生的概覽

TrimScript 是本地 MCP 伺服器,讓助理讀取影片轉錄文字並提出以轉錄為基礎的剪輯建議,由你在桌面編輯器中確認。

可以做什麼
用 whisper.cpp 在本機轉錄影片,並讀取帶項目編號的轉錄文字,涵蓋詞、填充詞與停頓,目前僅支援英語。建議刪除重複或不需要的語句,並在不更動媒體的前提下修正聽錯的詞。列出待處理的剪輯並撤回建議,或批次去除所有 um 和 uh、收緊過長停頓。增強人聲,進行降噪、電平調整與響度正規化。匯出 MP4、WAV、SRT/VTT 字幕或 FCPXML,原始檔案不會被修改。
適用情境
適合講座、教學、播客、訪談等口語錄音,希望由代理依轉錄提出剪輯建議、再由你在編輯器中逐條確認的情境。不適合多軌剪輯、螢幕錄製、聲音複製或協作。
執行需求
以本機程序方式透過 uvx 啟動,需要安裝 uv 與 ffmpeg。首次轉錄會下載約 470 MB 的 whisper.cpp 模型。無需帳號、API 金鑰或上傳。在 macOS 與 Apple Silicon 上開發;編輯器目前只在 macOS 上使用過,CI 涵蓋 macOS、Linux 與 Windows。
安裝前請注意
代理的剪輯以建議形式出現在已開啟的編輯器中,不會默默生效,需你接受或拒絕。若連接程式設計代理,該代理及其背後的模型服務會讀取轉錄文字,錄音內容會離開本機。專案處於早期階段,編輯器中的復原只能還原編輯器自身的變更。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 TrimScript,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

TrimScript

[ci]

Edit video by editing the transcript. Runs on your machine. Free and open source. AI edits arrive as suggestions you approve.

[Removing a restarted intro, trimming fillers, listening through the edits, then tightening pauses]

Delete the restarted intro, Trim fillers, Tab through the edits to listen, Tighten pauses: 48.1 s down to 27.6 s. The demo talk is synthetic: script and slides written for this demo, voice generated with Dia.

▶ Watch the 50-second demo: the same edit, then Claude Code suggesting cuts through the MCP server.

sh
uvx trimscript open my-video.mp4

Needs uv and ffmpeg (brew install ffmpeg, apt install ffmpeg, winget install ffmpeg). Transcription, editing and export run on your machine: no account, no upload. If you connect a coding agent, that agent (and the model service behind it) reads the transcript.

Status: early. Developed on macOS with Apple Silicon. CI runs every push end to end on macOS, Linux and Windows (transcribe, remove, export); the editor itself has only been used on macOS so far.

What it does

  • Transcribes locally with whisper.cpp, prompted to keep every "um" and "uh" instead of tidying them away. English only for now. The first run downloads the model (about 470 MB).
  • Delete text, and the video skips it. Select words, press ⌫. The removed part folds into a small label with the seconds it saves, so the page reads like the finished edit. Select the label and press ⌫ to bring it back, or show all removed text with one switch. The preview skips removed parts as it plays.
  • Trim fillers removes every um and uh in one go, and Tighten pauses shortens every pause over a second, keeping a little silence. Then press Tab to step through the edits and hear a second and a half on either side of each; ⌫ brings one back, ⌘Z brings them all back.
  • Stray sounds jumps to voice between words that has no word in the transcript (a sound the recognizer skipped, a breath, half a word) and plays it. You listen and decide.
  • Fine-tune any join by 10 ms with the arrow keys, listening across it each time.
  • Clean audio: noise, level, gentle compression and loudness to -14 LUFS in one switch. The recording length never changes.
  • Fix misheard words (E) without touching the media. Captions use the corrected text.
  • Export MP4, WAV, SRT/VTT captions, or FCPXML to keep editing in Final Cut Pro or DaVinci Resolve with every edit point still adjustable.
  • Nothing is destroyed. Your edit is one readable JSON file next to the video. The original file is never modified, and exports never overwrite it.

Use it with your coding agent

TrimScript ships an MCP server, so Claude Code, Codex or any MCP client can read the transcript and propose edits. Agent edits never apply silently: they show up in the open editor as suggestions with a reason, and you decide.

sh
claude mcp add trimscript -- uvx trimscript mcp

Then ask things like:

  • "In my-video.mp4 I restart the demo halfway through. Suggest removing the first attempt."
  • "The speaker's product is called Acme, fix it wherever the transcript misheard it."

Tools: transcribe, get_transcript, suggest_removal, correct_text, list_edits, withdraw, enhance_voice, export.

The same actions are on the command line:

sh
trimscript transcribe talk.mp4trimscript show talk.mp4 --words      # transcript with item idstrimscript remove talk.mp4 w120 w188 --reason "repeats the intro"trimscript fillers talk.mp4            # remove every um and uhtrimscript pauses talk.mp4             # tighten pauses over a secondtrimscript accept talk.mp4             # accept the agent's suggestionstrimscript export talk.mp4 -o talk-edit.mp4

Keyboard

KeyDoes
drag, Shift+clickselect words
⌫remove the selection, or restore it if it is already removed
Spaceplay the edit
double-clickplay from that word
Tab / Shift+Tabnext / previous suggestion (or edit, when none wait), and listen across it
Enter / Shift+Enteraccept / reject the selected suggestion; a selection accepts every suggestion inside it
Llisten across the selection or a removed part
← → / Shift+← →move the start / end of a selected removed part by 10 ms
Ecorrect the text of the selection
⌘Z / Shift+⌘Zundo / redo

How it works

  • Every removed part covers a run of transcript items (words, fillers, pauses). The time to remove is derived from the words, so the preview and the export always agree.
  • Edit points land midway between words, or keep a little silence when they meet a pause. Recognizers tend to stretch the last word of a sentence over the silence after it; TrimScript pulls word edges back to where the voice actually ends.
  • Exports split on whole video frames and slice audio to about a millisecond, so sound never drifts from picture however many edits there are.
  • The editor, the CLI and the MCP server all read and write the same project file. Edit from anywhere; the open editor updates live. Undo in the editor only reverts the editor's own change.

Tested on real talks

Three single-speaker talks from 38C3. For each: transcribe, trim fillers, tighten pauses, export with Clean audio on, then transcribe the export again with a larger model (Whisper large-v3-turbo) to check what is left.

LoRa meshACE up the sleeveGoing Long
length32.9 min40.2 min36.2 min
removed (fillers trimmed, pauses tightened)5.2 min3.4 min6.5 min
fillers still heard in the export91131
export length vs. plan-0.20 s-0.16 s-0.10 s
loudness-14.1 LUFS-14.3 LUFS-14.3 LUFS
transcription1.2 min1.8 min1.7 min
  • 582 fillers trimmed across the three talks; 51 could still be heard after export. Filler counts are what the recognizer heard, not a judgment of any speaker.
  • 3.0 to 4.5% of kept words read differently in the second transcript. Most of them sit away from any edit point: two different recognizers hearing jargon differently, not edits clipping words.
  • Measured on an M1 Pro. Method and raw numbers: spikes/e2e-real.

Talks: "Building Your First LoRa Mesh Network From Scratch" by WillCrash, "ACE up the sleeve: Hacking into Apple's new USB-C Controller" by stacksmashing, and "Going Long! Sending weird signals over long haul optical networks" by Ben Cartwright-Cox. Recorded by the C3VOC at 38C3 and published on media.ccc.de under CC BY 4.0. The recordings are not part of this repository and were not modified; only measurements are reported. The speakers have not reviewed or endorsed TrimScript.

Scope

Editing recorded speech through its transcript is a long-standing idea, in research since at least Whittaker and Amento's "Semantic Speech Editing" (CHI 2004) and Berthouzoz, Li and Agrawala's "Tools for Placing Cuts and Transitions in Interview Video" (SIGGRAPH 2012), and in many editors since. TrimScript is a small, independent, local take on it for spoken-word recordings: talks, tutorials, podcasts, interviews.

It has no multitrack timeline, screen recorder, voice cloning or collaboration. Export FCPXML when you need a full editor.

Credits

Trademarks

Final Cut Pro is a trademark of Apple Inc. DaVinci Resolve is a trademark of Blackmagic Design. Claude Code is a trademark of Anthropic. Codex is a trademark of OpenAI. They are named only to say what TrimScript works with. TrimScript is an independent project and is not affiliated with, sponsored by or endorsed by any of these companies.

License

MIT. See LICENSE.

來源:README.md,提交 b7d12da

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Oct 10, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分