Convert your WordPress posts to natural-sounding audio with AI-powered text-to-speech technology. No API keys, no subscriptions, completely free.
| Feature | Description |
|---|---|
| 🎙️ AI-Powered Voices | Natural-sounding speech using Piper TTS neural network models |
| 🌍 12 Languages | English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Korean |
| 📖 Word Highlighting | Whisper-powered accurate word timestamps for precise synchronization |
| 🎨 Customizable Player | Match your theme with custom colors and styling |
| ⬇️ Download Audio | Let visitors download audio files for offline listening |
| 🎭 Voice Presets | Quick effects like Warm, Radio, Narrator, Deep, and more |
| 💰 100% Free | No premium version, no limits, no hidden costs |
| 🔒 Privacy-First | All processing happens locally in the browser |
Click to view screenshots
The sleek audio player with word highlighting during playback.
Configure voices, presets, colors, and display options.
Generate audio directly from the post editor sidebar.
Option 1: Download & Install
- Download the ZIP file above
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
Option 2: From WordPress Admin
- Go to Plugins → Add New
- Search for "Speechable"
- Click "Install Now" and then "Activate"
Option 3: Manual Installation
cd wp-content/plugins/
git clone https://github.com/tansihmittal/speechable.git- Configure - Go to Settings → Speechable to set your preferences
- Generate - Edit any post and click "Generate Audio" in the sidebar
- Publish - The audio player automatically appears on your published posts
Transform your audio with one-click presets:
| Preset | Pitch | Reverb | Best For |
|---|---|---|---|
| 🎤 Default | 0 | 0% | Natural voice |
| ☀️ Warm | -1 | 10% | Friendly content |
| ✨ Bright | +1 | 5% | Energetic content |
| 📻 Radio | 0 | 15% | Broadcast quality |
| 📖 Narrator | -2 | 20% | Audiobook style |
| 🎙️ Podcast | 0 | 8% | Conversational |
| 🎸 Deep | -4 | 12% | Low bass voice |
| 🌸 Soft | +2 | 18% | Gentle content |
| 🏠 Room | 0 | 35% | Room ambience |
| 🏛️ Hall | 0 | 50% | Concert hall |
| � hTelephone | +2 | 3% | Phone quality |
| 📼 Vintage | -1 | 25% | Retro feel |
| 🇺🇸 English (US) | 🇬🇧 English (UK) | 🇩🇪 German | 🇫🇷 French |
| 🇪🇸 Spanish | 🇮🇹 Italian | 🇵🇹 Portuguese | 🇳🇱 Dutch |
| 🇵🇱 Polish | 🇷🇺 Russian | 🇨🇳 Chinese | 🇯🇵 Japanese |
| 🇰🇷 Korean | |||
- 📝 Bloggers - Give readers an audio option
- 📰 News Sites - Accessibility for all visitors
- 🎓 Educational Content - Help students learn
- ♿ Accessibility - Support visually impaired users
- 🎧 Podcasters - Quick audio versions of written content
| Requirement | Minimum |
|---|---|
| WordPress | 5.8+ |
| PHP | 7.4+ |
| Browser | Chrome, Firefox, Safari, Edge |
Speechable is tested and compatible with popular WordPress plugins:
| Plugin | Status | Notes |
|---|---|---|
| WP Rocket | ✅ Fully Compatible | JS automatically excluded from minification/delay |
| LiteSpeed Cache | ✅ Fully Compatible | JS excluded from optimization |
| W3 Total Cache | ✅ Fully Compatible | JS excluded from minification |
| Autoptimize | ✅ Fully Compatible | JS excluded from concatenation |
| SG Optimizer | ✅ Fully Compatible | JS excluded from combination |
| Plugin | Status | Notes |
|---|---|---|
| Elementor | ✅ Fully Compatible | Auto-reinitializes on widget render |
| Beaver Builder | ✅ Fully Compatible | Hooks into layout render events |
| Divi Builder | ✅ Fully Compatible | Supports dynamic module loading |
| WPBakery | ✅ Fully Compatible | Works with shortcode output |
| Bricks Builder | ✅ Fully Compatible | Supports AJAX page loading |
| Oxygen Builder | ✅ Fully Compatible | Reinitializes on AJAX load |
| Plugin | Status | Notes |
|---|---|---|
| WPML | ✅ Compatible | Works with multilingual content |
| Yoast SEO | ✅ Compatible | No conflicts |
| Rank Math | ✅ Compatible | No conflicts |
| WooCommerce | ✅ Compatible | Works on product pages |
Note: If you encounter issues with any plugin not listed here, please report it.
This plugin uses the following third-party services for text-to-speech functionality:
- Service: Piper TTS Web by Mintplex Labs
- CDN: jsDelivr (
cdn.jsdelivr.net) - License: MIT License
- Source: Hugging Face
- Downloaded: On first use of each voice
- Cached: Locally in browser storage
- Service: Hugging Face Transformers.js
- CDN: jsDelivr (
cdn.jsdelivr.net/npm/@huggingface/transformers) - Models Available:
Xenova/whisper-tiny.en(~75MB) - Fastest, English onlyXenova/whisper-tiny(~75MB) - Fast, all languagesXenova/whisper-small.en(~250MB) - Better accuracy, English onlyXenova/whisper-small(~250MB) - Better accuracy, all languages
- Purpose: Extracts accurate word-level timestamps for synchronized highlighting
- License: Apache 2.0
- Service: ONNX Runtime Web
- CDN: Cloudflare (
cdnjs.cloudflare.com/ajax/libs/onnxruntime-web) - Purpose: Machine learning inference engine for TTS models
🔒 Privacy Note: Your content is processed locally in your browser and is NOT sent to any external server. Voice models and Whisper models are downloaded once and cached locally.
Does this plugin require an API key?
No! Speechable uses Piper TTS which runs entirely in your browser. No API keys, no external services, no monthly fees.
Will this slow down my website?
No. The TTS processing happens in the browser when generating audio in the admin. The frontend player is lightweight and only loads on posts with audio.
Can visitors download the audio?
Yes! There's a download button on the player that lets visitors save the audio file.
Does word highlighting work on all themes?
Word highlighting works with most themes. It automatically detects your content area and highlights words as they're spoken.
Is the audio stored on my server?
Yes, the generated audio is stored as post meta data. This ensures fast playback without regenerating audio each time.
Can I customize the player appearance?
Yes! You can customize colors for the background, buttons, progress bar, text, and word highlighting. You can also adjust the border radius.
- Added compatibility with WP Rocket (JS exclusions from minification/delay)
- Added compatibility with LiteSpeed Cache, W3 Total Cache, Autoptimize, SG Optimizer
- Added compatibility with Elementor, Beaver Builder, Divi, WPBakery, Bricks, Oxygen
- Player now auto-reinitializes on dynamic content load (AJAX)
- Added MutationObserver for detecting dynamically added players
- Added AJAX endpoint for loading player HTML dynamically
- Fixed unused variable warning in player.js
- Added "How to Use" section in settings page
- Added Custom preset for manual pitch/reverb adjustments
- Fixed preset selection persistence after save
- Updated documentation
- Initial release
- AI-powered text-to-speech with Piper TTS
- 12 language support with multiple voices
- Word highlighting during playback
- Customizable audio player
- Voice effect presets
- Audio download functionality
- Block editor integration
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the GPLv2 or later - see the LICENSE file for details.
- Developer: Tanish Mittal
- TTS Engine: Piper TTS - A fast, local neural text-to-speech system
- Web Library: Piper TTS Web by Mintplex Labs
- Word Timestamps: OpenAI Whisper via Transformers.js
- Icons: Lucide Icons (MIT License)
WordPress Plugin Page • Support • Report Issues • All Releases
Made with ❤️ by Tanish Mittal
