• No refunds!
    Please read the resource description carefully before purchasing. We do not offer refunds once a resource has been downloaded.
  • By purchasing and downloading resources, you agree to the license agreement. Violating the terms may result in suspension of your license or account access.

    License agreement

  • Save More with Paid Membership

    Access over 100 add-ons from Basic and Premium pack for less than buying them individually.

    See membership levels
[XB] Text to Speech

[XB] Text to Speech 1.1.2

You must log in or register to purchase ($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

🎉 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-8c6bbb24021-1.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