A professional desktop transcription studio designed to generate highly accurate timed captions (.srt) from video and audio files. Powered by the Sarvam AI Cloud API for state-of-the-art Indic language transcription, with OpenAI Whisper as a free local fallback. Built on a modern, high-contrast CustomTkinter interface with drag-and-drop support.
- Modern Slate & Indigo Dashboard: Overhauled interface built with native CustomTkinter widgets, offering clean typography, responsive layouts, and interactive focus highlighting.
- Drag & Drop Integration: Easily load media files by dragging and dropping them anywhere on the application window or into the designated drop zone.
- API Request Limit Controls: Configurable plan presets (Starter: 60 RPM, Pro: 200 RPM, Business: 1000 RPM, or Custom Limit) with a sliding-window rate limiter to prevent 429 throttling errors.
- Waveform Silence Alignment (VAD): Intelligently aligns segment cuts with silent gaps between words using pydub's silence detector, ensuring speech is never sliced mid-word.
- Dynamic Local AI Fallback: Thread-safe error listener automatically detects cloud quota exhaustion or rate limits, prompting the user to transition to local Whisper model transcription on the fly.
- Local Model Manager: Detects PyTorch CUDA hardware acceleration and cached model weights, with a background pre-download utility.
- Flexible Chunking Modes:
- Smart Mode: Automatically computes optimal chunk sizes to finish the transcription in one go.
- Throttle Mode: Respects strict rate limits by auto-sleeping between request windows.
- No Chunking: Slices are disabled entirely, allowing Whisper to process full-length audio tracks.
To use the high-accuracy cloud engine, you need an API key:
- Sign up at the Sarvam AI Dashboard.
- Copy your API Subscription Key.
- Install Python: Download here (Ensure you check "Add Python to PATH").
- Install FFmpeg: Download here and add it to your PATH.
- Download this repo: Clone or download the ZIP to your computer.
Double-click Start STC.bat.
- The first run will automatically set up your environment (Python Virtual Environment).
- If you plan to use Whisper (Local) mode, say
ywhen asked about an NVIDIA GPU to install PyTorch with CUDA acceleration.
IMPORTANT: Make your repository PRIVATE.
STC saves your API key locally in an encoded format (CONFIG/.stc_config.json) for convenience. To prevent your key from being exposed:
- Go to your repository settings on GitHub/GitLab.
- Under "Danger Zone", click Change visibility.
- Select Make private.
- Drop File: Drag and drop your video or audio file onto the dashboard, or click Browse....
- Select Engine: Choose Sarvam AI (Cloud) or Whisper (Local).
- Settings: Enter your API Key (for Sarvam) and select target Language (e.g. Bengali).
- Silence Cut & Limit Settings: Configure chunk lengths and toggle Align cuts with nearest silence (recommended).
- Start: Click START TASK. Your
.srtfile will be generated in the same directory as the media file.
MIT License - Copyright (c) 2026 Bishnu Mahali
These projects are simple utility scripts built to solve everyday problems. If you find them helpful in your workflow and would like to support me, any small contribution is deeply appreciated! ❤️