From 96ae76f29598c0cf5663b02cf988462c02be7851 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 11 Jun 2026 21:04:10 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20g=C3=BCltige=20Default-Voice=20f=C3=BCr?= =?UTF-8?q?=20Schwedisch=20(voice=5Fnot=5Ffound=20behoben)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die geseedete sv-Voice 'XXCqsM8I9KhqA7jLGj1U' existiert bei ElevenLabs nicht — jede schwedische Audio-Generierung schlug mit voice_not_found fehl (de/en haben eigene, gültige Account-Voices). - Seed + Migration: sv → Premade 'Charlotte' (XB0fDUnXU5powFXDhCwa, schwedischer Akzent, in jedem Account verfügbar); Bestandsdaten mit der defekten ID werden beim Boot automatisch korrigiert - voices.js: Fallback auf Premade 'Sarah' statt der toten ID Co-Authored-By: Claude Fable 5 --- src/db-migrate.js | 9 ++++++++- src/voices.js | 7 +++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/db-migrate.js b/src/db-migrate.js index ce73df6..1c8cdf0 100644 --- a/src/db-migrate.js +++ b/src/db-migrate.js @@ -599,9 +599,16 @@ async function migrate() { INSERT INTO tts_settings (language, voice_id) VALUES ('de', 'rKiu7lQ4c5P3az3745s3'), ('en', 'cVd39cx0VtXNC13y5Y7z'), - ('sv', 'XXCqsM8I9KhqA7jLGj1U') + ('sv', 'XB0fDUnXU5powFXDhCwa') ON CONFLICT (language) DO NOTHING `).catch(() => {}); + // Defekte sv-Seed-Voice ersetzen: 'XXCqsM8I9KhqA7jLGj1U' existiert bei ElevenLabs nicht + // (voice_not_found) — dadurch schlug jede schwedische Audio-Generierung fehl. + // 'XB0fDUnXU5powFXDhCwa' = Premade-Voice "Charlotte" (schwedischer Akzent), in jedem Account verfügbar. + await query(` + UPDATE tts_settings SET voice_id = 'XB0fDUnXU5powFXDhCwa' + WHERE language = 'sv' AND voice_id = 'XXCqsM8I9KhqA7jLGj1U' + `).catch(() => {}); // ── Content-Pipeline: Job-Tracking direkt auf der Picture-Zeile ────────────── await query(`ALTER TABLE pictures ADD COLUMN IF NOT EXISTS pipeline_status TEXT NOT NULL DEFAULT 'none'`).catch(() => {}); diff --git a/src/voices.js b/src/voices.js index 3a0440d..c443eb3 100644 --- a/src/voices.js +++ b/src/voices.js @@ -1,12 +1,15 @@ // Default ElevenLabs voice per language (ISO 639-1 → voice_id). // Configure via env (ELEVENLABS_VOICE_DE/EN/SV). Falls back to a shared multilingual voice. -const FALLBACK_VOICE = process.env.ELEVENLABS_VOICE_DEFAULT || 'XXCqsM8I9KhqA7jLGj1U'; +// 'EXAVITQu4vr4xnSDxMaL' = ElevenLabs-Premade "Sarah" — existiert in jedem Account. +// (Der frühere Default 'XXCqsM8I9KhqA7jLGj1U' lieferte voice_not_found.) +const FALLBACK_VOICE = process.env.ELEVENLABS_VOICE_DEFAULT || 'EXAVITQu4vr4xnSDxMaL'; const VOICES = { de: process.env.ELEVENLABS_VOICE_DE || FALLBACK_VOICE, en: process.env.ELEVENLABS_VOICE_EN || FALLBACK_VOICE, - sv: process.env.ELEVENLABS_VOICE_SV || FALLBACK_VOICE, + // Premade "Charlotte" (schwedischer Akzent) als Default für Schwedisch + sv: process.env.ELEVENLABS_VOICE_SV || 'XB0fDUnXU5powFXDhCwa', }; /** Returns the configured voice_id for a language code (default: fallback voice). */