SD Voice for Posts WordPress plugin

A real MP3 for every post.

Your readers want to listen. This plugin records your post in a human-sounding voice and saves it to your media library as an ordinary MP3. It is yours: download it, hand it on, put it in a podcast feed. The recording is made by your own computer, in your browser.

Hear it first

The same sentence, read twice. On the left, this plugin. On the right, the voice built into your browser, which is what every free text-to-speech plugin uses.

This plugin

Kokoro-82M, the voice called Heart

The browser's own voice

What a free plugin can offer you

Both clips are levelled to the same loudness, because the louder recording wins on the ear no matter how it sounds.

What your readers see

A single row above the text of a published post: a play button, the words Listen to this article, the length, a progress bar, the running time and a speed control.

One row above your text. Under 12 KB, and it takes its colours from your theme.

What you get

Where the work happens

The plugin's screen inside WordPress: a panel reading the computer's graphics, cores and memory; a panel offering to download the voice once; and a table of posts with their word counts and whether each already has audio.

The screen inside your WordPress. It reads your hardware, tells you what the download will cost you once, and lists your posts with the ones that already have audio.

Why nobody can answer this with a discount

 Services with an APIThis plugin
Where the voice is madeon their serverin your browser
Where your post text goesto themnowhere
API keyrequirednone
Accountrequirednone
What you pay forevery character, forevernothing
Limityour credit balancenone
Works without internetnoyes, after the first download
If the service shuts down or raises pricesthe plugin diesit keeps working

The last row is the point. A plugin built on somebody's API lives exactly as long as that API does. Once the voice is downloaded, this one makes no outside calls at all.

What the other way costs

A blog publishing four 1,500-word articles a week writes about 1.9 million characters a year. At the prices those services publish themselves:

ServicePer year
ElevenLabs via API$95 to $190
Trinity Audio, Basic$189
Trinity Audio, Standard$849
BeyondWords Pro$1,068 to $1,188
SD Voice for Postsfree, no limits

Those are their own published prices. The per-character fee is not a detail of their pricing. It is where their revenue comes from, which is why none of them can simply stop charging it.

And the free plugins?

They use the voice built into the browser, the one you heard at the top of this page. It is free, and it has a hard limit written into the specification: the Web Speech API only speaks out loud. It cannot hand you a file.

 Browser voiceThis plugin
Pricefreefree
Voicerobotichuman-sounding
MP3 fileimpossibleyes
Reader can download itnoyes
Podcast feednoyes
Works offlinenoyes

The honest part

Because your computer does the work, the speed is your computer's speed. A machine with graphics acceleration is in a different league from one without, and we are not going to print a number here that turns out to be a lie on your hardware.

So measure it instead. The page below downloads the same voice this plugin uses and times one sentence on your machine. Nothing is installed and nothing is sent anywhere.

Measure my computer

What it downloads, once

The voice model itself is not bundled with the plugin. It is fetched from Hugging Face the first time you press Prepare the voice, and then cached in your browser. That transfer is one-way: the model comes in, and nothing about you or your post text goes out. This plugin has no analytics and makes no call home of any kind.

Getting it

The plugin has been submitted to the WordPress plugin directory and is waiting for its review. When it is approved, this is where the install link will be. From then on it installs the ordinary way, from Plugins → Add New inside your own site.

Nothing to sign up for in the meantime. There is no mailing list here, and no form asking for your address in exchange for being told.