Common questions about ListenUp.
General Questions
What is ListenUp?
ListenUp is a WordPress plugin that converts your written content into professional audio using Murf.ai’s text-to-speech technology. Visitors can listen to your posts and pages, improving accessibility and engagement.
Do I need a Murf.ai account?
Yes. ListenUp uses Murf.ai’s API to generate audio. You need to:
- Sign up at murf.ai
- Go to your account dashboard
- Navigate to API settings
- Generate an API key
- Enter the key in Settings → ListenUp
How much does Murf.ai cost?
Murf.ai offers various pricing plans based on usage. Check murf.ai/pricing for current rates. ListenUp caches all generated audio locally, so you only pay for initial generation.
Does it work with my theme?
ListenUp works with any properly-coded WordPress theme. The audio player is designed to be responsive and adapt to your theme’s styling. Custom CSS can be added to further customize appearance.
Will it slow down my site?
No. ListenUp is performance-optimized:
- Audio files are cached locally after generation
- JavaScript only loads on pages with audio
- Lazy loading prevents unnecessary resource usage
- Cloud storage option offloads bandwidth
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.
Audio Generation
How do I generate audio for a post?
- Edit any post or page
- Find the ListenUp meta box (usually in the sidebar)
- Click “Generate Audio”
- Wait for generation to complete
- Preview the audio using the built-in player
What happens with very long posts?
For posts that exceed Murf.ai’s API character limits (~2800 characters), the plugin automatically:
- Splits content into smaller chunks
- Processes each chunk separately
- Saves individual audio files
- Plays all chunks seamlessly in sequence
- Concatenates chunks into a single file for downloads
Can I regenerate audio after editing content?
Yes. In the ListenUp meta box:
- Click “Regenerate Audio”
- Confirm the action
- Wait for new audio to generate
The old audio file is replaced with the new version.
Which audio format should I use?
MP3 is recommended for most sites because:
- Universal browser support
- Efficient file sizes
- Good audio quality
- Works with chunked content downloads
WAV and FLAC provide higher quality but larger files.
How long does generation take?
Generation time depends on content length:
- Short posts (< 500 words): 5-15 seconds
- Medium posts (500-2000 words): 15-60 seconds
- Long posts (2000+ words): 1-5 minutes
Chunked content takes longer as each chunk is processed separately.
Voices and Pronunciation
How do I choose a voice?
- Go to Settings → ListenUp
- Click “Load Available Voices” to fetch the voice list
- Browse voices by language and gender
- Click the preview button to hear samples
- Select your preferred voice
- Choose a voice style if available
What voice styles are available?
Available styles vary by voice, but common options include:
- Conversational – Natural, casual delivery
- Newscast – Professional, authoritative
- Narration – Storytelling tone
- Promo – Energetic, promotional
How do I fix mispronounced words?
Use the Pronunciation Dictionary:
- Go to Settings → ListenUp → Pronunciation
- Enable the pronunciation dictionary
- Add rules for mispronounced words
- Regenerate audio to apply changes
Learn more about Pronunciation →
Can I use different voices for different posts?
Currently, ListenUp uses a global default voice. Per-post voice selection is planned for a future release.
Audio Player
Where does the audio player appear?
The player can appear:
- Automatically – Before or after content (configurable)
- Manually – Using
shortcodeNo audio available for this content.
- In widgets – Add shortcode to text widgets
- In templates – Using
do_shortcode('No audio available for this content.
')
Can I customize the player appearance?
Yes. The player includes CSS classes you can target:
.listenup-player– Main container.listenup-play-button– Play/pause button.listenup-progress– Progress bar.listenup-time– Time display.listenup-volume– Volume control.listenup-download– Download button
Add custom styles in your theme’s stylesheet or customizer.
Is the player accessible?
Yes. The player is WCAG-compliant with:
- Full keyboard navigation
- Screen reader support
- Proper ARIA labels
- High contrast mode support
- Reduced motion support
Can visitors download the audio?
Configurable in settings:
| Setting | Behavior |
|---|---|
| Allow All | Anyone can download |
| Logged In Only | Only authenticated users |
| Disable | No downloads allowed |
Cloud Storage
Do I need cloud storage?
No. Cloud storage is completely optional and disabled by default. Local storage works fine for most sites.
Consider cloud storage if you:
- Have high traffic volume
- Want to reduce server bandwidth
- Need geographic distribution
- Want to use a CDN
Which cloud providers are supported?
- Amazon S3
- Cloudflare R2
- Google Cloud Storage
How do I set up cloud storage?
- Go to Settings → ListenUp → Cloud Storage
- Select your provider
- Enter your credentials
- Configure bucket settings
- Enable cloud storage
Learn more about Cloud Storage →
What happens to existing local files?
When you enable cloud storage:
- New audio uploads to the cloud automatically
- Existing local files remain until you migrate them
- Use WP-CLI to bulk upload:
wp listenup cloud-upload --all
Security
How does leech protection work?
ListenUp serves all audio files through a secure PHP proxy instead of allowing direct file access:
- Each audio URL includes a WordPress nonce
- Nonce is verified before serving audio
- Direct file access is blocked
- HTTP range requests supported for seeking
This prevents unauthorized access and hotlinking.
Can I add server-level protection?
Yes. For additional security, block direct access to the audio directory:
Apache (.htaccess):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [F,L]
</IfModule>
Nginx:
location ~* ^/wp-content/uploads/listenup-audio/ {
return 403;
}
Audio still plays normally because the plugin reads files directly from the filesystem.
Are cloud storage URLs secure?
Yes. Cloud providers use signed URLs with expiration times. URLs are generated fresh when needed, preventing unauthorized access.
Technical Questions
What are the server requirements?
- WordPress 5.8 or higher
- PHP 7.4 or higher
- No FFmpeg required
- Works on any PHP-capable server
Does it require FFmpeg?
No. ListenUp is specifically designed to work without FFmpeg, making it compatible with shared hosting, managed WordPress hosts, and restricted environments.
Where are audio files stored?
- Local:
wp-content/uploads/listenup-audio/ - Cloud: Your configured S3, R2, or GCS bucket
What post meta does it create?
_listenup_audio– Single audio file data_listenup_chunked_audio– Multiple chunk data
Is it compatible with caching plugins?
Yes. ListenUp works with all major caching plugins. Cloud storage URLs are fetched fresh via AJAX to prevent expiration issues with page caching.
Does it work with multisite?
Yes. Each site in a multisite network has its own settings and audio files.
WP-CLI
What commands are available?
# Generate audio
wp listenup generate --all
wp listenup generate --post-id=123
wp listenup generate --all --force
# Cloud upload
wp listenup cloud-upload --all
wp listenup cloud-upload --post-id=123
# Maintenance
wp listenup cleanup-orphaned
wp listenup stats
How do I generate audio in bulk?
# All posts without audio
wp listenup generate --all
# All posts, regenerating existing
wp listenup generate --all --force
# Specific post type with batch size
wp listenup generate --all --post-type=post --batch-size=5
Troubleshooting
Audio isn’t playing
- Check audio was generated (meta box shows “Ready”)
- Verify browser supports audio format
- Check browser console for JavaScript errors
- See Troubleshooting Guide
Generation fails with error
Common causes:
- Invalid or expired API key
- Murf.ai service temporarily unavailable
- Content too long (should auto-chunk)
- Network timeout
Check the error message in the meta box for details.
Where can I get help?
Privacy
What data is sent to Murf.ai?
When you generate audio:
- Post/page text content
- Selected voice ID
- Voice style preference
- Pronunciation rules (if configured)
Data is only sent when you manually generate audio.
Does it collect user data?
No user data is collected. Analytics events (play, pause, download) are pushed to dataLayer for your own tracking but are not sent anywhere by the plugin itself.