00:00 / 00:00

Cap

Media Editor

The LAPLACE Cap media editor is an audio and video cutting tool that runs entirely in the browser, integrated deeply with subtitle transcription for a precise, text-driven editing workflow

Features

  • Adjustable three-pane layout: media preview, transcript, and clip list each resize by dragging, and the layout persists automatically
  • Waveform visualization: the audio waveform renders as soon as media loads, with up to 200× zoom and drag-to-pan; waveform data is cached in local IndexedDB to avoid recomputing it
  • Word-aligned transcripts: the transcript aligns to the timeline word by word, the current word highlights during playback, and double-clicking a word jumps straight to its timestamp
  • Transcript search and speaker filtering: keyword search and speaker:name syntax filter the transcript live, with matches highlighted
  • Speaker management: rename every speaker in a multi-speaker transcript; names persist per media file
  • Clip management: create, rename, retime, split, and delete clips, with undo/redo (up to 50 steps)
  • AI clip titles: an LLM generates a concise title from the subtitles inside a clip, one clip at a time or in batch
  • Song identification: identify the song in a clip through an AI LLM (from subtitle text), Shazam, or NetEase Cloud Music
  • SRT / JSON import: import SRT subtitle files and Soniox JSON transcripts, so existing subtitles drive the edit without re-transcribing
  • LosslessCut project compatibility: import and export .llc project files to interoperate with a LosslessCut workflow
  • Frame-accurate export: lossless cutting by MP4 remux, with exact frame-level trimming and optional companion subtitle tracks
  • Bilibili video sources: load bilibili videos directly, pair the LAPLACE Cap Helper userscript for playback control and word-level transcript sync, and import bilibili AI / human subtitle tracks

Opening the Editor

  • After Generate Subtitles finishes a transcript, click Open in Editor to go straight in with the transcript attached
  • Or open the Media Editor tab at the top of the page manually, then load media and subtitles from the menu bar
  • You can also deep-link to /editor with the ?mediaUrl=, ?subtitleUrl=, and ?clipsUrl= query parameters to load specific media, subtitles, and clips

Loading Files

The editor accepts drag and drop — drop any of these file types onto the editor window to load them:

File TypeDescription
VideoMP4, WebM, MOV, MKV
AudioAll mainstream audio formats
Subtitles.srt or Soniox .json
ProjectLosslessCut .llc

You can also load items one at a time from the File menu:

  • Load Local Media… — load an audio or video file from your computer
  • Load Media from URL… — load from a remote URL (direct links must support CORS; bilibili video URLs also work)
  • Open Recent… — reopen recently loaded media, including local files and URL history; Clear Recently Opened… empties the list
  • Load Demo Project — load the built-in sample project for a quick tour of the features

Bilibili Video Sources

The media editor loads bilibili videos directly, with no download step:

  • Paste a video link through File → Load Media from URL… (b23.tv short links and standard BV links both work) and the editor embeds the official bilibili player
  • Because the bilibili player runs in its own iframe, the LAPLACE Cap Helper userscript is required before the editor can drive playback both ways (play / pause, seeking, word-level sync, clip marking)
    • The userscript needs a manager such as Tampermonkey
    • Install it in one click from the Media Editor tab on the main screen; loading a bilibili video without it raises an install prompt
    • Without the script the editor still shows the player, but cannot drive playback or sync
  • Once the script is installed, Subtitles → Import from Bilibili… discovers and imports the video's subtitle tracks (bilibili AI-generated and human-uploaded subtitles alike) with no re-transcription

Transcript Panel

Search and Filter

  • Type in the search box to filter the transcript live, with matches highlighted
  • Use speaker:name syntax to filter to one speaker; when a transcript holds several speakers, the placeholder text hints at the syntax
  • The right side of the search box shows filtered count over total count; click × to clear the search

Word-Level Alignment and Karaoke Mode

  • During playback the word at the current position highlights in real time (a karaoke effect), while the rest dim slightly
  • Double-click any word to jump to its timestamp
  • Double-clicking an inactive segment jumps to that segment's start

Speaker Labels

  • Each speaker is marked in its own color; click a label to rename that speaker
  • Renames persist per media file and come back the next time you load the same file
  • View → Always Show Speaker Labels controls whether every segment carries a speaker label; by default it appears only when the speaker changes

Follow Playback

  • With View → Follow Active Segment on, the transcript list scrolls to the segment at the current playback position
  • Shortcut: ⌥F (Alt+F) toggles it

Waveform and Playback Controls

Waveform Interactions

ActionEffect
command/Ctrl + scroll wheelZoom the waveform anchored at the cursor (1× – 200×)
Horizontal scrollPan the timeline while zoomed in
command/Ctrl + dragPan the timeline (hand mode)
Click the scrubberJump to that point in time
Drag the scrubberScrub to a position

Waveform data is cached in local IndexedDB after the first load; reopening the same file reads the cache instead of recomputing it

Playback Controls

ActionDescription
SpacePlay / pause
/ Forward / back 1 second
Alt + ← / Alt + →Forward / back 1 frame
command/Ctrl + ← / command/Ctrl + →Forward / back 5 seconds
  • Click the timecode at the bottom to edit it and jump to that time
  • Video mode shows a frame counter; click it to type a frame number and jump there

Clip Management

Creating Clips

  • Click + at the top right of the clip list to create a clip at the current playback position
  • Shortcut: C

By default a clip starts at the current playback time and ends at the transcript's full duration (or the current time plus 10 seconds), named "Clip N"

Adjusting Clip Times

  • Edit the start and end time fields directly in the clip list and press Enter to confirm
  • Park the playhead at the target time on the waveform, then click Set Start or Set End in the playback controls
  • Click the small Set as Start or Set as End button on a segment row in the transcript panel

Splitting Clips

Park the playhead inside a clip and click Slice or press S to split the current clip in two at the playhead

Undo and Redo

  • command/Ctrl - Z — undo (up to 50 steps)
  • command/Ctrl - Shift - Z — redo

AI Features

Each clip's AI menu (the ✦ icon) offers:

FeatureDescription
Generate TitleCalls an LLM to produce a concise title from the subtitles inside the clip (40 characters max)
Identify Song from Subtitles (AI)Feeds the subtitle text to an LLM as lyrics for song identification
Shazam LookupExtracts an audio fingerprint from the clip and identifies the song through Shazam (local files only)
NetEase Cloud Music LookupIdentifies the song through NetEase Cloud Music fingerprinting (local files only)

Batch operations run from the AI Batch Actions dropdown in the clip list toolbar, processing every clip concurrently

Exporting

Export Settings

Configure export behavior under Clips → Clips Settings… in the menu bar:

OptionDescription
Filename TemplateCustomize the export filename; supports the {filename}, {index}, {name}, {cut_from}, and {cut_to} variables
Accurate TrimUses a frame-level Edit List for exact cut points, suited to work that needs frame accuracy; a very few older players may mishandle Edit Lists
Export StreamsAudio and video / video only / audio only (audio only outputs .m4a)
Export Subtitles TooWrites a companion SRT beside each clip covering its time range, with timestamps rebased to the clip start
Shazam LanguageSets the language region Shazam prefers when identifying
AI PromptsCustomize the system prompts for title generation and song identification; restorable to the defaults

Export Methods

  • Single clip: click the export button on a clip row to export that clip
  • Batch: click Export (N) in the toolbar or Clips → Export All Clips in the menu bar to export every clip

For very large files (an estimated export above 500 MB), the export calls the File System Access API to write straight to disk and avoid running out of memory

Exporting a LosslessCut Project

Clips → Export as LosslessCut Project writes the current clip list to a .llc file you can keep editing in LosslessCut

Exporting Subtitles

  • Export SRT — export the full transcript as an .srt subtitle file
  • Export TXT — export plain text with timestamps and speaker information, suited to further editing
  • Export TXT for LLM — export plain text shaped for language models, ready to hand to an LLM for summarizing, translation, or derivative work

Data Storage

Everything the editor holds stays in your local browser and is never uploaded to a server:

DataLocation
Clip listIndexedDB (keyed by media file)
Waveform cacheIndexedDB (speeds up reloads)
Layout ratioslocalStorage
Speaker nameslocalStorage (keyed by transcript ID)
Export settingslocalStorage (persisted through useSettings)

Last updated on September 19, 2026

Tech otakus destroy the world