opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

FunClip clips videos by selecting recognized speech segments or speakers
GitHub RepoImpressions3

Project Description

View on GitHub

FunClip: Clip Videos by Selecting Speech Segments or Speakers

Ever needed to clip a video based on what someone said, not just by timestamps? Maybe you’re editing a podcast, extracting a specific speaker’s lines from a meeting, or pulling a funny moment from a long vlog. Manually scrubbing through a timeline to find "the part where they say X" gets old fast.

That’s where FunClip comes in. It takes an audio transcript from your video, lets you pick a speaker or a specific text segment, and automatically clips the video to that part. No external ASR setup, no complex pipelines. Just pick, clip, done.

What It Does

FunClip uses speech recognition to transcribe your video’s audio, then lets you either:

  • Select a specific text phrase from the transcript and clip the video around it.
  • Select a speaker (if multiple) and clip all segments where that person speaks.

Under the hood, it uses a model from ModelScope for the ASR part, but you don't have to worry about that unless you want to tweak things. The output is a trimmed video file containing only the segment you care about.

Why It’s Cool

It’s surprisingly useful for things you wouldn’t first think of:

  • Podcast editing – clip an interesting answer from a 45-minute interview by just finding the sentence.
  • Meeting summaries – extract only what a specific person said from a Teams or Zoom recording.
  • Language learning – pull a sentence from a foreign-language movie and loop it.
  • Content creation – grab a soundbite from a longer clip without re-encoding the whole thing.

It also supports voice activity detection (VAD) so silence at the edges gets trimmed, and you can adjust the margin (extra seconds before/after the clip). The ASR model itself can be swapped with different ones from ModelScope, so you can run it in Chinese, English, or other languages depending on the model.

How to Try It

Clone the repo or run it in a notebook:

git clone https://github.com/modelscope/FunClip
cd FunClip
pip install -r requirements.txt

Then open funclip_gradio.py for the Gradio web UI, or use the Python API directly if you want to script it:

from funclip import FunClip

fc = FunClip()
result = fc.clip_by_text(
    video_path="input.mp4",
    text_to_match="the exact phrase",
    margin_seconds=1.0
)
result.save("output.mp4")

There’s also a Colab demo linked in the repo if you want to test it without installing anything.

Final Thoughts

FunClip is one of those tools that solves a slightly niche problem but does it well. If you’ve ever had to clip a video based on speech content, you know how annoying it is to loop through audio waveforms. This just saves you that time.

It’s not trying to be a full video editor or a production tool. It’s a focused utility for developers and content creators who need to cut video by what was said, not by a timestamp on a timeline. If that’s your workflow, give it a shot.


Follow us on Twitter: @githubprojects

Back to Projects
Project ID: 7c680524-6dda-4e48-a5a1-288db74e5b2cLast updated: July 18, 2026 at 02:43 AM