=== Text to Speech - TTSWP ===
Contributors: mvirik
Donate link: https://ttswp.com/get-started
Tags: text to speech, tts, text to audio, accessibility, text to voice
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.2
Stable tag: 3.3.4
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.txt

Text to Speech (TTS) plugin for WordPress with ElevenLabs AI voices, WCAG accessibility, SEO audio schema, and 10,000 free credits.

== Description ==

## Add Text to Speech to WordPress in Seconds

**[Text to Speech - TTSWP](https://ttswp.com/)** turns your written content into natural, human-like audio. It makes your website accessible to everyone. Listeners, people with visual impairments, and those with learning differences all benefit.

The plugin is published and operated by **Norse Digital Group LLC**, a Wyoming-registered company (Sheridan, WY, USA). Engineering work is performed by [Mementor Web Design & Digital Marketing Agency AS](https://mementor.no/en/), our Norwegian development partner.

The plugin uses ElevenLabs to generate lifelike speech that sounds human, warm and clear. No setup, API key, or coding is needed. Install it and start converting your WordPress posts into audio right away.

Text to speech keeps visitors on your page longer and raises engagement. Both of these factors can improve your SEO. The plugin follows WCAG 2.1, WCAG 2.2, and ADA accessibility standards.

PRO and Agency adds Speech-to-Text (STT) features. These are useful for transcription, captions, or converting podcasts and video into readable text.

## Key Benefits

* Instant setup with no API keys or external accounts needed. Install and start converting text to speech
* Natural voices powered by ElevenLabs that produce clear, professional narration
* Automatic, mobile-friendly audio player that fits any screen size
* Accessibility ready with ARIA labels and keyboard support for screen readers and assistive devices
* Better engagement and SEO signals as visitors spend more time on your pages
* 10,000 free text-to-speech characters on activation so you can try it at no cost
* Lightweight and built for performance with no impact on page speed or Core Web Vitals
* Speech-to-Text transcription (PRO) to create written transcripts from your audio content

## Why Choose This Text to Speech Plugin

### Simple and Fast
* No API keys, or coding needed. Install, activate, and your audio player is ready in seconds
* Works with default settings so you can start converting text to speech right away

### Natural Voices
* Natural male, female, and multilingual voices that sound clear and professional
* Pick from a wide range of tones and styles to match your brand and audience

### Accessibility and Compliance
* Fully compatible with WCAG 2.1 AA and ADA guidelines for web accessibility
* Helps your website meet legal requirements by offering audio versions of written content

### Theme and Page Builder Compatibility
* Works with any theme or page builder, including Elementor, Gutenberg, Divi, Visual Composer, and all standard WordPress themes
* No conflicts with popular plugins. Designed to fit smoothly into your existing setup

### SEO Optimized

Audio players raise dwell time and send positive accessibility signals. Text to Speech PRO includes AudioObject schema for better search visibility.

## Features

### Free Features
* 10,000 free characters to convert text to audio. Enough to get started without paying
* Natural male and female voices in multiple languages for a professional listening experience
* Automatic player for posts, pages, and WooCommerce products with no manual setup needed
* Flexible player placement - before title, after title, after content, before excerpt, or after excerpt
* Zero-click install. Activate the plugin and your audio player is ready
* Mobile-first player with speed control and download so visitors can listen anywhere
* Accessibility ready with ARIA labels and keyboard control for screen readers and assistive devices
* Audio auto-updates when post content changes. No need to regenerate manually
* Audio Library to browse, search, filter, and manage all generated audio files in one place
* Statistics dashboard to track how many visitors listen to your content
* Shortcode and block support for custom player placement anywhere on your site
* Content filtering with CSS selectors or no-audio class to exclude specific sections from narration
* Built for caching and performance plugins like WP Rocket, LiteSpeed Cache, and W3 Total Cache
* Multisite support for managing text-to-speech across multiple WordPress sites from one network

### PRO & Agency Features
* Sticky Footer Player. A persistent audio player bar pinned to the bottom of the page. Visitors can keep reading while listening. Includes play, pause, seek, volume, speed, and close controls
* Waveform Progress Bar. A visual waveform replaces the standard progress bar. Each post gets a unique pattern. Shows real-time playback progress with accent-colored bars
* Background Opacity. Adjust the sticky footer's background transparency so page content shows through while the player stays accessible
* 600+ voices across 70+ languages to match your audience worldwide
* Premium 44.1 kHz (192 kbps) audio quality for studio-grade narration
* ElevenLabs v2 and Eleven v3 models for the latest and most natural-sounding voice technology
* Speech-to-Text transcription to create written transcripts from audio
* Bulk audio generation to convert multiple posts or pages at once
* WooCommerce product narration. Let customers listen to product descriptions
* Voice cloning with ElevenLabs Voice ID to create a custom brand voice
* Word replacement and pronunciation correction for names, abbreviations, and technical terms
* SSML support for fine-tuned control over speech output
* Custom pauses to add natural breaks between sections, headings, or paragraphs
* AudioObject schema for SEO. Structured data that helps search engines index your audio content
* Custom intro and outro to add branding or disclaimers to every audio file
* WPML, GTranslate, and Weglot multi-language voice mapping to assign different voices per language
* Amazon S3 media offload to reduce server load and speed up audio delivery
* Advanced analytics with detailed listening data per post, device, and location
* White-label mode (Agency plan) to remove plugin branding from the backend and the text-to-speech player
* Resell or share our Text-to-Speech plugin (Agency plan) under your own brand and pricing. Offer text-to-speech as a service to your clients and create a recurring revenue stream
* Credit Allocation per Site (Agency plan). Distribute credits across client sites from one account. Control usage per site to manage costs and ensure fair allocation
* Priority support with faster response times from the development team
* Custom audio files. Upload your own audio files.

## How It Works

1. Install and activate the plugin from your WordPress dashboard
2. Publish or update a post or page. Audio is generated from your content automatically
3. A text-to-speech audio player appears on the page with no extra configuration
4. Visitors can play, pause, adjust speed, or download the audio file

## Video Walkthrough

[youtube https://youtu.be/Qn54oJxSDQg?si=il4kEy269JH4cxLm]

Features:
[https://ttswp.com/features](https://ttswp.com/features)

Pricing:
[https://ttswp.com/pricing](https://ttswp.com/pricing)

Documentation and setup guides:
[https://ttswp.com/docs](https://ttswp.com/docs)

## Supported Languages

Compatible with WPML, Polylang, TranslatePress, GTranslate, Weglot and other translation plugins.

Text to Speech works in 70+ languages. Here are some of the most popular:

* English (US, UK, AU): [Text to Speech](https://ttswp.com/)
* Norwegian: [Tekst til tale](https://ttswp.com/no)
* Finnish: [Tekstistä puheeksi](https://ttswp.com/fi)
* Spanish: [Texto a voz](https://ttswp.com/es) | [Síntesis de voz](https://ttswp.com/es-419)
* French: [Synthèse vocale](https://ttswp.com/fr)
* German: [Text-zu-Sprache](https://ttswp.com/de)
* Swedish: [Text till tal](https://ttswp.com/sv)
* Danish: [Tekst til tale](https://ttswp.com/da)
* Italian: [Sintesi vocale](https://ttswp.com/it)
* Portuguese (Brazil): [Síntese de voz](https://ttswp.com/pt-br)
* Dutch: [Tekst naar spraak](https://ttswp.com/nl)
* Polish: [Zamiana tekstu na mowę](https://ttswp.com/pl)
* Turkish: [Metinden sese](https://ttswp.com/tr)
* Russian: [Преобразование текста в речь](https://ttswp.com/ru)
* Japanese: [テキスト読み上げ](https://ttswp.com/ja)
* Chinese: [文字转语音](https://ttswp.com/zh-cn)
* Korean: [텍스트 음성 변환](https://ttswp.com/ko)
* Arabic: [تحويل النص إلى كلام](https://ttswp.com/ar)
* Hindi: [टेक्स्ट टू स्पीच](https://ttswp.com/hi)
* Indonesian: [Teks ke ucapan](https://ttswp.com/id)
* Bengali: টেক্সট টু স্পিচ
* Thai: แปลงข้อความเป็นเสียง
* Vietnamese: Chuyển văn bản thành giọng nói

## Accessibility and SEO Advantages
* Meet WCAG 2.1 AA and ADA requirements by offering an audio version of written content
* Raise average session time as visitors stay longer when they can listen instead of read
* Help users with dyslexia, ADHD, or visual impairments with a hands-free listening option
* Improve SEO with rich media and structured data that search engines can index and display
* Create inclusive multilingual content that reaches audiences in their preferred language

## Use Cases
* Accessibility and inclusion. Make your website usable for people with reading difficulties or disabilities
* Blogs and news. Let readers listen to articles while on the go
* E-commerce product descriptions. Give shoppers the option to hear product details before buying
* Education. Help students absorb course material through audio learning
* Long-form content. Turn guides, reports, and documentation into easy-to-consume audio
* Multitaskers. Serve visitors who prefer listening while commuting, exercising, or working
* Content creators. Repurpose written content into audio format without extra recording effort

## Other Tools by Norse Digital Group LLC

* Text to Speech - TTS: [Text to Speech - TTS](https://mementor.no/en/wordpress-plugins/text-to-speech/)
* BestPris.no: [Best Pris](https://bestpris.no/)
* SEO-Analyse.no: [SEO Analyse](https://seo-analyse.no/)

== Installation ==

## Standard Installation

1. Go to Plugins → Add New in your WordPress admin
2. Search for "Text to Speech - TTSWP"
3. Click Install Now and then Activate
4. Click "Connect Site" on the Overview page to link your site to TTSWP
5. You receive 10,000 free welcome credits instantly
6. Optional: connect your ElevenLabs API key for 10,000 extra free monthly credits
7. Optional: upgrade to Pro or Agency for more credits and features

## Quick Start Guide

1. **Overview** - see your plan, credits, and setup checklist at a glance
2. **Voices** - pick a default voice and language for your audio
3. **Player** - customize colors, size, position, and player label
4. **Content** - choose which post types generate audio and set content rules
5. **Audio Library** - browse, search, and manage all generated audio files
6. **Statistics** - track play counts and listener engagement
7. **Shortcode Generator** - create custom player embeds for any content
8. **Bulk Generation** (Pro) - convert all existing posts to audio at once

== Frequently Asked Questions ==

= Do I need an API key or an ElevenLabs account? =
No. You get 10,000 free welcome credits when you connect your site. No ElevenLabs account is needed. If you want an extra 10,000 free monthly credits, you can optionally connect your own ElevenLabs API key as a fallback.

= What is TTSWP Dashboard? =
It is the TTSWP cloud dashboard where you manage your plan, credits, connected sites, and billing. Connect your WordPress site from the plugin's Overview page with one click.

= What is the difference between Free, Pro and Agency? =
Free includes 10,000 welcome credits and standard voices. Pro adds monthly credits, all voices, Amazon S3 storage, multilingual support, and advanced features. Agency adds unlimited sites, white-label branding, credit allocation per site, and dedicated support.

= Is the text to speech player WCAG compliant? =
Yes. All audio controls include ARIA labels, keyboard navigation, and color-contrast support.

= Which languages does text to speech support? =
All plans support 70+ languages. Pro and Agency unlock 600+ premium voices.

= Does text to speech work with Elementor, Divi, or Gutenberg? =
Yes. It works with all popular page builders and standard WordPress themes.

= Does it work with WooCommerce? =
Yes. You can generate audio for product descriptions, including title, price, stock status, and category. Pro feature.

= Can I bulk-convert existing posts to audio? =
Yes. Upgrade to Pro and use the Bulk Generate tool.

= Will text to speech slow down my site? =
No. The player is lazy-loaded and works with caching plugins like WP Rocket, LiteSpeed Cache, and W3 Total Cache.

= Can I use my own voice? =
Yes. Pro users can enter their custom ElevenLabs Voice ID for voice cloning.

= What happens when I run out of credits? =
Existing audio stays playable. New audio will not generate until you top up credits, your monthly credits renew, or your ElevenLabs API key fallback kicks in.

= Can I manage multiple sites from one account? =
Yes. Connect multiple WordPress sites to your TTSWP account. Agency plans include unlimited sites with per-site credit allocation.

== Screenshots ==
1. Dashboard overview with quick stats, credits, and one-click access to all key settings
2. Audio settings. Choose model, language, audio quality, and fine-tune voice parameters
3. Voice selection with filters for gender, age, accent, and use case. Preview voices before you choose
4. Audio player customization with live preview. Adjust colors, layout, controls, and placement
5. Content control settings. Choose post types, auto-generation, pauses, and WooCommerce product audio
6. Shortcode generator. Convert any text to speech and place the player anywhere on your site
7. Word replacement and pronunciation controls for perfect audio output
8. CSS selectors. Include or exclude specific page elements from speech conversion
9. Speech-to-Text transcription. Create written transcripts from audio and video files
10. Usage statistics with credit consumption and generation trends over time
11. Credit usage by post. Track exactly how many credits each post or page consumes
12. Audio statistics. Track play clicks, completion rate, listen time, and engagement per post
13. Audio library with all generated audio files, languages, and play counts in one place
14. Plan and credits overview. Manage your subscription and see remaining credits at a glance
15. Affiliate program. Earn 20% commission by referring other site owners
16. Advanced settings with debug tools, lazy loading, and custom CSS for developers
17. One-click audio generation directly from your WordPress post list

== Changelog ==

= 3.3.4 - 2026-06-13 =
* Fix: Connecting your site now works reliably when you sign up and connect for the first time. The secure connection window was too short to finish if you were creating your account and verifying your email along the way, which could leave your site showing as "not connected" even though it was set up correctly. You now have plenty of time to complete every step.
* Fix: Prevented a rare double credit charge when two visitors triggered on-demand audio for the same block at the very same moment.
* Improvement: Clearer messaging if your connection is ever lost (for example if the site is removed on app.ttswp.com). You now get a notice prompting you to reconnect instead of silent failures. The same applies during checkout and audio cleanup.
* Improvement: After connecting, if your credit balance cannot be loaded right away, the dashboard now explains it is still loading instead of appearing to show zero credits.
* Accessibility: Player progress bars are now keyboard operable and announced to screen readers, with visible keyboard focus outlines on the controls. This covers the standard player, the sticky footer player, and the waveform progress bar. Use the arrow keys to rewind or fast-forward, and Home/End to jump to the start or end.
* Improvement: Audio generation is now more resilient to brief hiccups, automatically retrying once if the service is momentarily unreachable or rate-limited.

= 3.3.3 - 2026-06-11 =
* Improvement: Clearer message when your text is too long for the selected voice model. Instead of a raw error code, it now shows your character count, the selected model and its limit, lists the available models and their limits, and links to the Voices page so you can pick a model that fits.
* Improvement: Friendlier messages when audio cannot be generated. For example, if the selected voice model does not support the chosen language, the notice now explains it in plain language and links straight to the Voices page.
* Hardening: Stricter per-post permission checks on audio generation and deletion, abuse protection on on-demand generation, and tighter restrictions on which servers audio can be downloaded from.
* Fix: In the Block editor, the in-editor audio box now shows the Generate button as soon as you save a brand-new post, with no page reload needed.
* Fix: The Text to Speech submenu now opens on hover from other admin screens, such as the Posts list. It was hidden everywhere instead of only on the plugin's own pages.
* Fix: After generating audio from the posts list, the Download and Custom Audio buttons now appear immediately, without needing a page refresh.

= 3.3.2 - 2026-06-10 =
* New: Generate audio right inside the editor. A new "Text to Speech Audio" box now appears while you edit a post, page, or product, so you can create, replace, play, download, or delete the audio without leaving for the posts list. It works in the Block editor, the Classic editor, and on WooCommerce products. On multilingual sites (Weglot, GTranslate, or WPML) you get one row per language, exactly like the posts list. Just save your changes first, then the Generate button is ready to use.

= 3.3.1 - 2026-06-05 =
* New: Sticky Footer Player now has four bar styles. Keep the full-width bar, or switch to a compact floating player (centered, bottom-left, or bottom-right) with rounded corners and a soft shadow. On phones the floating styles automatically fit the screen width. Choose your style under Audio Player > Placement when the Sticky Footer is selected.

= 3.3.0 - 2026-06-01 =
* New: Full GTranslate support. Your audio now works seamlessly with GTranslate — generate a natural-sounding voice for every language your site offers, and the player automatically loads the right audio when a visitor switches language. The player stays hidden for any language that doesn't have audio yet, so each language only shows what's available.
* New: Custom audio files. Prefer your own recording? Upload an audio file, or paste a link to one, and use it in place of the generated voice for any post or page. On multilingual sites you can set a different file for each language — ideal for human narration, podcast episodes, or brand voice-overs.
* Improvement: GTranslate no longer interferes with the audio player's buttons during playback; only the player label is translated, as intended.

= 3.2.30 - 2026-05-31 =
* Fix: GTranslate audio generation now works correctly — translation was not triggering due to an internal cookie handling issue
* Fix: Player now correctly shows or hides based on whether audio exists for the visitor's language

= 3.2.28 - 2026-05-31 =
* New: GTranslate integration — generate per-language TTS audio via browser translation capture (PRO)
* New: Frontend audio swap for GTranslate visitors — serves correct-language audio without page reload

= 3.2.27 - 2026-05-30 =
* Fixed: Further fix for Weglot-translated audio coming out in the original language — this time on longer articles. Posts above a certain length exceeded the translation service's per-request size limit and were returned untranslated; the plugin now translates the content in smaller pieces so the full article is translated correctly at any length.

= 3.2.26 - 2026-05-29 =
* New: The Affiliate Program is now live. Refer new customers and earn commission on their subscriptions. Open Affiliate Program in the plugin menu to get your referral link and details.
* Fixed: Audio for a Weglot translated language could occasionally come out in the original language (spoken by the translated voice) if the translation service was briefly unavailable. The plugin now retries, and if translation still fails it stops with a clear message so you can try again, instead of saving audio in the wrong language.

= 3.2.25 - 2026-05-28 =
* Fixed: Audio generated for Weglot- or WPML-translated posts no longer plays the original-language Custom Introduction and Custom Outro. Spanish audio, for example, used to be wrapped with the English intro and outro you set in the Content settings.
* New: Set a separate Custom Introduction and Custom Outro for each language on the Content settings page. When Weglot or WPML is active, every destination language gets its own tab. Leave a language tab empty to fall back to your default intro and outro automatically.

= Earlier Versions =
* For the complete changelog, see https://ttswp.com/docs/changelog

== External Services ==

## ElevenLabs API

Purpose: Converts your text into natural-sounding speech
Data sent: Post text, voice ID, API key (if used)
When: On manual or automatic audio generation
Storage: MP3 files saved locally or on S3
Limits: Free plan includes 10,000 one-time welcome credits. PRO plans start at 50,000 credits per month.
Terms: [https://elevenlabs.io/terms-of-use](https://elevenlabs.io/terms-of-use)
Privacy: [https://elevenlabs.io/privacy-policy](https://elevenlabs.io/privacy-policy)

## TTSWP Cloud Platform (Norse Digital Group LLC)

Handles checkout, subscriptions, and license validation for Pro and Agency plans.
Terms: [https://ttswp.com/terms](https://ttswp.com/terms)
Privacy: [https://ttswp.com/docs/trust/privacy](https://ttswp.com/docs/trust/privacy)

== Translations ==

We're looking for contributors to help translate this plugin. If you can help, we'd love to hear from you. Contact us and we'll guide you through the process.

== Privacy ==

**Data Collection**
This plugin collects usage statistics only if you opt in through the consent dialog in Settings. You can opt out anytime in Settings → Advanced.

**If you opt in, we collect:**

* Feature usage counts (generations, characters)
* Plugin, PHP, and WordPress versions
* Your site domain

**We never collect:**

* Personal information or user data
* Content of your posts or pages
* API keys or passwords

**Other Privacy Information**

* Content text sent for speech synthesis goes to ElevenLabs
* API keys are stored encrypted in your database
* Audio files remain on your server or configured S3 storage
* Full data removal runs on uninstall if enabled in Advanced settings

== Credits ==

Natural voice synthesis by **[ElevenLabs](https://elevenlabs.io)**

Published by **Norse Digital Group LLC**. Engineering by **Mementor Webdesign & Digitalt Markedsføringsbyrå AS** under contract with Norse Digital Group LLC.