read text Read Text

The Read Text Extension lets an external program or web application read text from LibreOffice Writer, Calc, Draw, Impress, Web Writer or the system clipboard.

★ ★ ★ ☆ ☆
Calc Draw Extensions Impress Writer
Download latest

latest release: 2023-09-01 16:04:31


The Read Text Extension lets an external program or web application read text from Writer, Calc, Draw, Impress, Web Writer or the system clipboard. If you use it to read text aloud, it can help you to edit your writing or to compare your document's text with a printed document. If you use it with a web application, you can translate your text to another language or check punctuation and grammar. It can help you to learn a new language or to find out how to say words you do not know.

To use it, highlight some text. If you are using the word processor or the HTML editor, you can highlight several selections by holding down the Control key. When you have highlighted some text, select Tools - Add-Ons - Read Selection or click the Read Selection button on the tool bar.

To read the system clipboard, select Tools → Add-Ons → Read clipboard.

If you can't read the screen easily, consider a system-wide accessibility solution for Apple OSX, Gnome, KDE or Microsoft Windows. If you have installed a system-wide accessibility solution, and it is activated, then you might not need this Add-On to read text aloud. You can use the Read Text Extension to read using a different language or voice, to save speech as an audio file, or send the text to a web application.

The add-on uses temporary files to send information to external programs. Depending on the security set up of your computer, other users or programs might be able to read the contents of files that the the extension or other external programs produce. If you are concerned about privacy, launch this add-on again with no text selected to replace the temporary file that contains the text you want to remain confidential. The paths and names of any temporary files directly created by the extension are shown in the Command and Script areas of the About... dialog.




Release List

Release Description Compatibility Operating Systems License Release notes   0.8.70 Bug fixes; Linux `piper-tts` support. Speech rate support for Linux `mimic3` 6.4 Linux, Windows, macOS LGPL


  • Bug fixes.
  • Lexicon updates.


  • Support for LibreOffice 7.6.0 AppImage
  • Debian 12 and Fedora 38 clients use pw-cat from the pipewire-bin package to improve the latency of audio playback on low end systems.
  • Speech toggling worked correctly with localhost speech servers on Ubuntu 22.04 LTS but not with Debian or Fedora. Now when using Debian 12 and Fedora 38 and related platforms, the click to toggle off function of the application works as expected with system packages and AppImage packages.
  • Remove Festival voice support from the docker OpenTTS client, because the OpenTTS server does not work consistently with Festival across all supported platforms. OpenTTS Flite voices are a fast and reliable alternative.
  • Change the client’s timeout terminal troubleshooting message when a speech server unexpectedly fails.

Mimic 3

The Mimic 3 localhost client now supports changing the speech rate.

Piper TTS

Piper TTS is a fast, private local neural text to speech engine. Users can create or refine voice models based on a recording of a voice.

This client uses the piper engine to read text aloud using Read Text Extension with your office program.

Read Selection... Dialog setup:

External program:


Use the first available voice.

"(PIPER_READ_TEXT_PY)"  --rate 100% --language (SELECTION_LANGUAGE_CODE) "(TMP)"

Use a particular model (auto5) and speaker (45):

"(PIPER_READ_TEXT_PY)" --voice auto5#45 --rate 75% --language (SELECTION_LANGUAGE_CODE) "(TMP)"

Install piper-tts

If you are not online, then you cannot download voice models or configuration files. Once they are installed, piper handles speech locally.

Binary release

The binary release is fast.

The most recent binary piper executable program included in a piper archive for your computer's specific processor type. For example, piper_amd64.tar.gz works with x86_64 processors.

For example, for the piper_amd64 1.2.0 release, use the following:

python3 -c "import os;os.makedirs(os.expanduser('~/.local/share/piper-tts/'))"
wget -O ~/piper_amd64.tar.gz
tar -xf ~/piper_amd64.tar.gz -C ~/.local/share/piper-tts/
ln -s -T ~/.local/share/piper-tts/piper/piper ~/.local/bin/piper-cli
~/.local/bin/piper-cli --version

Use the following if you do not plan to also install the python release:

ln -s -T ~/.local/share/piper-tts/piper/piper ~/.local/bin/piper

Python release

The python pipx package has higher latency, but the piper script simplifies automating downloading the required onnx data and json configuration files. Some Linux platforms use python versions that are incompatible or only partially compatible with the pipx stable release of piper-tts.

Install the following packages:


Then use pipx to install piper-tts

pipx update-all
pipx install piper-tts
pipx ensurepath
piper -h

Audition and download a voice model

You can check the voice models online.

Review the voice model samples.

The first time you use this client, it will set up a directory to store piper voice models (onnx) and configuration files (json).


You can download the voice and configuration files for various languages and regions following the link on the piper-samples web page. Move the onnx and json files to the local piper-voices directory.

Read the README file in the directory for more information about using voice models for other languages and regions.

System-wide installation

If you want every account on a single computer to have access to piper then locate the contents of piper_amd64.tar.gz or the equivalent for your computer architecture in a directory that every account has read access to and link the piper application from the archive to a location that is in every user's PATH environment. For example,

sudo ln -s -T /opt/piper-tts/piper/piper /usr/local/bin/piper

If this piper client does not find user installed models and configuration files, it looks for global models and configuration files in:


Users can access the model in the directory from the client dialog using:

"(PIPER_READ_TEXT_PY)" --voice auto0#0 --rate 100% --language (SELECTION_LANGUAGE_CODE) "(TMP)"

If your Linux distribution includes packages to link speech-dispatcher with piper-tts, then you can configure the speech-dispatcher platform to use piper-tts:


Piper TTS Links

Download 0.8.68 Updated `localhost` network speech platforms, MacOS & Linux bug fixes 6.4 Linux, Windows, macOS LGPL


  • Bug fixes and code readability improvements.
  • Lexicon updates.


  • Updated localhost network speech platforms.
    • The Mimic3 python library includes a gender table for supported models. You can instruct the program to ignore gender by using auto as the voice in the place of male or female.
    • Enable the OpenTTS network speech synthesis on supported platforms. OpenTTS can use a variety of Linux speech synthesis libraries. You can install OpenTTS using docker on supported Linux platforms. OpenTTS unifies access to multiple open source text to speech systems and voices for many languages.
    • Handle out of range voice id more consistently across localhost speech engines using modulus math. (i. e.: handle
      --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" --voice "FEMALE10" when there are only 6 female voices currently available.)


  • Fixed a python network speech synthesis regression, so python users can use network speech as a fallback for an unsupported language.
Download 0.8.66 Support python3 pipx and additional libraries; Mimic3 server and Coqui AI serverLinux support 5.4 Linux, Windows, macOS LGPL


  • Bug fixes
  • Updated lexicons


  • Support for pipx (python pip using a virtual environment manager)
  • Better support for user installed pip3 libraries


  • Support for pipx (python pip using a virtual environment manager). The pipxlibrary allows you to install and run python applications in isolated environments. The pipx program replaces pip3 in Debian 12 and its derivatives.
  • Support for developer-oriented speech servers – Mycroft Mimic3 and CoquiAI TTS.
  • You can tell if the speech server is installed correctly if you can open a sample speech synthesis page in your web browser.
  • Use either server using an option that includes the string "(NETWORK_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)" in the Read Text Extension main dialog.
  • You can install spacy with pipx to reduce latency when using a local speech server with a long text selection. The spacy python library can intelligently split up long text selections into sentences.

Mycroft Mimic3

Mimic3 is a fast local neural text to speech engine for amd64, arm64 and armv7l processors. It’s available as an apt package for Debian or as a image.

  • The documentation tells how to set up a Mimic3 server using the Debian deb package manager or a application.
  • To test it out, use mimic3-server
  • Once installed you can test the server and install voice models by using a web browser to open a local webpage.
  • If you use the Read Text Extension dialog as described above, then the extension will try using mimic3-server first.
  • If you prefer normally the system’s speech-dispatcher voice as your main speech manager and Mimic for a secondary language, then use "(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" --voice "AUTO" "(TMP)" in the main menu. The "AUTO" voice name enables using the local mimic3-serverfor languages that the system’s speech-dispatcher does not support directly.
  • The instructions for Mimic3 describe how to set up speech-dispatcher to use mimic3 by default. In this case, you can omit the AUTO voice (i. e.: "(SPD_READ_TEXT_PY)" --language "(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)")

Read Mimic3 documentation and requirements for more details.


CoquiAI TTS engine is a deep learning toolkit for Text-to-Speech, mainly intended for use in research and production services. It includes a tool called tts-server that uses a local http service to allow web browsers and other programs that can connect to a local http server to convert text to speech. With the Read Text Extension network client you can check how new TTS models work with real world text. See tts-server --help

A server instance only serves one model at a time, but you can specify the language by selecting a model that includes the iso language code for the language in the model name. See tts-server --list_models

If you do not specify a model, then the server uses a female en-US model by default.

Example server commands

  • Default tts-server
  • English tts-server --model_name tts_models/en/vctk/vits
  • French tts-server --model_name tts_models/fr/css10/vits

Check the documentation for specific hardware and software requirements. Some voice models require system files that are not explicitly stated in the documentation. Best practice is to use TTS python libraries in a virtual environment by installing TTS using venv, pipx or tools. You can use the web page interface to test if the server works and if there are any problems with a particular voice model. If a model does not work at all, run the tts-server program in a command window and note any error messages that mention missing libraries or system packages.

Read Text Extension's python TTS client uses a few additional system packages - python3-bs4, python3-pip, pipx and espeak-ng. On supported Ubuntu distributions you can use:

sudo apt-get install python3-bs4 python3-pip pipx espeak-ng

To troubleshoot the server and the client, you can see information and error messages when you run the server and office program using separate terminal windows.

  • Server tts-server --model_name tts_models/en/vctk/vits
  • Client /usr/bin/libreoffice

Enable TTS server in the office program using the main Read Text Extension dialog with


If you prefer normally the system’s speech-dispatcher voice as your main speech manager and tts-server for an unsupported secondary language, then use


Read CoquiAI TTS Documents and CoquiAI GitHub pages for more details about the CoquiAI project and tts-server.

Download 0.8.64 Bug fixes; Additional docker tools - MaryTTS & Rhvoice-rest; Pronunciation editor 5.4 Linux, Windows, macOS LGPL


  • Bug fixes
  • Additional docker tools - MaryTTS & Rhvoice-rest
  • Pronunciation editor

How to edit localized pronunciation

When you use this extension with a compatible app, you can replace incorrectly pronounced words and acronyms with a string that the system speech synthesizer can read correctly.

"g":"Read Text Extension","p":"reed text extension"
  • Select a word that you want to change the pronunciation (i.e.: "Metis")
  • Select Tools - Add Ons... - Read Text Extension
  • Click About...
  • On MacOS Command + Click the Tools Icon, on other supported platforms, right-click the Tools Icon
  • In the Read with an external program (macos_say) field enter how you want to say the mispronounced word (i.e.: "[met-tea]")
  • Click Apply.
  • You can find an example of a lexicon table on GitHub
  • To download an online lexicon table, Command + Click or right click the Open button and verify the URL.


  • LibreOffice 7.5 allows you to download or create localized lexicons to specify how text to speech says local words or peoples' names.
  • On Windows, no speech is changed until you manually change the pronunciation of at least one word.


  • When using a supported release of MacOS, LibreOffice 7.5 allows you to download or create localized lexicons to specify how text to speech says local words or peoples' names.


  • Support additional docker text to speech programs including MaryTTS and Rhvoice-rest.
  • On supported platforms and releases, Apache OpenOffice and LibreOffice allow you to download or create localized lexicons to specify how text to speech says local words or peoples' names.
Download 0.8.62 Updates for MacOS 13.0.1 and Debian Linux 11.5 plus documentation updates and bug fixes 5.4 Linux, Windows LGPL


Clicking multiple times quickly on the main button on a legacy Windows system will not cause the application to open the Basic editor with an error message because of a request to delete a lock file that no longer exists.


  • MacOS 13 (Ventura) includes many new multilingual voices. Now, if you use /usr/bin/python3 as the application in the main extension dialog, you can select different voice profiles like “male2” or “female1” that select a male or female profile for every language that has both male and female voices.
  • On MacOS, python checks if Fiona and Lee are actually installed before allowing them as a voice option. These two voices appear in the say -v '?' response, but they are not installed by default in all regions.


Support the larynx-server speech synthesis platform.

  • Since the larynx-server Application Programming Interface (API) uses the http network protocol, supported snap and flatpak versions of office software that block speech-dispatcher can now use high quality speech synthesis with Read Text Extension.
  • The larynx package includes many high quality voices. You can manage languages and voices using a web browser pointed to a locally hosted web page.
  • Supported languages include Dutch, English, French, German, Italian, Russian, Spanish, Swedish and Swahili.
  • On Debian 11.5 compatible Linux platforms, you can use cinnamon-settings startup, gnome-tweaks or another similar application to set up larynx-server to automatically start up after 10-15 seconds when you log in. For testing purposes, you can also start the server by entering the larynx-server command in a terminal window.
Download 0.8.60 Bug fixes and support. Supports more .wav to .mp3 converters. 5.4 Linux, Windows, macOS LGPL

All Platforms

Bug fixes and support. Supports more .wav to .mp3 converters.


  • Fix VLC exports. Omit Flac export – sometimes created a file with length of zero. Do not ask for metadata with VLC because VLC does not include metadata.
  • Python update includes a command for Windows Media Player to play mp3 files.


  • MacOS Monterey 12.6 uses python 3.9.6, so the release includes a compatibility update.


  • Improved audio file export support for lame. Versions of LibreOffice released as appImages require ffmpeg or lame to be able to export .mp3 files. This release supports lame in addition to ffmpeg. If you install one of these programs, the main menu includes an option to include a poster image with the .mp3 audio file.
  • Playback on Linux. Resolves Debian Linux GitHub Issue 21. When using plain single and double quotes with pico2wav or speech-dispatcher, the speaker would pronounce the character coding for the characters on some systems. This update resolves this issue.


Download 0.8.58 Bug fixes and performance improvements. 5.4 Linux, Windows, macOS LGPL

Bug fixes and performance improvements. Works on legacy i386 32 bit systems.



Download 0.8.56 Bug fixes for LibreOffice 7.3. Feature update for Ubuntu Linux 22.04 LTS. 3.3 Linux, Windows, macOS LGPL

This release includes bug fixes for LibreOffice and current language frameworks for Ubuntu Linux and Fedora Linux.

All Platforms

  • GitHub Issue 19 March 30, 2022 is resolved. LibreOffice does not display a dialog saying “Argument not optional” and stop.
  • Copyright information for on-line service providers is included.
  • Ribbon Enabled - The extension can display buttons on the LibreOffice ribbon toolbar. Before you select View – User Interface… – Ribbon, note that if you choose to use the ribbon, you will have to perform two clicks to read text aloud; one to select the Extensions tab and one to click the Read Selection… button.


  • You can add the ability to create compact audio files without personal metadata if you install the desktop version of VideoLan VLC. The Windows Store version of Apple iTunes also works now, but the files it creates are larger because they include metadata information and an image.


  • You can add the ability to create compact audio files in open formats like ogg and opus without personal metadata if you install the desktop version of VideoLan VLC.
  • File export works in both legacy and current versions of MacOS.


  • Both Fedora and Ubuntu can read text aloud when using a current Try Ubuntu or Try Fedora USB stick or DVD.
  • If you download an AppImage of LibreOffice to try out a different version, then you can probably use most functions of the extension, depending on the exact version of LibreOfficeyou install. It’s been verified with LibreOffice
  • The python script for Festival now lets you use Flite as an alternative to a full installation of Festival for a compact low latency English voice.
  • If you have installed the necessary packages, the extension can play jtalk voices in Japanese.
  • When you create a media file, a Fedora or Ubuntu Gnome desktop pops up an information message when the program finishes creating the file.
Download 0.8.52 Update web links and code for MacOS 11 6.0 Linux, Windows, macOS GPL

* Works on MacOS Big Sur
* Updated sample web links

Download 0.8.44 Bug fixes for LibreOffice 6.0 Linux, Windows, macOS GPL

Bug fixes for LibreOffice

  • Remove VLC from list of compatible players and convertors for Linux because the functions that the extension depended on no longer work.
  • Improve readability of code and correct syntax errors.
Download 0.8.42 Simplify the settings dialogue for LibreOffice 6.2 4.4 Linux, Windows, macOS GPL
  • LibreOffice 6.2.3 for Windows, MacOS and Linux does not allow the extension script to restore the last displayed option for the dialogue; therefore the dialogue always defaults to the first available option.
  • By disabling the festival option if the festival program is not installed, the dialogue defaults to External Program, the most commonly used option on Windows and MacOS.
  • Windows and MacOS commonly can use multilingual system voices, therefore you do not need Festival unless you require a voice for a region that are not available in the system voices catalogue
  • The scripts for setting up the dialogue use with notation to make the code more readable.
  • The main dialog uses a compatible group tag for the option radio button and uses a tab order that groups the radio buttons together.
Download 0.8.40 AppImage support, updated documentation, bug fixes and performance improvements. 4.4 Linux, Windows, macOS GPL
  • Make compatible with the AppImage format (AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application.)
  • Update help, links and comments.
  • Bug fixes and performance improvements.


Download 0.8.38 Main tool bar icon resized for LibreOffice 6; Ubuntu 18.04 speech synthesis compatibility. 4.4 Linux, Windows, macOS GPL

Bug fixes and appearance improvements.

  • Redesign the toolbar icon for better appearance when using LibreOffice 6 for Windows.
  • Make speech scripts compatible with Ubuntu 18.04 LTS Bionic Beaver.
  • When reading XML code aloud on Linux speech platforms, read the text without the XML tags and attributes.
  • Update the release version string.

Change log

Download 0.8.36 Improved multilingual support on Windows 10 4.4 Linux, Windows, macOS GPL

Improved multilingual support on Windows 10.

Update tts_wscript.vbs for Windows Speech API (SAPI 5) - selecting XM…

Download 0.8.34 Bug fix 4.4 Linux, Windows, macOS GPL

Bug fix

Incorrect StarBASIC syntax: missing closing parenthesis

With a recent changes in LibreOffice StarBasic parser, it now doesn't silently accept a missing closing parenthesis anymore (as it did before).

This release adds missing closing parenthesis.

Download 0.8.32 Update links; fix support for Gstreamer sound playing in Linux. 4.2 Linux, Windows, macOS GPL

 Update links; fix support for Gstreamer sound playing in Linux.

Download 0.8.32 Update links; fix support for Gstreamer sound playing in Linux. 4.2 Linux, Windows, macOS GPL

 Update links; fix support for Gstreamer sound playing in Linux.

Show more

Other Extensions

Read Text

The Read Text Extension lets an external program or web application read text from LibreOffice Writer, Calc, Draw, Impress, Web Writer or the system clipboard.



★ ★ ★ ☆ ☆


★ ★ ★ ☆ ☆

Post your review

You cannot post reviews until you have logged in. Login Here.


  • mike glass Feb 23, 2023, 12:16 AM (7 months ago)

    ★ ★ ★ ★ ☆

    It's a great program. It works through my Asus laptop speakers but **it won't work with headphones** either plugged in or Bluetooth. I tried it on my other laptop and it works fine. I thought it worked before on this one. Windows 10 Libreoffice 7.5. I have tried everything I can think of including reinstalling an older version of Libreoffice with no luck. Headphones work fine with other programs. Any thoughts?

    • James Holgate Mar 17, 2023, 4:28 PM (6 months ago)

      This might help, or it might not. Some laptops come with an audio enhancement app that allows you to set custom audio profiles for different sources, music styles and/or different outputs. You could look for a program with something like "SRS" or "Dolby" in the title to check the settings for headphones. You could also check the Device Manager to see if a different sound card driver solves your problem. Lastly, if the problem started when you updated the application, try using the 32 bit version if you are using the 64 bit version, or vice-versa to see if that helps.

  • Robert Ferraro Dec 7, 2022, 7:58 AM (10 months ago)

    ★ ★ ★ ★ ★

    I find this to be an excellent extension and serves me perfectly. A pause feature would be awesome!!

    • James Holgate Mar 17, 2023, 4:59 PM (6 months ago)

      Thank you for your feedback!

      On some platforms, you can get the sound to play in a media player with a command line flag. For example, with Windows 10, use the `visible:"true"` flag...

      `"(TTS_WSCRIPT_VBS)" /visible:"true" /language:"(SELECTION_LANGUAGE_COUNTRY_CODE)" "(TMP)"`

      Once the sound file opens with the media player, you can pause, rewind, repeat and stop as you like.

      The information in the "About" dialog describes the available options for particular speech tools.

  • joseph Nov 1, 2022, 7:20 AM (11 months ago)

    ☆ ☆ ☆ ☆ ☆

    Please check what the speaker pronounces.
    Pronouncing the character coding.
    Example, check five (5) characters:
    ( ) ' " &
    with Kubuntu 22.10 (Kinetic Kudu)
    with Libreoffice version and
    pico -V
    GNU nano, version 6.4
    read_text_2022.10.02_06.03.oxt 471.4 KiB (482,748 bytes)


    • James Holgate Mar 17, 2023, 4:39 PM (6 months ago)

      I can't reproduce the problem on Ubuntu 22.04, Fedora 37 or Debian 11. An application in your system appears to interpret XML incorrectly. Try updating your system and revising the extension to the newest version. If you are using a legacy system speech application, you might have better luck using a docker container like MaryTTS.

  • joseph Sep 18, 2022, 6:59 AM (12 months ago)

    ☆ ☆ ☆ ☆ ☆

    read_text pronounces characters that ought not be spoken.
    Please fix readtext version 0.8.58

    In the very least, silence the following 7 characters:
    ( ) ' " | & _
    Because readtext version 0.8.58 says:
    ( as end-ash-40
    ) as end-ash-41
    & as end-ash-38

    read_text version 0.8.58 is installed:
    469.6 KiB (480,834) bytes
    and running on:
    LibreOffice version
    Operating System: Kubuntu 22.04.1

    Please fix readtext version 0.8.58

  • David Katz Apr 13, 2022, 4:56 AM (18 months ago)

    ☆ ☆ ☆ ☆ ☆

    0.8.52 does not work with
    Basic Runtime error. Line 4191

    • James Holgate Mar 17, 2023, 4:40 PM (6 months ago)

      Thanks for the information. I think it is fixed with the current extension and the current version of LibreOffice.

  • L Duperval Mar 16, 2022, 8:47 PM (19 months ago)

    ★ ★ ★ ★ ☆

    It works well except that I can't find a reliable way for it to use the language code of a paragraph to determine which voice to use.

    If someone can provide that information, I can give this a 5-star rating!

  • David Casey Nov 9, 2021, 2:33 AM (23 months ago)

    ★ ★ ★ ☆ ☆

    Loved this extension, but it seems to be broken with the new LO 7. Hoping this gets fixed sometime soon.

  • Scott Ishiyama Oct 21, 2021, 10:54 PM (23 months ago)

    ★ ★ ★ ★ ★

    Works great in MacOSX Mojave. Simple to install and uses the built-in Speech settings from the Accessibility preferences pane in MacOS.

    It works so well that I created an account here just to leave this review.

  • Gab Jun 7, 2021, 4:57 PM (2 years ago)

    ★ ★ ★ ★ ★

    Thank you it's perfect !
    Can you just add <node oor:name="OfficeNotebookBar"> to the code so I can see the extension in the tab mode ?

  • Kiwi Jan 8, 2021, 9:02 AM (3 years ago)

    ★ ★ ★ ★ ★

    This extension worked very well on on Windows using the Microsoft TTS engine and Microsoft David voice.

    This is a vital adaptation for universal access for some people with learning disabilities that isn't included in most office suites by default. It's great that it can be added on. Thanks very much to the author for building it.

RSS feed for reviews on this page | RSS feed for all reviews