Local AI transcription, SRT export, and silence-based auto-cut β all inside Premiere Pro. No API keys. No cloud. Completely free.
TR AltyazΔ± is a Premiere Pro CEP panel that runs OpenAI Whisper locally on your GPU. Transcribe speech, generate subtitles, and remove silences β all without leaving Premiere.
| Feature | Description |
|---|---|
| π AI Transcription | Powered by faster-whisper with word-level timestamps |
| β Auto-Cut | Detect and remove silences with 4 precision controls |
| π SRT Export | One-click subtitle file to your desktop |
| π¬ Timeline Insert | Captions directly into your Premiere sequence |
| π 100% Local | Your footage never leaves your machine |
| πΈ Zero Cost | No API keys, no subscriptions, no usage limits |
Optimized for Turkish with
large-v3, but works with any language Whisper supports (English, Spanish, Japanese, Arabic, etc.)
βββββββββββββββββββββββββββββββββββββββ
β TR AltyazΔ± & Transcript β cut β
ββββββββββββββββ¬βββββββββββββββ¬ββββββββ€
β Transcript β Auto-Cut β Ayar β
βββββββββββββββββββββββββββββββββββββββ€
β βΆ Transkript Al large-v3 β
β Kaynak: [Aktif Sequence βΌ] β
β β
β βΊ Sequence: my_video (165s) β
β βΊ Timeline audio export ediliyor β
β βΊ Export tamam: tr_tl_177.wav β
β βΊ Whisper'a gΓΆnderiliyor... β
β ββββββββββββββββββββ 85% β
β β
β 0:02.1 β 0:05.8 Merhaba arkadaΕlarβ
β 0:06.0 β 0:09.2 BugΓΌn sizinle... β
β 0:09.5 β 0:14.1 Bu videoyu... β
β β
β [ Timeline'a At ] β
β [ DΓΌzenle ] [ SRT Δ°ndir ] [ β ] β
βββββββββββββββββββββββββββββββββββββββ
- Adobe Premiere Pro 2022β2026
- Python 3.9+
- NVIDIA GPU with CUDA (for GPU acceleration β CPU works too, just slower)
- ffmpeg in PATH (required by pydub for audio processing)
git clone https://github.com/eryukselaskar/premiere-tr-plugin.git
cd premiere-tr-plugin
# Run the installer (copies extension + sets registry keys)
Set-ExecutionPolicy Bypass -Scope Process
.\install.ps1Or manual install β copy the repo folder to:
C:\Users\<YOU>\AppData\Roaming\Adobe\CEP\extensions\tr-subtitle\
# Run in PowerShell as Administrator
reg add "HKCU\Software\Adobe\CSXS.11" /v PlayerDebugMode /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Adobe\CSXS.12" /v PlayerDebugMode /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Adobe\CSXS.13" /v PlayerDebugMode /t REG_DWORD /d 1 /fcd whisper-server
pip install -r ../requirements.txt
python whisper_server.py
# Server starts at http://127.0.0.1:5123
# large-v3 model (~3 GB) downloads on first runWindow β Extensions β TR AltyazΔ± & Transcript
Premiere Pro Panel (HTML/JS)
β
βββ evalScript() βββΊ ExtendScript (JSX)
β β
β exportAsMediaDirect()
β (exports current timeline audio)
β
βββ fetch() βββββββββΊ Flask Server (Python)
β
faster-whisper
(GPU transcription)
β
word timestamps
silence detection
ββββ segments ββββββ
Why export the timeline first? If you've already used Auto-Cut to remove silences, the source file is longer than your timeline. The panel exports the current timeline state as audio before transcribing, so timestamps always match what's on screen.
| Parameter | Default | Description |
|---|---|---|
| Cutoff (dBFS) | -50 dB | Volume threshold β below this = silence |
| Min. Silence | 0.5 s | Minimum silence duration to cut |
| Min. Segment | 0.5 s | Keep segments longer than this |
| Padding | 0.2 s | Buffer to keep around speech |
The panel detects silences server-side with pydub, then applies cuts via Premiere's QE API (razor + ripple delete).
premiere-tr-plugin/
βββ CSXS/
β βββ manifest.xml β CEP extension definition
βββ HTML/
β βββ index.html β Panel UI + all JavaScript
β βββ CSInterface.js β Adobe CEP bridge library
βββ jsx/
β βββ hostscript.jsx β ExtendScript (Premiere timeline API)
βββ whisper-server/
β βββ whisper_server.py β Flask + faster-whisper server
βββ install.ps1 β One-click Windows installer
βββ requirements.txt
βββ README.md
Tested on RTX 5070 (12 GB VRAM):
| Model | VRAM | Speed | Turkish Quality |
|---|---|---|---|
tiny |
1 GB | ~10x realtime | Poor |
base |
1 GB | ~7x realtime | OK |
small |
2 GB | ~5x realtime | Good |
medium |
5 GB | ~3x realtime | Very Good |
large-v2 |
10 GB | ~2x realtime | Excellent |
large-v3 |
12 GB | ~2x realtime | Best β |
Change model in the Settings tab. CPU fallback works automatically if no GPU is detected.
Extension not showing in Premiere's Extensions menu
- Make sure
PlayerDebugMode = 1(DWORD, not String) for CSXS.11, CSXS.12, CSXS.13 - Verify the folder is at:
%APPDATA%\Adobe\CEP\extensions\tr-subtitle\ - Fully restart Premiere Pro (not just reload)
- Open
manifest.xmlin a browser to verify it's valid XML
Whisper server won't start
# Check CUDA
nvidia-smi
# Reinstall with CUDA support
pip install faster-whisper --upgrade
# Run with explicit CUDA device
$env:CUDA_VISIBLE_DEVICES=0; python whisper_server.pyffmpeg not found (pydub error)
# Install via winget
winget install ffmpeg
# Or via chocolatey
choco install ffmpegThen restart the Whisper server.
Auto-cut misses some silences
Try raising the Cutoff threshold (e.g., -50 dB β -45 dB). Background noise can prevent pydub from detecting silence. Also reduce Min. Silence if short pauses are being missed.
PRs welcome! Ideas for contribution:
- macOS support (different CEP paths)
- Multi-track Auto-Cut
- Caption styling via Essential Graphics API
- Speaker diarization
- Streaming progress from Whisper to the panel
- Batch transcription for multiple sequences
git clone https://github.com/eryukselaskar/premiere-tr-plugin.git
code premiere-tr-pluginFor ExtendScript debugging, use the ExtendScript Debugger VS Code extension.
MIT β do whatever you want, attribution appreciated.
If this saved you time, a β star helps others find it.
Made with β for video editors who hate paying for transcription APIs.