Skip to content

eryukselaskar/premiere-tr-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ™ TR AltyazΔ± β€” AI Transcript & Auto-Cut for Premiere Pro

Local AI transcription, SRT export, and silence-based auto-cut β€” all inside Premiere Pro. No API keys. No cloud. Completely free.

License: MIT Premiere Pro Python CUDA Model


✨ What It Does

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.)


πŸ–₯ Preview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  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 ]  [ βœ• ] β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⚑ Quick Start

Requirements

  • 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)

1. Clone & Install

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.ps1

Or manual install β€” copy the repo folder to:

C:\Users\<YOU>\AppData\Roaming\Adobe\CEP\extensions\tr-subtitle\

2. Enable Unsigned Extensions (one-time)

# 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 /f

3. Start the Whisper Server

cd 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 run

4. Open in Premiere Pro

Window β†’ Extensions β†’ TR AltyazΔ± & Transcript

πŸ”§ How It Works

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.


πŸŽ› Auto-Cut Parameters

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).


πŸ“ Project Structure

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

🧠 Model Performance

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.


πŸ›  Troubleshooting

Extension not showing in Premiere's Extensions menu
  1. Make sure PlayerDebugMode = 1 (DWORD, not String) for CSXS.11, CSXS.12, CSXS.13
  2. Verify the folder is at: %APPDATA%\Adobe\CEP\extensions\tr-subtitle\
  3. Fully restart Premiere Pro (not just reload)
  4. Open manifest.xml in 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.py
ffmpeg not found (pydub error)
# Install via winget
winget install ffmpeg

# Or via chocolatey
choco install ffmpeg

Then 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.


🀝 Contributing

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-plugin

For ExtendScript debugging, use the ExtendScript Debugger VS Code extension.


πŸ“„ License

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.

About

Local AI transcription + silence-based auto-cut inside Premiere Pro. Powered by OpenAI Whisper. No API key needed.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors