Codeep Voice for Posts Local speech, real files

A working integration

Kokoro in WordPress, running in your browser.

Generate speech in your own WordPress admin tab and save it as an MP3. Codeep Voice connects the local voice model to your posts, Media Library and article player.

By SD Software, the maker of Codeep Voice. Updated with a full article test. Kokoro is an independent project. Codeep Voice is a third-party integration.

Hear a sample

Heart · English · MP3 · 6 s
Most people choose a kitchen knife by how it looks, and then wonder why it stops cutting after a month.

A six-second excerpt from our September 2026 Kokoro WebGPU fp32 recording, trimmed to this sentence and adjusted to about −16 LUFS. This is an existing test file, not a fresh export from the current plugin. Playing it does not run the model on your device. Download the MP3.

The live demo opens on Hugging Face. Turn up to 800 characters of English text into a downloadable MP3. The first run downloads the model. It does not connect to your WordPress site.

Free includes eight English Kokoro voices and one English Piper voice. The steps below use Kokoro's Heart voice. No TTS account or API key is required.

Where the work happens

  1. Your admin browser

    Loads the post from WordPress and runs the speech model on your computer.

  2. Your Media Library

    Receives the finished MP3 as an attachment to that post.

  3. Your readers

    Play or download the saved audio from your site. Their devices run no voice model.

Kokoro-82M is the open-weight speech model. Codeep supplies the WordPress workflow around it. For this setup you install a WordPress plugin; you do not need a Python environment, Docker container or separate inference server.

The first preparation downloads model files from our copy on Hugging Face, mirrored from the upstream ONNX model. The post text is processed locally for speech and is not sent to a TTS provider. Your WordPress host still stores and serves your post, receives the MP3 upload and serves the finished audio.

Set up one English post

  1. Install Codeep Voice for Posts. In WordPress, open Plugins, then Add New Plugin, search for Codeep Voice for Posts, and install and activate the plugin published by sdsoftware. You can also download it from WordPress.org.
  2. Choose Heart and prepare the voice. Open Codeep Voice in your admin menu. If Heart is not already selected, choose it in Settings, then press Prepare the voice on the recording screen. The screen shows the download size before you start.
  3. Record a saved post. Pick a short, representative English post and press Voice it. Keep the admin tab open until the recording has been saved.
  4. Inspect the result. Find the attached MP3 in the Media Library, open the post and play it. Listen for names, abbreviations and material such as tables or code. If the screen reports skipped content, check that nothing important was left out. Download the MP3 once to confirm it plays outside WordPress.
  5. Repeat after edits. Editing the post marks the existing recording out of date. Record a replacement when you want the audio to match the revised text.
Codeep Voice inside WordPress, showing the computer information, voice preparation and a list of posts to record.

The WordPress recording screen. Available controls can vary with the plugin version.

Try the hardware before recording an archive

Codeep runs Kokoro through kokoro-js. Where WebGPU is available, it uses fp32 weights. Otherwise it falls back to WebAssembly on the CPU with q8 weights. Download size, preparation time and recording speed depend on the selected path and your hardware. Use a desktop or laptop for recording; readers can listen on a phone.

Our browser check runs a short Kokoro probe and then generates a sample. Its longer-article timings are estimates extrapolated from that probe, not full recordings of those articles. A representative post in your own WordPress remains the useful final check.

If Kokoro is slow on your computer, try Piper's Amy voice, also included in the free plugin. It uses a different model. Time a short post with Amy to check its speed on your computer.

Recorded in WordPress, 25 October 2026

A 1,000-word article, from post to MP3

We recorded a complete English article with the free Codeep Voice plugin. With Heart already prepared, the plugin reported 4 min 10 sec to generate, encode and save the MP3 in the Media Library. The resulting audio lasts 6 min 50 sec. This is one run on one computer; your time can differ.

Download the MP3, 3.28 MB · Read the exact 1,000-word text · Measurements and file hashes

One prepared-voice run, using the plugin's own completion timer.
ComputerApple M4, 16 GB RAM, 10 CPU cores; model identifier Mac16,12
Browser and systemChrome 155.0.8059.86, macOS 26.6.2
WordPress setupWordPress 7.1.2, PHP 8.5.10, Twenty Twenty-Five, local development site
Plugin and voiceCodeep Voice 0.5.3, Pro disabled; Kokoro Heart, default speed 1×
Graphics and preparationApple Metal acceleration available; no CPU fallback warning. Voice prepared before the timed run.
Input1,000 body words in 10 paragraph blocks; the plugin produced 38 synthesis chunks. The title is separate.
Recording and saveAbout 4 min 10 sec, as rounded by the plugin's completion message
OutputMP3, mono, 24 kHz, 64 kbit/s; 409.584 seconds; 3,276,672 bytes
The local WordPress recording screen after completing the test article, reporting that its MP3 is in the Media Library and took 4 min 10 sec.
The plugin's completion message on our local test site.

What this result includes

The timer starts after voice preparation and includes synthesis, MP3 encoding and upload to the local WordPress site. It does not include installing WordPress or the plugin, the initial model download, or preparation. The screen showed a 311 MB model download; we did not measure cold download time or actual network transfer volume.

We checked that the MP3 decodes from beginning to end, appears in the post's player, and starts playing there. This is a workflow test, not an independent voice-quality rating. It does not measure remote hosting upload time or performance on Windows, phones or other computers.

Repeat it on your site

  1. Copy the test text into a new WordPress post as 10 ordinary paragraph blocks.
  2. Choose Heart in Codeep Voice Settings, keep the default speed, and prepare the voice.
  3. Open the Voice screen, select the post, then press Voice it in its recording panel. Keep the tab open.
  4. Note the completion time, inspect the MP3 in the Media Library, then check playback and download on your post.

The text was written for this test. No competitor account or paid voice was used. Other open tabs and applications were not controlled. Listen to the full file and judge whether this voice suits your own articles before recording an archive.

From our development notebook

WebGPU fp16 and fp32: original test files

During our September 2026 browser tests, the WebGPU fp16 path produced output we considered defective on one Apple Silicon computer running Chrome, with a much lower sample level than the fp32 output. Our lab notes do not identify the exact browser and runtime versions. We kept the two original recordings below. They use the same 150-word text and the Heart voice.

Mono 16-bit PCM WAV at 24 kHz. Levels from FFmpeg volumedetect, rechecked 21 October 2026.
WebGPU pathMean, dBFSPeak, dBFSAudio lengthOriginal file
fp32−22.7−0.646.625 sWAV, 2.24 MB
fp16−31.2−6.946.625 sWAV, 2.24 MB

Original WAVs are not loudness-normalized. Audio length is the duration of each saved recording, not the time taken to generate it. Read the full test text.

fp32 original

fp16 original

Recheck these files yourself

Download each WAV and run this command with its filename. FFmpeg's volumedetect reports the mean and maximum sample levels.

ffmpeg -i kokoro_fp32_webgpu.wav -af volumedetect -f null -

Repeat with kokoro_fp16_webgpu.wav. These are measurements of existing recordings. The notes do not pin the original runtime versions, so we cannot provide an exact reproduction recipe for synthesis.

That observation informed our choice of the fp32 WebGPU path. The current kokoro-js README also recommends fp32 for WebGPU. A level difference alone does not establish voice quality, and these files do not show that fp16 fails on other computers or current runtimes. We share them so the observation can be inspected rather than treated as a universal benchmark.

Practical questions

Does the audio generator run on my WordPress server?

The model runs in your admin browser. WordPress handles the posts, authentication, file upload and storage. This workflow does not require your host to run the speech model.

Can it record overnight after I close the tab?

No. Keep the admin tab open while recording. This is a browser task, so it is not an unattended server job. Progress can be resumed, but closing the tab stops active generation.

Does it work without the internet?

The voice files must be downloaded first and remain in the browser's cache. The model can then run locally. You still need access to your WordPress site to load posts and save MP3s; a remote site needs a network connection. Browser storage can be cleared or evicted.

Are the free voices multilingual?

No. The nine voices in Codeep's free plugin read English. The plugin interface can be translated independently. See the Pro add-on for other voice languages and current availability.

Can I use the MP3 somewhere else?

Yes. It is an ordinary file in your Media Library, with a download option in the article player. You can use your own audio embed or another publishing workflow with that file.

Start with one post

Listen to the sample, check your computer, then record an English article you know well. That will tell you more than a promised speed or a voice count.

Sources and attribution

The two September WAV recordings are our own development artifacts from 19 September 2026. We checked their duration and levels again for this guide. They are not a new test run of the current plugin or a comparison with competing products.