ai newsSo., 25. Okt.
EilmeldungGoogle ML Drift Accelerates On-Device AI Inference Across Diverse GPUs

WordPop Studio: Local AI-Powered Animated Subtitle Generator

Github - https://github.com/VedanshVashist/WordPop_Studio WordPop Studio is a Windows desktop app for creators making Shorts, TikToks, Reels, and other videos. It transcribes speech locally with faster-whisper, aligns captions to word timestamps, and burns them into an MP4 with FFmpeg. Creators can

dev.toSonntag 16:58 · 25.10.6 Min. Lesezeit
Bild: dev.to

Github - https://github.com/VedanshVashist/WordPop_Studio

WordPop Studio is a Windows desktop app for creators making Shorts, TikToks, Reels, and other videos. It transcribes speech locally with faster-whisper, aligns captions to word timestamps, and burns them into an MP4 with FFmpeg. Creators can review and correct words and timings before export, preview the style, and save transcripts as reusable JSON. Captions can show one active word at a time or a short highlighted phrase, with configurable colors, stroke, position, and pop animation. Video and audio stay on the user’s computer, and cached models can be reused for later projects. This Allows Videos To Get More Engaged..

Local, editable, word-by-word animated subtitles for short-form video.

WordPop Studio is a Windows desktop app that transcribes speech on your computer, lets you correct the transcript, and burns animated captions into a new MP4. Your source video and audio stay local. The first setup and first model download need internet access; transcription and rendering use local tools afterward.

The default Classic WordPop preset displays one word at a time, with white text, a bright yellow active word ( #FFD400 ), a black 3.5 px outline at 1080p reference size, and a 130 ms ease-out pop animation. The outline is a text stroke, not a caption box.

The settings panel lets you adjust font, size, text and active colors, outline color and thickness, shadow, animation, safe margins, vertical position, and display mode. The Display captions in ALL CAPS switch changes rendered caption text while keeping the editable transcript’s capitalization intact. Settings can be saved for future runs.

Custom presets can be saved, renamed, and deleted from the preset controls.

An NVIDIA GPU with a compatible CUDA/CTranslate2 setup can be used when detected and configured. Otherwise the app uses CPU int8 inference. The app does not claim GPU acceleration unless it has successfully selected the GPU path. On the 8 GB reference machine, the default base model is a practical starting point.

py -3. 14 --version Enter fullscreen mode Exit fullscreen mode Install an FFmpeg Windows build and add its bin directory to PATH. Open a new terminal and check: ffmpeg -version ffprobe -version ffmpeg -filters | findstr subtitles Enter fullscreen mode Exit fullscreen mode If the last command shows a subtitles filter, the build includes the filter WordPop needs. Official FFmpeg downloads are listed at ffmpeg.org/download.html.

Open the wordpop-studio folder and double-click setup.bat. It creates a project-local.venv and installs the pinned packages there; it does not install Python packages globally.

Double-click run.bat to launch WordPop Studio.

To launch from PowerShell in the project folder:

. \.venv\Scripts\python.exe main.py Enter fullscreen mode Exit fullscreen mode You can pass a video path on launch as well:

. \.venv\Scripts\python.exe main.py "D:\Videos\my-video.mp4" Enter fullscreen mode Exit fullscreen mode The first transcription downloads the selected model to the local cache. Approximate model sizes are shown in the UI: tiny ~75 MB, base ~145 MB, small ~484 MB, medium ~1.5 GB, and large-v3 ~3.1 GB. Smaller models use less disk and usually transcribe faster. Cached models are reused.

The source video is never overwritten. FFmpeg creates the final video in one render pass, keeps compatible source audio or encodes it as AAC, and verifies the output has a video stream and retains audio when present. If the source has no audio, the app exports the video without an audio stream.

Always make corrections before Export MP4. The transcript table has columns for the word, start time, and end time, with times in seconds.

WordPop Studio auto-saves a new transcript as output/<video-name>.wordpop.json. When you reopen that same video, the matching transcript is loaded when available. Use Load transcript to choose a saved JSON file manually. Transcribe runs speech recognition again and replaces the transcript currently in the editor.

The table supports correcting or deleting recognized rows; it does not provide a full timeline editor or an add-word control. For substantially missing speech, re-run transcription with another model and review the result before export.

The.gitignore excludes virtual environments, caches, logs, temporary data, and generated files in output/. Generated videos and transcripts are intentionally kept out of source control by default.

Install FFmpeg, add its bin folder to PATH, close and reopen PowerShell, then verify ffmpeg -version and ffprobe -version.

Install an FFmpeg build with libass/subtitles support. Verify with ffmpeg -filters | findstr subtitles.

Check internet access and free disk space, then try again. Models are cached locally after download. The default model is about 145 MB.

Use tiny or base, close other heavy applications, or configure a compatible NVIDIA CUDA environment. Integrated graphics and non-NVIDIA GPUs are not used for faster-whisper CUDA acceleration.

Correct it in the transcript table and save the transcript before rendering. Model transcripts can make mistakes, especially with names and places, so review them before publishing.

A font looks different in the exported file

Select an installed font in the font picker. If the requested font is unavailable, the app falls back to an installed sans-serif font.

Read the message in the app and check the log. Ensure the output disk has enough free space and the MP4 is not locked by another application. A cancelled or failed render leaves the source video untouched.

wordpop-studio/ ├── assets/ # README screenshots ├── config/presets.json # Built-in caption presets ├── output/ # Generated MP4s and transcript JSON (ignored) ├── temp/ # Temporary render data (ignored) ├── tests/ # Automated component and render tests ├── tools/ # README screenshot capture helper ├── wordpop/ │ ├── services/ # Transcription, timing, subtitles, FFmpeg export │ ├── ui/ # PySide6 window, preview, settings, transcript editor │ └── utils/ # Configuration, FFmpeg, logging, system information ├── main.py ├── requirements.txt ├── setup.bat └── run.bat Enter fullscreen mode Exit fullscreen mode Development Activate the local environment or call its Python directly, then run the test suite:

. \.venv\Scripts\python.exe -m pytest -q Enter fullscreen mode Exit fullscreen mode The suite covers timestamp parsing and boundaries, caption placement, animation progress, font fallback, preset loading, transcript persistence, output naming, error handling, and a short FFmpeg render smoke test.

To regenerate the README screenshots on Windows:

$ env: QT_QPA_PLATFORM = "offscreen". \.venv\Scripts\python.exe tools\capture_readme_screenshots.py Enter fullscreen mode Exit fullscreen mode Privacy and third-party components Video/audio transcription and video rendering run locally. Internet is used during setup and when a Whisper model is not cached yet; media files are not sent to a transcription service.

WordPop Studio code and documentation are licensed under the MIT License; see LICENSE. Third-party Python packages, FFmpeg, fonts, and downloaded Whisper model weights retain their own licenses and terms. This project does not bundle the model weights or grant rights to user-supplied video, audio, or fonts.

Quelle: dev.to (dev.to). Original öffnen