ListenUp
Add "read this to me" functionality to your WordPress posts using Murf.ai text-to-speech technology.
Solid choice
ListenUp is a solid plugin choice in 2026, with a few things worth checking first. It runs on 10+ sites and was last updated 4 days ago, and scores 66/100 on our health check.
- Actively developed — last update 4 days ago
- Tested with the latest WordPress (7.1)
- Small user base (10+ active installs)
- Very few reviews so far
- Needs PHP 8.1 or newer
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release — each site that auto-updates counts as a download.
Rankings
Where ListenUp stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| accessibility | >100 |
| audio | >100 |
| text to speech | #78 |
| tts | #35 |
Version adoption
Share of active sites per release.
About ListenUp
From the official readme · v1.6.0Description
ListenUp is a powerful WordPress plugin that adds text-to-speech functionality to your posts and pages. With just a few clicks, you can generate high-quality audio versions of your content using Murf.ai’s advanced AI voices.
Key Features
- Easy Audio Generation: Generate audio for any post or page with a simple click
- Murf.ai Integration: Uses professional AI voices for natural-sounding audio
- Gen2 API Controls: Tune reusable Murf audio with locale, format, response mode, duration, timing metadata, speed, pitch and pauses
- No FFmpeg Required: Ideal for hosting environments where FFmpeg is not available or restricted
- Smart Caching: Audio files are cached locally to save API credits
- Hands-Off Generation: Queue audio automatically when content is published and backfill recent posts on a schedule
- Intelligent Chunking: Long content is automatically broken into manageable chunks
- Seamless Playback: Multiple audio chunks play continuously without interruption
- Leech Protection: Secure audio delivery prevents unauthorized direct file access and hotlinking
- Download Control: Restrict downloads to logged-in users or disable downloads entirely
- Flexible Placement: Choose where to display the audio player (before/after content)
- Shortcode Support: Use [listenup] shortcode to place players anywhere
- Accessibility First: WCAG-compliant audio player with keyboard navigation
- Mobile Responsive: Works perfectly on all devices
- Admin-Friendly: Simple settings page with clear instructions
- A Voice for Each Language: Read each post in the voice, and with the pronunciation rules, chosen for its language
- Translation (Optional): Draft a translation of a post for a person to review and approve, then read it aloud in its own language. Off until you turn it on, and nothing is translated unless someone asks
How It Works
- Setup: Enter your Murf.ai API key in the plugin settings
- Generate: Use the meta box on any post/page, or enable background generation on publish
- Display: Audio players appear automatically or via shortcode
- Listen: Visitors can play, pause, and download audio content
Advanced Features
Content Chunking: For posts that exceed Murf.ai’s API limits, content is automatically broken into smaller chunks. Each chunk generates a separate audio file, but the frontend player seamlessly plays all chunks in sequence without interruption.
Audio Concatenation: When downloading audio content that has been chunked, the plugin automatically concatenates supported stream-friendly formats into a single file, so listeners do not have to manage separate chunks.
Bulk Cloud Migration: Upload existing local-only audio files to configured cloud storage from the Audio Library without regenerating audio. Large backlogs run in small browser-safe batches, track remaining work by post, and upload the canonical playable audio file instead of internal chunk files.
Murf Gen2 Controls: Choose URL or direct base64 responses, set single-file target durations, request word timing metadata, tune speed/pitch/variation, and use [pause 1s] tags in content or pre-roll scripts. ListenUp still caches generated files locally so audio is reused instead of regenerated on every play.
No FFmpeg Dependency: Unlike many audio plugins, ListenUp doesn’t require FFmpeg, making it perfect for shared hosting environments, managed WordPress hosts, or any situation where FFmpeg is not available or restricted.
Leech Protection: Audio files are served through a secure PHP proxy with cache-safe per-file tokens, preventing unauthorized direct access and hotlinking without embedding expiring nonces in cached article HTML. All audio is delivered via WordPress AJAX endpoints with proper HTTP range request support for smooth seeking. This server-agnostic solution works on Apache, Nginx, IIS, and any PHP-capable server without requiring special server configuration.
Translation
ListenUp can draft a translation of a post for a person to review, and narrate the approved translation in its own language. Translation is off until an administrator turns it on, on the Translation tab of ListenUp’s settings.
- Only when someone asks: A translation starts from the Translations box in the post editor, from WP-CLI, or through an ability once its cost is confirmed. Nothing is translated on publish, on save or on a schedule, and nothing translates the whole archive.
- Drafts for review: Each translation is saved as a new draft linked to its source, and the source post is never changed. A translation can’t be published, scheduled or voiced until a person approves it.
- Your choice of engine: The WordPress AI client, which uses the AI provider connected to your site (WordPress 7.0 and later), or Murf.ai’s translation API. No engine runs without a monthly budget, and the Murf.ai engine keeps a reserve of your Murf.ai balance for audio. Other plugins can add engines.
- Glossaries and checks: A glossary for each language fixes how terms are translated and which are kept as written. Every translation is checked for broken markup, changed numbers and units, glossary terms, formality, length and untranslated text.
- Out-of-date flags: A translation whose source changed after it was translated is flagged in the editor, on post lists and in WP-CLI.
- Background jobs: Long translations run in the background through Action Scheduler or WP-Cron, and WP-CLI finishes them where WP-Cron is disabled.
- Narration in each language: Choose a voice for each language, keep pronunciation rules by language, and play the site’s pre-roll only before audio in the site’s language.
- Engine bake-off:
wp listenup translate compareandwp listenup translate scorecompare engines blind on your own articles, so you can choose one on evidence. - Abilities:
listenup/translate-postandlistenup/translation-statuslet AI and MCP clients ask for and follow translations with the same permissions and budgets as the editor. They are not exposed to REST or MCP unless your site opts in. - Analytics by language: Player events say which language the post and its audio are in, which voice read it, and whether the post is a translation.
Perfect For
- Bloggers who want to offer audio versions of their posts
- Content creators looking to improve accessibility
- Websites targeting mobile users who prefer audio content
- Educational sites with long-form content
- News sites wanting to offer audio news
Accessibility Features
- Full keyboard navigation support
- Screen reader compatible
- High contrast mode support
- Reduced motion support
- Proper ARIA labels and descriptions
External Services
ListenUp connects to the services below, each only for the feature described. It never sends anything about your visitors to any of them. Translation is off until an administrator turns it on, and even then nothing is translated on publish, on save or on a schedule: a post is sent for translation only when someone asks for it.
Murf.ai text-to-speech
ListenUp uses Murf.ai’s text-to-speech API to create audio versions of your posts and pages.
- Endpoint:
https://api.murf.ai/v1/speech/generate - Data Sent: Your Murf.ai API key; the text of the post or page; the voice ID, locale and style chosen for the post’s language; the speech generation settings (format, sample rate, channels, speed, pitch, variation, response mode, optional target duration and optional word timing request); and the pronunciation rules for the post’s language, if you have set any. A voice or pronunciation preview sends a short sample sentence, and pre-roll generation sends your pre-roll script.
- When Sent: Only when audio is asked for: from the post editor, with
wp listenup generate, or from a preview or pre-roll generation on the settings screen; and, once an administrator turns them on in the Automation settings (both are off by default), when a post is published or by the recurring backfill. In URL response mode, ListenUp then downloads the finished audio from the address Murf.ai returns. - Cost: Uses characters from your Murf.ai plan.
- Terms of Service: https://murf.ai/terms-of-service
- Privacy Policy: https://murf.ai/privacy-policy
Murf.ai voice list
ListenUp reads Murf.ai’s list of voices, with the languages and styles each one offers, to show the voice pickers and to pick a style a voice offers.
- Endpoint:
https://api.murf.ai/v1/speech/voices?model=GEN2 - Data Sent: Your Murf.ai API key only. No content is sent.
- When Sent: When an administrator tests the API connection, and when the list is needed and not already kept: on ListenUp’s settings screen, and when audio is created or previewed in a voice other than the site’s default voice. Once fetched, the list is kept for a day, or until the API key changes.
- Cost: Free; it uses no characters.
- Terms of Service: https://murf.ai/terms-of-service
- Privacy Policy: https://murf.ai/privacy-policy
Murf.ai translation
The optional Murf.ai translation engine translates posts with Murf.ai’s translation API.
- Endpoint:
https://api.murf.ai/v1/text/translate - Data Sent: Your Murf.ai API key (the audio key, or a separate translation key set on the Translation tab or with the
LISTENUP_MURF_TRANSLATION_API_KEYconstant); the target language; and the text of the post’s title, excerpt and content, with the alt and title text in its markup, as plain text with numbered placeholders in place of the markup. No tags or other attributes are sent, so no link or image addresses, and nothing else: no glossary, style notes or context. - When Sent: Only after an administrator turns translation on and sets a monthly budget and an audio reserve for the Murf.ai engine, and only when a user allowed to translate the post asks for a translation: from the Translations box in the post editor; through the
listenup/translate-postability once the caller confirms the cost; or withwp listenup translate post,batch,compare(after--yes) orrun, which runs translations already asked for. A translation asked for in the editor, or a long one asked for through the ability, is sent from a background job, by WP-Cron or Action Scheduler. - Raw-HTML probe:
wp listenup translate compare --probe-raw-htmlalso sends a few passages of each compared post to the same endpoint with their HTML markup and attributes, link addresses included, to test whether Murf.ai keeps markup. It runs only when that option is given. - Cost: Spends the same Murf.ai balance as audio, billed by the characters returned. Every request counts against the monthly budget and keeps the audio reserve for audio.
- Terms of Service: https://murf.ai/terms-of-service
- Privacy Policy: https://murf.ai/privacy-policy
AI provider, through the WordPress AI client
The optional AI translation engine translates posts with the AI provider connected to your site, through the AI client built into WordPress 7.0 and later. ListenUp includes no provider of its own and makes no request to one directly: it hands the request to the WordPress AI client, which sends it to the AI provider selected on ListenUp’s Translation tab or, when none is selected there, to the site’s default provider. Providers are added by provider plugins and connected under Settings > Connectors.
- Data Sent: The text of the post’s title, excerpt and content, with the alt and title text in its markup, and with its inline HTML tags but none of their attributes, so no link or image addresses; the title and excerpt again as plain text, for context; the glossary terms the text uses; the language’s style notes; and the translation instructions. The provider receives it with your site’s credentials for that provider.
- When Sent: Only after an administrator turns translation on and sets a monthly budget for the AI engine, and only when a user allowed to translate the post asks for a translation, in the same ways as for Murf.ai above.
- Cost: Billed by the provider, under your account with it. Every request counts against the monthly budget.
- Terms and Privacy: The selected provider’s terms of service and privacy policy apply to what it is sent, together with your account’s data settings with that provider, such as whether it keeps or trains on what it receives. Check them before choosing this engine.
Optional Cloud Storage Services
This plugin optionally supports uploading audio files to cloud storage services (Amazon S3, Google Cloud Storage, Cloudflare R2) to reduce bandwidth usage on your web server. This feature is completely optional and disabled by default. No data is sent to these services unless you explicitly configure and enable cloud storage in the plugin settings. Once it is enabled, audio files are uploaded when you move them there from the Audio Library or with wp listenup cloud-upload, when audio is created with automatic upload turned on, and when ListenUp replaces a cloud copy it finds incomplete. Your visitors’ browsers then play and download audio from the storage service.
- Amazon S3: https://aws.amazon.com/service-terms/ (Privacy: https://aws.amazon.com/privacy/)
- Google Cloud Storage: https://cloud.google.com/terms/ (Privacy: https://cloud.google.com/terms/cloud-privacy-notice)
- Cloudflare R2: https://www.cloudflare.com/terms/ (Privacy: https://www.cloudflare.com/privacypolicy/)
Support
For support, please visit the plugin’s support forum or contact the developer.
Privacy Policy
ListenUp stores nothing about your site’s visitors and sets no cookies. It sends your content to other services only as described under External Services: to Murf.ai when audio is created, to your cloud storage service if you use one, and to the translation engine you choose when someone asks for a translation. It never sends anything about your visitors.
- Audio playback: Audio plays from your site, or from your cloud storage service if you use one, which then receives the IP address and browser details of each visitor who plays or downloads audio from it, as with any download. The audio library remembers a visitor’s autoplay choice in their browser’s local storage, and never sends it to your site.
- Analytics: If you turn on analytics tracking (off by default), the player adds play, progress and download events to the page’s dataLayer. They carry facts about the content only: the post, its audio, their languages, the voice, and whether the post is a translation and of which post. ListenUp sends them nowhere; your tag manager or analytics service decides what happens to them.
- Translation: Off until an administrator turns it on. ListenUp records who asked for each translation and who approved it, and when, and it counts the translations each user started in the last hour, to limit them.
- Abilities: The
listenup/translate-postandlistenup/translation-statusabilities act for a signed-in user who may translate the post. They are not available through the REST API or the MCP Adapter unless your site opts in with thelistenup_translation_ability_publicfilter, and translate-post sends nothing until the caller confirms the cost. - Suggested policy text: ListenUp suggests text for your privacy policy under Settings > Privacy > Policy Guide.
Deleting ListenUp removes everything it stores and keeps translated posts as ordinary posts; see “What happens to my data when I delete ListenUp?” above.
Installation
- Upload the plugin files to the
/wp-content/plugins/listenupdirectory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Go to Settings > ListenUp to configure your Murf.ai API key
- Start generating audio manually, or enable Automation settings for hands-off generation
Frequently asked questions
Do I need a Murf.ai account?
Yes, you’ll need a Murf.ai account and API key to use this plugin. You can sign up at Murf.ai and get your API key from your dashboard.
How much does Murf.ai cost?
Murf.ai offers various pricing plans. Check their website for current pricing information.
Can I use this on multiple sites?
Yes, but you’ll need separate API keys for each site or ensure your Murf.ai plan supports multiple domains.
Does ListenUp work on a multisite network?
Yes. Activated for the whole network, ListenUp runs on every site, and each site has its own settings, audio and scheduled tasks. A site’s audio folder is created, with the files that keep it private, when audio is first saved on that site, sites added later included. Deactivated for the whole network, ListenUp stops its scheduled tasks on every site of that network, except sites that have it activated on their own. On a network of more than 10,000 sites, deactivate it with wp plugin deactivate listenup --network, which the web server’s time limit doesn’t cut short. Deleting ListenUp removes…
What audio formats are supported?
The plugin supports MP3, WAV, FLAC, ALAW, ULAW, PCM, and OGG output from Murf.ai. MP3 is the default because it works well across browsers and supports chunked audio downloads without requiring FFmpeg.
What is the Audio Response Mode setting?
Audio Response Mode controls how ListenUp receives the generated file from Murf.ai. URL mode asks Murf for a hosted audio URL, then ListenUp downloads and caches it. Direct base64 mode asks Murf to return the encoded audio in the API response, then ListenUp decodes and caches it locally. Both modes still generate audio through Murf.ai and both are cached locally after generation.
Does direct base64 mode cost less?
No. Response mode changes delivery, not Murf.ai generation usage. The cost saver is ListenUp’s local cache: once audio is generated and cached, visitors replay the saved file instead of generating new audio each time.
Can I force audio to a specific length?
You can set an optional target duration for single-file Murf Gen2 audio. Murf.ai treats this as a generation target, not a frame-perfect editor. For very long posts that ListenUp splits into multiple chunks, target duration is skipped so each chunk can be generated safely.
Can I add pauses to the spoken audio?
Yes. Add pause tags like [pause 1s] in post content or generated pre-roll scripts. ListenUp normalizes supported pause values between 0.1 seconds and 5 seconds before sending text to Murf.ai.
What does Word Timing Metadata do?
When enabled, ListenUp asks Murf.ai to return word timing metadata and stores it with newly generated audio when Murf returns it. This metadata is mainly for future transcript and word-highlighting features; it does not display a transcript on the frontend yet. Regenerate existing audio if you need timing metadata added to audio that was already cached.
Can I customize the audio player appearance?
Yes, the plugin includes CSS classes that you can customize in your theme’s stylesheet.
What happens with very long posts?
For posts that exceed Murf.ai’s API character limits, the plugin automatically breaks the content into smaller chunks. Each chunk is processed separately and saved as an individual audio file. The frontend player seamlessly plays all chunks in sequence, and supported formats can be downloaded as a concatenated file.
How does the leech protection work?
ListenUp serves audio files through a secure PHP proxy instead of relying on direct file access. Public playback URLs include stable per-file tokens so cached pages keep working behind page caches, CDNs, and hosts like Kinsta. Private or unpublished content still uses WordPress nonce and capability checks where needed. The system supports HTTP range requests for smooth audio seeking and includes proper caching headers for performance. This protection works automatically without requiring any server configuration.
Can I block direct access to audio files at the server level?
Yes! For additional security, you can configure your web server to block direct access to the audio directory. Here are example configurations: For Apache (.htaccess): Add this to /wp-content/uploads/listenup-audio/.htaccess: RewriteEngine On RewriteRule .* - [F,L] For Nginx: Add this to your server block configuration: location ~* ^/wp-content/uploads/listenup-audio/ { return 403; } After implementing server-level blocks, audio will still play normally through the WordPress player because the plugin reads files directly from the filesystem, bypassing the web server’s URL routing entirely.
Does ListenUp translate automatically?
No. Translation is off until an administrator turns it on, and even then a post is translated only when a person asks: from the Translations box in the post editor, with wp listenup translate, or through the listenup/translate-post ability once the caller confirms the cost. Nothing is translated when a post is saved or published, and nothing runs on a schedule. Each translation is a draft that a person reviews and approves before it can be published or voiced.
Which translation engine should I use?
ListenUp recommends none yet: an administrator chooses. The WordPress AI client engine takes your glossary, the formality and the markup, and needs WordPress 7.0 or later with an AI provider connected under Settings > Connectors. The Murf.ai engine takes plain text only, and spends the same Murf.ai balance as your audio. To choose on evidence, run a blind comparison on your own articles with wp listenup translate compare, then wp listenup translate score.
Does translation cost anything?
Each engine bills you under your own account: the AI provider for AI translation, Murf.ai for Murf.ai translation. The post editor shows the estimate and asks before anything is sent. From the command line, wp listenup translate post sends at once, so run it with --dry-run first to see the estimate. No engine runs without a monthly budget in characters, which you set on the Translation tab.
Can each language have its own voice?
Yes. Under Voices by Language on the API Configuration tab, choose a voice, locale and style for each language. A post is read in its language’s voice, with that language’s pronunciation rules, and posts in the site language keep the site voice. ListenUp chooses no voice for you: for Spanish (Mexico), preview en-US-natalie speaking es-MX and the native es-MX voices.
What happens to my data when I delete ListenUp?
Deleting ListenUp from the Plugins screen removes everything it stores, on every site of a network: its settings, pronunciation rules, translation settings, glossaries, usage records and translation jobs, its cached data and scheduled tasks, all of its post meta, and the cached audio and pre-roll files in your uploads. Audio copied to cloud storage stays in your bucket, and comparison output from wp listenup translate compare stays where you wrote it. Translated posts are your content, so they are kept, as ordinary posts of the same type and status. Their link to the source post, their…
Changelog
Adds an optional translation module, off by default, with a human approval gate, and narration in each post's language. Existing pronunciation rules become the site language's rules, unchanged.
1.6.0
- Added an optional translation module, off by default: draft a translation of a post for a person to review, from the editor’s Translations box, WP-CLI or an ability. Nothing is translated on publish, on save or on a schedule, and the source post is never changed
- Added an approval gate: a translation can’t be published, scheduled or voiced until a person approves it, on every publishing path, whether or not translation is on
- Added two translation engines, the WordPress AI client (WordPress 7.0 and later) and Murf.ai’s translation API, each within a monthly character budget, with an audio reserve that keeps part of the Murf.ai balance for audio. Other plugins can add engines
- Added per-language glossaries with CSV import and export, automatic translation checks, out-of-date detection and an optional Translations column on post lists
- Added background translation jobs through Action Scheduler or WP-Cron, and the wp listenup translate (post, batch, status, check, roundtrip, run) and wp listenup glossary commands
- Added a blind engine bake-off harness: wp listenup translate compare and wp listenup translate score
- Added the listenup/translate-post and listenup/translation-status abilities (WordPress 6.9 and later), not exposed to REST or MCP unless a site opts in with the listenup_translation_ability_public filter
- Added per-language narration: voices by language, pronunciation rules by language (existing rules become the site language’s, unchanged), and the site pre-roll only before audio in the site’s language. Only approved translations are voiced
- Added language fields to player analytics events (audio_language, content_language, audio_voice_id, is_translation, translation_source_post_id) and listenup_get_player_attributes() for players built by themes
- Fixed download analytics events never firing from ListenUp’s own player
- A post or translation whose generated audio can’t be saved gets no audio and no recorded voice, and keeps a voice recorded before
- Added suggested privacy policy text under Settings > Privacy > Policy Guide
- Changed uninstall to also remove the translation settings, glossaries, usage ledger, jobs and translation links on every site of a network; translated posts are kept as ordinary posts
- Improved: the Murf.ai voice list is cached for a day, and long text is split into chunks by characters rather than bytes
- Deactivation now also unschedules translation runs, in WP-Cron and Action Scheduler
- The audio folder’s .htaccess from versions before 1.5.131 is now replaced with the current one the next time audio is saved; a .htaccess you edited is left as it is
1.5.138
- Security: ListenUp no longer saves a .json file beside each audio file in uploads/listenup-audio. Each held the voiced text or its word timings, including a draft’s text, and the Murf.ai account’s remaining characters, and on servers that don’t apply the folder’s .htaccess, such as Nginx, anyone could read it. Existing .json files are deleted once per site, on the next admin page or audio save; on a network,
wp site list --field=url | xargs -I % wp listenup cleanup-orphaned --dry-run --url=%lists them on every site, and running it without--dry-rundeletes them along with every local audio file no post uses - Fixed Delete Audio and permanent post deletion leaving a post’s audio files, chunks included, on the server, and Regenerate Audio leaving unused files behind
- Security: Updated the bundled Guzzle, PSR-7 and JMESPath libraries, used by cloud storage, to versions with published security fixes
- Fixed a fatal error when activating ListenUp on sites where WordPress writes files over FTP or SSH, and uninstalling or clearing the debug log failing there
- Fixed network deactivation and deletion only cleaning up the main site; scheduled tasks, settings and cached audio are now removed from every site
- Fixed the audio folder missing its protection files on network sites; they are now added whenever audio is saved
- Fixed multisite sites using another site’s pronunciation rules, audio folder or cloud storage after
switch_to_blog(), which could delete the main site’s audio when a network user was deleted - Fixed Regenerate Audio and
wp listenup generate --forcedeleting the old audio before the new audio was saved; if generation fails, the post keeps its old audio - Changed
wp listenup generate --forceto request new audio from Murf.ai, which uses Murf.ai characters for every post it touches - Fixed a fatal error in URL mode when Murf.ai’s audio couldn’t be downloaded or saved, which spent characters again on every retry; batches now stop and automatic generation pauses for 24 hours
- Fixed
wp listenup generate --cloud-uploadand the Audio Library’s Upload button uploading long posts one chunk at a time - Fixed
wp listenup cloud-uploadrecording a cloud path that doesn’t exist, so the posts it uploaded couldn’t play, and--forcenot uploading again - Fixed Delete Audio in the post editor leaving the cloud copy in the bucket
- Fixed the Audio Library reporting “Failed to delete” for audio it had deleted on WordPress 5.9–6.6
- Fixed the Audio Library’s “Local Files Only” delete removing the site’s shared pre-roll file along with a long post’s chunks
- Added a bucket scan to
wp listenup cleanup-orphaned --cloudthat lists cloud audio no post uses, with--delete-untrackedto remove it on production sites - Fixed
wp listenup cleanup-orphaned --cloudskipping sites with no local audio folder and deleting cloud files other posts still use - Fixed deleting a post leaving its cloud copies behind, and added the
listenup_supported_post_typesfilter - Fixed the player and editor strings showing in English on sites in other languages
- Added Murf.ai quota and rate-limit handling: automated generation pauses when characters run out, busy responses are retried, and remaining characters are shown on the API Configuration tab
1.5.137
- Fixed longer posts playing only the last part of their article from cloud storage instead of the full recording; affected posts are detected and republished automatically
- Fixed Audio Library bulk upload re-uploading every chunked post on each run instead of skipping those already in cloud storage
- Fixed posts with pre-roll audio being unable to upload to cloud storage
- Fixed cloud playback never being used on sites whose audio is not MP3
- Fixed concatenated audio files in formats other than WAV building up in the uploads directory
- Added WordPress 7.1 compatibility
1.5.136
- Fixed audio playback failures on long-lived page caches by removing expiring nonce requirements from public playback URL refreshes
- Added cache-safe local audio proxy tokens and legacy nonce compatibility for existing cached markup
- Added Audio Library bulk upload controls for moving existing local-only audio files to cloud storage without regenerating
- Fixed bulk cloud upload counting so the Audio Library tracks local-only posts and does not count internal chunk files as separate migration items
- Added Kinsta edge/CDN cache guidance for large sites using cloud storage and signed audio URLs
1.5.135
- Added file-based cache busting for plugin assets to prevent stale JavaScript after CDN/browser caching
- Added Murf Gen2 locale, sample rate, channel, response mode, duration, word timing, pause, speed, pitch and variation controls for reusable audio generation
- Added direct base64 response caching, optional target duration, word timing metadata storage and pause tag normalization for Murf Gen2 generation
1.5.134
- Added player display options for featured or compact layouts
- Added selectable player accent colors
- Refreshed the frontend player with a featured visual treatment and stronger theme isolation
- Removed the experimental Howler.js playback option in favor of the native browser audio player
Screenshots
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.
Best ListenUp alternatives
All accessibility plugins →FAQ
ListenUp: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org · checked Oct 4, 2026
Is ListenUp free?
Yes. ListenUp is free to download and use from the official WordPress.org plugin directory.
Is ListenUp safe to use in 2026?
ListenUp is a solid plugin choice in 2026, with a few things worth checking first. It runs on 10+ sites and was last updated 4 days ago, and scores 66/100 on our health check.
How many websites use ListenUp?
ListenUp is active on 10+ WordPress websites and has been downloaded 864 times since it launched in February 2026. It was downloaded 193 times in the last 30 days.
Does ListenUp work with WordPress 7.1?
Yes. The developer has tested ListenUp up to WordPress 7.1.2, the latest release. It requires WordPress 5.9 or newer.
What PHP version does ListenUp need?
ListenUp requires PHP 8.1 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was ListenUp last updated?
The latest version, 1.6.0, was released on September 30, 2026 (4 days ago).
Who makes ListenUp?
ListenUp is developed and maintained by Adam Greenwell.
What are the best alternatives to ListenUp?
The most popular alternatives to ListenUp are Web Accessibility (formally… (500K+ installs), Auto Image Attributes From… (100K+ installs) and Accessibility by UserWay (80K+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org — no credit card