feat: add whisper.cpp ROCm backend support for AMD GPU acceleration

- transcription.py: new _transcribe_remote_whispercpp() using /inference endpoint
- transcription.py: backend param routes to openai or whispercpp remote path
- config.py: whisper.backend default 'openai', alt 'whispercpp'
- pipeline.py: passes backend from config to transcribe_file
- settings: backend dropdown (OpenAI-compat / whisper.cpp)
- SETUP.md: whisper.cpp ROCm build and systemd setup instructions

whisper-cpp-server running on beastix :8080 (ROCm0, gfx1030, RX 6800 XT)
This commit is contained in:
2026-04-02 01:33:32 +02:00
parent 56d41b8620
commit c7cad4bb2a
6 changed files with 75 additions and 19 deletions
+8 -1
View File
@@ -74,9 +74,16 @@
<section>
<h2>Verarbeitung</h2>
<div class="field">
<label>Whisper Backend</label>
<select id="whisper-backend">
<option value="openai">OpenAI-kompatibel (faster-whisper-server)</option>
<option value="whispercpp">whisper.cpp Server</option>
</select>
</div>
<div class="field">
<label>Whisper Server URL (leer = lokal)</label>
<input type="text" id="whisper-url" placeholder="http://beastix:8000">
<input type="text" id="whisper-url" placeholder="http://beastix:8080">
</div>
<div class="field">
<label>Whisper Modell</label>
+2
View File
@@ -53,6 +53,7 @@ async function loadConfig() {
if (!r.ok) return;
const cfg = await r.json();
document.getElementById('audio-device').value = (cfg.audio && cfg.audio.device) || '';
document.getElementById('whisper-backend').value = (cfg.whisper && cfg.whisper.backend) || 'openai';
document.getElementById('whisper-url').value = (cfg.whisper && cfg.whisper.base_url) || '';
document.getElementById('whisper-model').value = (cfg.whisper && cfg.whisper.model) || 'large-v3';
const ollamaUrl = (cfg.ollama && cfg.ollama.base_url) || 'http://localhost:11434';
@@ -96,6 +97,7 @@ document.getElementById('save-btn').addEventListener('click', async function() {
whisper: {
base_url: document.getElementById('whisper-url').value,
model: document.getElementById('whisper-model').value,
backend: document.getElementById('whisper-backend').value,
},
ollama: {
base_url: document.getElementById('ollama-url').value,