β—‰ Pulse
wassgha avatar
#2 today

wassgha/rescript

TypeScript App #audio #media #media-editing #media-editor

🎬 Open source, transcript-based video/audio editor that lives in the browser.

Created Jul 26, 2026
Stars
129
Today
+60
Forks
8
Quality
90/100
Momentum
24

README

Fetched from GitHub on Oct 30, 2026, 11:00 PM UTC Β· README.md

View original on GitHub

Third-party content β€” Open Source Pulse is not the owner of this repository.

This README belongs to wassgha/rescript and its contributors. We fetch it directly from the project’s public GitHub repository and display it for reference only. All text, code, images and trademarks remain the property of their respective authors. See the repository for its license terms. Copyright / takedown policy.

Rescript logo
Edit video and audio like you edit text β€” fully offline, on your device.

rescript.

Join the Discord Follow @wassgha on X

✨ Try it in the browser app.getrescript.com or download the Desktop App

Rescript Demo

Rescript is an open-source, transcript-based media editor. Drop in a video or audio file and it is transcribed locally with per-word timestamps and speaker labels. Delete words in the transcript and the corresponding clip is cut from the media. Export the final cut β€” without your file ever leaving your device.

Download

Download for macOS β€” Apple Silicon Β  Download for macOS β€” Intel Β  Download for Windows Β  Download the AppImage for Linux Β  Download the .deb for Linux

See the Releases page. Desktop builds auto-update from GitHub Releases. Prefer the browser? Use the web app β€” same editor, no install.

  • πŸ”’ Private by design β€” no auth, no uploads; all media processing happens on-device
  • πŸ“ Word-level editing β€” select words, press ⌫, the cut follows the text
  • πŸ“₯ Import your own transcript β€” skip Whisper and edit with an SRT, VTT, or JSON caption file
  • πŸ“€ Export hub β€” video (MP4/WebM, 720p–4K), audio (M4A/MP3/WAV), transcript / captions (TXT/MD/DOCX/PDF/SRT/VTT/JSON, optional timestamps on documents), or NLE/DAW timeline (Resolve/Premiere/FCP/AAF/Reaper/Samplitude EDL/Blender)
  • 🧹 Filler removal β€” one-click cut of "um", "uh", and similar fillers
  • πŸ”‡ Silence removal β€” one-click cut of pauses and dead air (β‰₯0.3s)
  • πŸ—£οΈ Speaker diarization β€” the transcript is grouped by speaker
  • 🎬 Timeline β€” waveform, wordbar with draggable timing handles, Split, cut regions, playhead; scroll to zoom, side-scroll to pan
  • βœ‚οΈ Split & trim β€” blade clips at the playhead; drag clip edges to refine cuts beyond word boundaries
  • 🎯 Word timing β€” zoom in and drag a word's edges when ASR alignment is off
  • πŸ”΄ Cut edges β€” drag either edge of a cut to trim independently of Whisper timestamps; double-click to reset
  • ⚑ Live preview β€” playback skips your cuts in real time
  • πŸ“¦ In-browser / desktop export β€” frame-accurate re-encode with ffmpeg.wasm
  • 🎞️ NLE / DAW timeline export β€” DaVinci Resolve / Premiere XML, Final Cut FCPXML, Pro Tools/Logic AAF, Reaper .rpp, Samplitude .edl, Blender .blend (Video Editing project linked to the original file; save it next to the source)
  • 🎧 Audio files β€” edit podcasts, voice notes, and interviews the same way as video
  • πŸ–₯️ Desktop app β€” macOS, Windows, and Linux via Electron (signed + notarized on Mac)

Stack

Piece Tech
App Next.js + React + TypeScript + Tailwind
Desktop Electron + electron-builder (auto-update from GitHub Releases)
Transcription transformers.js running whisper-base_timestamped or whisper-small_timestamped (WebGPU with WASM fallback) in a Web Worker
Speaker labels pyannote-segmentation-3.0 (ONNX)
Media processing ffmpeg.wasm (multi-threaded) for audio extraction and export
State zustand

Development

npm install     # also copies ffmpeg/onnxruntime WASM into public/vendor
npm run dev     # Next.js web app (http://localhost:3000)
npm run electron:dev   # Electron shell + Next.js dev server
npm run build   # production web build
npm run dist    # unsigned desktop installers into dist/
npm run lint    # eslint

For desktop packaging, signing, and cutting releases, see RELEASING.md.

How it works

Rescript Promo

  1. Extract β€” ffmpeg.wasm decodes the audio track to mono 16 kHz PCM.
  2. Transcribe β€” Whisper runs in a Web Worker with return_timestamps: "word", streaming text as it goes; pyannote assigns a speaker to every word. Choose Whisper Base, Whisper Small, or Import transcript (SRT / VTT / JSON) on the homepage.
  3. Edit β€” deleting words produces "cut ranges" of the original media. The preview player skips them in real time and the timeline shows them in red. Remove fillers cuts every detected "um" / "uh" / etc. in one click. Remove silences cuts pauses and dead air of 0.3s or longer.
  4. Export β€” the kept ranges are trimmed and concatenated with an ffmpeg filter graph and re-encoded (libx264/aac), so cuts are word-accurate.

Browser support

A Chromium-based browser is recommended for the web app. It requires SharedArrayBuffer (served with COOP/COEP headers) and uses WebGPU for inference when available, falling back to WASM otherwise. The desktop app bundles Chromium via Electron and sets the same isolation headers on its app:// protocol.

Telemetry

By default, Rescript reports anonymous usage stats and crash reports so we can tell how many people actually use it, which features are worth the maintenance, and what's breaking. You can turn both off in Settings β†’ Privacy β†’ Help improve the app, which stops them immediately and permanently on that install. Crash reports go to Sentry and carry a stack trace, the app version, and the platform.

License

Copyright (c) 2026 Wassim Gharbi and Rescript contributors.

Licensed under the PolyForm Noncommercial License 1.0.0. You may use, modify, and share Rescript for noncommercial purposes only, and you must retain the required copyright notice. Commercial use (including reselling or redistributing the software for a fee) is not permitted under this license. Contact the author for commercial licensing.

Prior releases published under the MIT License remain available under MIT for those versions only.


License: PolyForm Noncommercial Platforms Electron Stars Latest release

Built by @wassgha β€” follow along on X for updates, or come say hi in the Discord.

Rendered by GitHub from the repository’s README. Scroll to read the full file.
First trending

Jul 27, 2026

first spotted on the list

Best rank

#2

top 3 on trending

Appearances

3

times on the trending list

Quality score

90

out of 100

Momentum

24

trend strength indicator

Star velocity

1.3

stars per day since creation

Activity β€” last 60 days

daily counts, collected every 6 hours
  • Stars
  • Forks
  • Merged PRs
  • Issues
  • Closed issues

Collecting activity data since launch β€” check back in a few days.

Star history

total stars per snapshot
050100150wassgha/rescript Β· Jul 27, 9 AM UTC: 19 starswassgha/rescript Β· Jul 27, 2 PM UTC: 69 starswassgha/rescript Β· Jul 27, 7 PM UTC: 129 stars9 AM2 PM7 PM

Rank history

position on trending Β· lower is better
#1#2#3#4#5#6Jul 27, 9 AM UTC: rank #6Jul 27, 2 PM UTC: rank #3Jul 27, 7 PM UTC: rank #29 AM2 PM7 PM

3D card for your website

Live HTML card with a glass surface and pointer tilt. Paste the iframe on any website.

<iframe src="https://www.notionpulse.cc/embed/wassgha/rescript" width="420" height="240" style="border:0;max-width:100%;background:transparent" loading="lazy" title="wassgha/rescript β€” trending on Open Source Pulse"></iframe>

Stars badge

Show current stars in your README or profile. Auto-updates every 6 hours.

wassgha/rescript stars badge
Markdown
[![wassgha/rescript](https://www.notionpulse.cc/api/badge/wassgha/rescript.svg)](https://www.notionpulse.cc/repo/wassgha/rescript)
HTML
<a href="https://www.notionpulse.cc/repo/wassgha/rescript"><img src="https://www.notionpulse.cc/api/badge/wassgha/rescript.svg" alt="wassgha/rescript stars badge" /></a>

Repository of the Day

#2 Repository of the Day

Repository of the Week

#2 Repository of the Week

Repository of the Month

#2 Repository of the Month