[XB] Text to Speech: Read Aloud, Audio Playback & AI Voices

[XB] Text to Speech: Read Aloud, Audio Playback & AI Voices 1.1.2

No permission to buy ($25.00)
  • Add configurable OpenAI chunk prefetching
  • Added a speech generation queue that reuses in-progress requests for identical text instead of starting duplicate OpenAI generations
1785720085719.webp

🎉 Smarter OpenAI Speech, Better Performance!​

This update brings significant improvements to the OpenAI text-to-speech experience with smarter caching, faster playback, more flexible permissions, and enhanced administration tools.

✨ New Features​

  • Replaced the content type option with separate permissions for each supported content type.
  • Added content context to OpenAI speech requests and audio cache records.
  • Added a separate OpenAI TTS character limit option.
  • Added linked content details and a content type filter to the audio cache log.
  • Added an option to select a default OpenAI voice for users who have not chosen one.
  • Added an option to choose the OpenAI audio format (MP3, AAC, or Opus), defaulting to AAC for smaller cached files with the same broad browser support as MP3.

🔧 Improvements​

  • Audio cache entries are now scoped to their source content_type and content_id.
  • Increased the default OpenAI TTS character limit from 160 to 3500 (maximum: 4096), significantly reducing the number of requests required for long posts.
  • OpenAI audio is now prefetched while the current chunk is playing, eliminating playback gaps for uncached content.
  • Added connection and request timeouts for OpenAI API requests to prevent indefinitely hanging requests.

🐞 Bug Fixes​

  • Fixed rapid play/pause actions while OpenAI audio was still being generated causing duplicate requests for the same audio chunk.
  • Fixed the hourly rate limit permission being applied to cached audio instead of only newly generated OpenAI speech.
  • Fixed long sentences or unbroken text exceeding the OpenAI character limit being truncated instead of split into multiple chunks.

​

69881c6a-0cc0-4973-b912-8c6bbb24021b.webp


🎉 More voices, more content, and more control!​

This update introduces OpenAI-powered text-to-speech with server-side audio caching, expands support for additional content types, and includes several playback and highlighting improvements.

✨ New Features​

  • Added optional OpenAI text-to-speech support as an alternative to browser voices, with per-voice selection, server-side audio caching, configurable hourly rate limiting, and a loading indicator on the speech button.
  • Added an ACP page (Content → Text-to-Speech Audio Cache) to browse, filter, and batch-delete cached OpenAI audio.
  • Added automatic pruning of unused cached OpenAI audio after a configurable number of days (daily cron).
  • Added support for XenAddons AMS Articles, Comments, and Reviews.
  • Added support for XenAddons UBS Blog Entries, Comments, and Reviews.
  • Added support for Report Center comments.
  • Added an option to enable or disable text-to-speech for individual content types.

🐞 Bug Fixes​

  • Fixed Speech All skipping the first element on the initial run.
  • Fixed Speech All incorrectly replaying the first element after normal playback.
  • Fixed incorrect word highlighting offsets for messages split into multiple speech parts.
  • Fixed the highlight option not reflecting the saved cookie state on page load.
  • Added option to hide TTS elements for browsers without SpeechSynthesis support
  • Fixed "Speech all" speaking the first element twice
Back
Top Bottom