Update TTS providers and story markup

This commit is contained in:
2026-05-20 22:13:31 +02:00
parent b911c40d89
commit 8258ea2321
36 changed files with 1482 additions and 197 deletions
+13 -3
View File
@@ -75,7 +75,7 @@ export class ElevenLabsTTSModule extends ApiTTSModuleBase {
const preferredSpeed = persistenceManager.getPreference('tts', 'speed', this.voiceOptions.speed);
if (typeof preferredSpeed === 'number') {
this.voiceOptions.speed = this.getApiSpeed(preferredSpeed);
this.voiceOptions.speed = this.normalizeAppSpeed(preferredSpeed);
}
this.isReady = true;
@@ -255,7 +255,7 @@ export class ElevenLabsTTSModule extends ApiTTSModuleBase {
}
if (typeof options.speed === 'number') {
this.voiceOptions.speed = this.getApiSpeed(options.speed);
this.voiceOptions.speed = this.normalizeAppSpeed(options.speed);
}
// Handle ElevenLabs-specific options
@@ -271,7 +271,17 @@ export class ElevenLabsTTSModule extends ApiTTSModuleBase {
}
getApiSpeed(speed) {
return Math.max(0.7, Math.min(1.2, Number.isFinite(speed) ? speed : 1.0));
const appSpeed = this.normalizeAppSpeed(speed);
if (appSpeed <= 1.0) {
return 0.7 + ((appSpeed - 0.5) / 0.5) * 0.3;
}
return 1.0 + (appSpeed - 1.0) * 0.2;
}
normalizeAppSpeed(speed) {
const value = Number.isFinite(Number(speed)) ? Number(speed) : 1.0;
return Math.max(0.5, Math.min(2.0, value));
}
}