openjutsu
영상에서 원클릭으로 인물 교체, ComfyUI·MiniMax H3 기반 오픈소스 로컬 힉스필드 겐주츠 대안, FLUX.3 Klein 재조명 지원
Auto-clip funny moments in Medal.tv. Detects laughter, cheering and screams in your mic, game audio and Discord voice chat. Free Windows app.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Never miss the funniest moment of the stream again.
Laugh Clipper listens for laughter, cheering and screams while you play, and saves a Medal clip for you, or asks first.
Laugh Clipper runs quietly in your system tray and listens to your mic and whichever PC audio you pick, like game audio or voice chat. When it hears someone properly laughing, it pops up a small notification over your game. Click Clip (or press your Medal hotkey) and Medal saves the last few seconds. Or let it save the clip for you.
The popup never steals focus from your game, and it doesn't send anything to Medal until you (or auto-save) say so. Changed your mind? Say "don't clip" and it's cancelled. Not actually funny? Press 👎 and it gets a little stricter about that sound.
Pick what counts as a moment worth clipping: laughter, cheering, shouting, screaming or gasps. The popup tells you what it heard and where it heard it: your mic, game audio or voice chat.
Each sound can have its own trigger level and its own sources. For example, listen for shouting only on your mic and voice chat, so explosions in the game don't set it off.
Turn on Only listen while playing and detection pauses whenever a game isn't the window in front, so a funny YouTube video between matches won't clip anything.
.exe.Listen to your microphone and any of your PC's audio outputs at once, each with its own live meter: grey shows how loud it is, and the bar on top shows how much it sounds like laughing (green once it would trigger). With Elgato Wave Link, every channel (Game, Voice Chat, Music…) shows up separately, so you can listen to the game and your friends but ignore your music.
Recording a whole session in Medal? Turn on Add a bookmark instead of a clip and, while Medal is recording, a laugh drops a bookmark into the recording instead of saving a separate clip. It notices recordings however you start them.
Laugh Clipper also reads your clip and bookmark hotkeys straight from Medal's settings, so you don't have to type them in, and it warns you if they don't match.
Turn on Clipping → Cancel with your voice and, while a popup is up, just say "don't clip" (or "cancel clip") to call it off, even during an auto-save countdown. Speech recognition runs offline on your PC with Vosk, listens only for those few words, and only while a popup is showing.
Each popup has a Not funny button. Press it and that clip is skipped, and the trigger level for that sound goes up a little, so the same kind of noise is less likely to set it off next time. You can always set it back on the Detection page.
After pressing Medal's hotkey, Laugh Clipper watches Medal's clips folder and only says Clip saved once the new clip is actually there. If Medal didn't make one (say the hotkey doesn't match), it tells you instead of pretending. And if Medal isn't running at all, it warns you before you need it, with an Open Medal button.
Every clip goes into the History page: what was heard, where, in which game, and whether it saved, with buttons to Play it or show it in its folder. Stats along the top show how many clips you've saved, this week's count, your most clipped game and your best laugh.
| Detection: what to listen for, and how sensitive it is | Clipping: your Medal hotkey and auto-save |
| Notification: which monitor, where, and for how long | General: games, pause hotkey, startup and updates |
| Audio: your mic and PC audio, with live meters | History: every clip, stats, and whether it saved |
LaughClipper-Setup-x.y.z.exe from the latest release.You'll also need Medal installed and running, since it's what actually records the clips.
The setup guide walks you through this on first launch (and any time from General → Run Setup Again):
[!TIP] Medal saves the last N seconds when you press the hotkey. Set Medal's clip length longer than Laugh Clipper's "Wait after laughing stops", plus your longest laugh, so the start of the moment doesn't get cut off.
Smart App Control is a stricter Windows 11 feature that blocks every app that isn't code-signed, with no "Run anyway" option. Running as administrator doesn't help. Laugh Clipper isn't signed yet, so the only way to run it on a PC with Smart App Control on is to turn it off:
Start → Windows Security → App & browser control → Smart App Control settings → Off
Heads up: on most PCs, Smart App Control can't be turned back on afterwards without resetting Windows. Most PCs already have it off (Windows only enables it on fresh installs, and often switches it off by itself), so you'll only see this on some machines.
Windows doesn't let anything appear over games running in exclusive fullscreen. Switch the game to borderless or windowed fullscreen. Auto-save still works either way.
It plays on Windows' default output, which with Elgato Wave Link is usually the System channel. If that's turned down in your mix, go to Notification → Sound → Play on and pick a channel you can hear, like Game.
If that game runs as administrator, Windows blocks hotkeys sent from normal apps. Run Laugh Clipper as administrator too (right-click it → Run as administrator). Also check the hotkey on the Clipping page matches Medal's exactly.
Run Detection → Calibrate… with your game going, or raise the Trigger level by hand, or make Length needed a bit longer. Turn off any music or browser outputs on the Audio page, and try Only listen while playing.
No. Audio is analysed on your PC, one second at a time, and then thrown away. Nothing is recorded or sent anywhere. That includes "don't clip": the speech recogniser runs offline and only listens while a popup is showing. The only thing Laugh Clipper connects to is GitHub, to check for updates, and you can turn that off.
In %APPDATA%\Laugh Clipper: settings.json and laugh_clipper.log. If something goes wrong, the log is the
first place to look.
Every quarter of a second, Laugh Clipper runs the last second of audio from each source through YAMNet, Google's sound classifier, which recognises 521 kinds of sound. It triggers when most of the last second or so sounds like laughing (or cheering, and so on), so one breath in the middle doesn't stop it. Quiet audio is skipped entirely, so it uses very little CPU.
You'll need Python 3.12 on Windows.
py -3.12 -m venv .venv
.venv\Scripts\python -m pip install -r requirements.txt
.venv\Scripts\python tools\fetch_model.py
.venv\Scripts\python main.py
tools\fetch_model.py downloads the YAMNet sound model and the small Vosk speech model into models\.
build_local.bat builds dist\LaughClipper\LaughClipper.exe on your own PC (no installer, no auto-updates).
Tests run offscreen with fake audio, games and Medal, and on GitHub for every push:
.venv\Scripts\python -m pip install -r requirements-dev.txt
.venv\Scripts\python -m pytest
Releasing: write the notes in release-notes/vX.Y.Z.md, commit, then tag and push:
git tag vX.Y.Z
git push origin vX.Y.Z
GitHub Actions builds the app and the installer and publishes the release. Installed copies see it within a few hours, or straight away with Check for Updates.
README images are rendered from the real app: .venv\Scripts\python tools\make_readme_media.py (needs
pillow, which requirements-dev.txt installs).
| Path | What it is |
|---|---|
laughclipper/engine.py | Audio capture and sound detection (YAMNet via MediaPipe) |
laughclipper/app.py | Tray, hotkeys, popups, games and Medal checks, clipping, updates |
laughclipper/toast.py | The animated popup |
laughclipper/settings_window.py, widgets.py, theme.py | Settings window and hand-painted controls |
laughclipper/updater.py | Checks GitHub Releases and installs updates |
laughclipper/clips.py | Checks Medal saved each clip, and the clip history |
laughclipper/setup_guide.py | The first-run setup guide |
laughclipper/whatsnew.py | "What's new" window (bundled release notes) |
laughclipper/calibrate.py | "Calibrate for your game": measures the game and your laughs, suggests a level |
laughclipper/medal.py | Reads Medal's hotkeys and spots when it's recording |
laughclipper/sounds.py | The optional notification sounds (made in code) |
laughclipper/voice.py | "Don't clip": offline voice command with Vosk |
laughclipper/winutil.py | Windows bits: startup, foreground app, process checks |
LaughClipper.spec, installer/LaughClipper.iss | PyInstaller build and Inno Setup installer |
.github/workflows/release.yml, tests.yml | Builds and publishes releases; runs the tests |
site/, .github/workflows/pages.yml | The one-page website, published with GitHub Pages |
tests/ | pytest tests (settings, triggers, games, clipping, clip check, Medal, sounds, setup guide, voice) |
Built with YAMNet and MediaPipe (Apache 2.0), Qt for Python (LGPL), Vosk (Apache 2.0), SoundCard and keyboard.
Laugh Clipper isn't made by or affiliated with Medal. It just presses Medal's clip hotkey for you.
Released under the MIT License.