GUIDE

WordPress text to speech without a plugin: an audio version of every post

Many readers would rather listen to a long post on a walk or in the car, and an audio version helps people who find reading hard. Text-to-speech plugins either read the page with the visitor’s own device voice, so it sounds different on every phone, or send your text to a cloud service, which usually means an account and a paid plan.

There is a simpler way: voice the post once, upload an MP3 and put it in the Audio block that WordPress already has. SuperClonica gives you natural voices in 31 languages, free to try online, and a free engine that turns a whole post into an MP3 on your computer.

Plugin or a file

Making the file costs nothing: the engine is free and runs on your own computer.

  • A device-voice plugin is free, but every visitor hears their own system voice, so the quality changes from device to device.
  • A cloud plugin sounds better, but usually needs an account and a plan, and your text goes to a third party.
  • A ready MP3 sounds the same for everyone and adds no third-party script to your pages.
  • The same file can go into a podcast feed or be shared on its own.

Pick a voice free online

On the page of any voice, type a sentence from your post, 30 to 100 characters, choose the language and press Voice it. Listen to a few voices this way and pick the one your readers will hear in every post.

Make the audio version of a post

Name the file after the post, so you can find and replace it when you update the text.

  • Copy the text of the post into post.txt; leave out menus, captions and code.
  • Write numbers, dates and abbreviations the way they should be read: digits are read as plain numbers.
  • Install the free engine: python -m pip install superclonica-cpu.
  • Voice the whole post into one MP3: superclonica --text-file post.txt --voice F2 --lang en --normalize --output post-123.mp3.

Upload it and add it to the post

Upload the MP3 to the media library and add an Audio block at the top of the post. WordPress plays MP3, WAV, OGG and M4A out of the box, and MP3 works in every browser. To upload many files, use the REST API with an application password, available since WordPress 5.6: curl -X POST https://example.com/wp-json/wp/v2/media -u "user:application password" -H "Content-Disposition: attachment; filename=post-123.mp3" -H "Content-Type: audio/mpeg" --data-binary @post-123.mp3. The response contains the address of the file for the Audio block. The engine has no character limit, so even a long read works in one go.

Voices for your site

For your own site, use the ten stock voices of the model, M1 to M5 and F1 to F5, free under the OpenRAIL-M license, or your own voice trained in the SuperClonica studio. A website is publishing, so fan-made character voices only fit clearly labeled fan or parody posts. Tell readers that the audio version is made with AI.