EP Voice Messages
EP Voice Messages adds a voice recording widget to PageMotor. Visitors click, record, and submit audio directly from their browser — no file uploads, no phone calls. The message is transcribed automatically, the admin gets an email notification with the audio file and the transcript.
Published by ElmsPark Studio.
Overview
Section titled “Overview”Use cases:
- Voice feedback on a page. “What do you think of this article?” — voice replies instead of typing.
- Testimonials. Authentic-sounding testimonials in the customer’s own voice.
- Bug reports. Visitors describe the problem out loud, easier than typing.
- Accessibility. Some users find voice easier than keyboard input.
How it works
Section titled “How it works”- Visitor clicks the record button on your page.
- Browser asks for microphone permission.
- Visitor records. A timer shows elapsed seconds.
- Visitor clicks stop, then submit.
- Audio uploads to your server.
- A background transcription job runs (using OpenAI Whisper or similar).
- Admin gets an email via EP Email with the audio as attachment and the transcript inline.
Requirements
Section titled “Requirements”- PageMotor 0.8.2b or later
- EP Email (for admin notification)
- EP Suite base class
- A transcription API key (OpenAI Whisper, AssemblyAI, or configured alternative)
Installation
Section titled “Installation”- Install EP Email.
- Download
ep-voice-messages.zipfrom the EP Suite downloads page. - Upload via Plugins → Manage Plugins. Activate.
- Configure the transcription provider API key in settings.
- Drop
[voice-message]on any page.
Shortcodes
Section titled “Shortcodes”| Shortcode | Purpose |
|---|---|
[voice-message] | Record widget. Attributes: max_seconds=60 (default 60), prompt="Tell us..." (default generic). |
[voice-messages-inbox] | Admin-only inbox view of all received messages with playback and transcript. |
Settings
Section titled “Settings”- Transcription provider. OpenAI Whisper, AssemblyAI, or others.
- API key.
- Max recording duration. Enforced client-side (prevents huge uploads). Default 60 seconds.
- Admin notification email. Where notifications go.
- Storage. Where to save audio files. Default is
user-content/uploads/voice-messages/<date>/. - Auto-delete after. Days. Default 90. Set to 0 for no auto-delete.
Admin view
Section titled “Admin view”From [voice-messages-inbox] on an admin-only page:
- List of every received message.
- Play each in-browser.
- Read the transcript.
- Download the audio file.
- Delete individual messages.
Privacy
Section titled “Privacy”- Recordings are stored on your server, not a third-party service (the transcription API does process them briefly to generate the transcript, but doesn’t store).
- Visitors grant microphone permission per-session. No persistent tracking.
- GDPR-wise: voice is personal data. If a visitor invokes right-to-erasure, delete their recordings manually. EP GDPR integration may help.
Troubleshooting
Section titled “Troubleshooting”“Record button doesn’t request mic permission”
Section titled ““Record button doesn’t request mic permission””Browser quirk. Check the page is HTTPS (mic requires secure context). Some extensions block mic requests; test in incognito.
“Recording works but submission fails”
Section titled ““Recording works but submission fails””Check max file size vs PHP upload limits. A 60-second recording is typically 500KB to 1MB. PHP defaults usually handle that, but if you have low limits, raise them.
“Transcript is inaccurate”
Section titled ““Transcript is inaccurate””Whisper is usually very good but struggles with heavy accents, background noise, or unusual names. Transcripts are a convenience; the original audio is the source of truth.
“Admin notification didn’t arrive”
Section titled ““Admin notification didn’t arrive””Check EP Email log. Also check the transcription finished — if transcription fails (API timeout), the whole job might fail.
“Audio files are filling up disk”
Section titled ““Audio files are filling up disk””Auto-delete is on by default at 90 days. Verify. Or clean up manually from the storage path.
Feedback and corrections
Section titled “Feedback and corrections”For a quick question about this plugin, EP Support inside your admin is the fastest option. The chat widget sits on every EP plugin settings page and knows which one you’re on, with starter questions and links preloaded for that exact screen.
For anything bigger — a bug report, a feature request, or a “how do I…” that needs a real reply — open a ticket at help.elmspark.com. A real person, helped by AI, writes the reply. Usually within a few hours. Tickets don’t disappear into the void.