diff --git a/apps/readest-app/src/services/tts/EdgeTTSClient.ts b/apps/readest-app/src/services/tts/EdgeTTSClient.ts index 3fe6e853..6a9e96fa 100644 --- a/apps/readest-app/src/services/tts/EdgeTTSClient.ts +++ b/apps/readest-app/src/services/tts/EdgeTTSClient.ts @@ -56,7 +56,7 @@ export class EdgeTTSClient implements TTSClient { } getPayload = (lang: string, text: string, voiceId: string) => { - return { lang, text, voice: voiceId, rate: this.#rate, pitch: this.#pitch } as EdgeTTSPayload; + return { lang, text, voice: voiceId, rate: 1.0, pitch: this.#pitch } as EdgeTTSPayload; }; getVoiceIdFromLang = async (lang: string) => { @@ -169,6 +169,7 @@ export class EdgeTTSClient implements TTSClient { }; this.#isPlaying = true; audio.src = audioUrl || ''; + audio.playbackRate = this.#rate; audio.play().catch((err) => { cleanUp(); console.error('Failed to play audio:', err); diff --git a/apps/readest-app/src/services/tts/TTSController.ts b/apps/readest-app/src/services/tts/TTSController.ts index 0e261a10..b8adb439 100644 --- a/apps/readest-app/src/services/tts/TTSController.ts +++ b/apps/readest-app/src/services/tts/TTSController.ts @@ -124,7 +124,7 @@ export class TTSController extends EventTarget { for await (const _ of iter); } - async preloadNextSSML(count: number = 2) { + async preloadNextSSML(count: number = 4) { const tts = this.view.tts; if (!tts) return; let preloaded = 0;