
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.
概览
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 中
- 打开 控制台中的 TrimScript,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
TrimScript
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.
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.
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:
Keyboard
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.
- 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
- whisper.cpp and the Whisper small.en weights by OpenAI, MIT, run through pywhispercpp, MIT
- Optional: Parakeet TDT 0.6B v2 by NVIDIA, CC BY 4.0, in the MLX conversion by mlx-community, run through parakeet-mlx, Apache 2.0 (
trimscript[parakeet],--engine parakeet) - noisereduce, MIT
- FFmpeg, called as a separate program and not distributed with TrimScript
- Editor UI: React, shadcn/ui components on Radix UI, Tailwind CSS, Sonner, clsx and tailwind-merge (MIT), class-variance-authority (Apache 2.0), Lucide icons (ISC, some derived from Feather, MIT). Full license texts ship with the package in THIRD_PARTY_NOTICES.md and
src/trimscript/static/THIRD_PARTY_LICENSES.txt. - Demo voice: Dia by Nari Labs, Apache 2.0
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版本历史
1- v0.1.0最新Oct 10, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分