Update TTS providers and story markup
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user