Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension

Table of Contents

  • Installing the Extension
  • Enabling Forwarding Service in MultiTTS
  • Extension Settings and Usage
  • Video Demonstration
  • Tool Download

Lengthy Warning: This article is quite long, but don’t feel pressured; it is mainly to accommodate readers who are not familiar with MultiTTS or computer operations. It’s actually so easy—once the forwarding service is enabled in MultiTTS and the IP address is set in the extension, it can be used.

Previously, in the article on Text-to-Speech Solutions (Mobile Edition), I introduced the MultiTTS software and its usage. MultiTTS is arguably the pinnacle of text-to-speech on mobile devices, supporting the addition of rich reading engines (voice packs). In addition to the standard online reading engines, it also allows for offline voice packs. The benefits of offline usage are obvious; if you are using mobile data on your phone, offline reading can undoubtedly save data. Moreover, since offline does not rely on third-party online servers, it is particularly suitable for reading sensitive content, ensuring our privacy and security.

However, compared to mobile devices, I primarily use my computer. Unfortunately, despite the availability of many text-to-speech software options for computers, none seem to rival MultiTTS. In practical use on a computer, most of my text-to-speech synthesis scenarios occur within web browsers. In the Text-to-Speech Solutions (Desktop Edition) article, I mentioned that you can use browsers with built-in reading features, such as Microsoft Edge. However, I have become accustomed to using the Percent Browser and have no plans to switch for now. Therefore, I can only consider using extension plugins or Tampermonkey scripts.

After trying out several options, the results were less than satisfactory. Most plugins had poor reading quality, with overly mechanical voices. Those that performed slightly better often required login and payment. Later, considering that MultiTTS could provide forwarding services, I thought about how to utilize it on my computer. With the help of AI, I created this browser extension—MultiTTS Reader. Currently, the extension is quite basic (it will be optimized based on needs later), but the reading effect using MultiTTS’s voice engine is still quite good, so I wanted to share it with everyone!

Installing the Extension

Since the extension is not listed in the extension center (app store), it comes in a compressed package.

After downloading the extension, unzip it, and go to the browser address bar to enter <span>chrome://extensions</span> page, enable “Developer Mode”, and then drag and drop the unzipped folder onto this page to install it.

If dragging the folder does not work, you can also manually select the folder for installation by clicking on a button like Load Unpacked Extension.

After installation, click the “Extensions” button in the upper right corner of the browser to pin the extension to the browser toolbar.

Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension

Clicking the “MultiTTS Reader” icon button on the toolbar will pop up the extension settings (the page is roughly as shown in the image below).

Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension

At this point, the installation of the extension is complete.

Enabling Forwarding Service in MultiTTS

The so-called forwarding service can be understood as an API interface; the extension uses this voice synthesis interface (http://localhost:8774/forward) to achieve text reading functionality. Note that in actual use, you need to replace “localhost” with the IP address of the system where MultiTTS is located. For example, the default TTS server address for the above extension is:<span>http://192.168.1.108:8774</span>

Enabling the forwarding service in MultiTTS on mobile is very simple; in the (newer version) MultiTTS interface, click the “≡” icon in the upper left corner to see the enable option.

Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension

If you are using MultiTTS on a computer through an emulator, you need to make some additional settings before enabling the forwarding service. Below, I will introduce this using the Windows LDPlayer Emulator (you can also use MuMu Emulator, which has a macOS version).

1. Install Software and Voice Packs

LDPlayer supports dragging installation packages for installation, as well as transferring (voice pack) files by dragging. The save path is the Pictures folder, which is also the default shared folder between the emulator and the computer.

For importing voice packs, in addition to the methods introduced in previous articles: importing data through the software and manually unzipping voice packs to the specified path, the new version of MultiTTS supports importing data by selecting “Open with.” This means you can directly double-click the voice pack to choose “Open with Import Data.”

After importing data, refer to previous tutorials to set up the “Narrator Voice” and “Dialogue Voice” as needed.

2. Enable Network Bridging Mode

In the upper right corner of LDPlayer, click “≡” – Software Settings – Network – Enable Network Bridging Mode.

Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension3. Enable Forwarding Service & Check Emulator IP Address

Enabling the forwarding service is the same as the method mentioned above for mobile. Here, I will focus on how to obtain the IP address of the LDPlayer emulator.

Open the system application “Settings” – Network & Internet – WLAN – Click ⚙ – Advanced, and you will see the “IP Address” (the method to check the local IP address on a mobile phone is similar).

Introducing MultiTTS for Desktop: A Powerful TTS Text-to-Speech Browser Extension

Extension Settings and Usage

1. Modify Settings

Click the extension icon in the browser toolbar to open the settings interface (refer to the image of the “MultiTTS Reader Extension Settings Interface.webp” above), and change the TTS server address:<span>http://192.168.1.108:8774</span> to your Android emulator’s actual IP address.

Decide whether to add a “Voice ID” (speaker); the voice ID can be obtained from http://localhost:8774/voices, and remember to replace “localhost” with the actual IP address of the system where MultiTTS is located. If no voice is added, the extension will use MultiTTS’s default settings.

2. Using the Extension

Using it is quite simple; select the content on the webpage, then click “Read Selected Text” in the right-click menu to read the content. If no content is selected, right-clicking will read the entire webpage.

Video Demonstration

Known main issues with the extension:

1. Unable to read content on the current webpage: Due to the need to forward cross-origin requests from “https” webpages to “http” services, browsers will block this, so the current solution is to open a new tab to read the content.

2. Audio does not play immediately after clicking read: Because synthesizing speech takes some time, and this time depends on various factors, such as the version of MultiTTS, different voice packs (mainly online or offline), and the configuration of the computer or phone.

1. I found through testing that pure offline voice packs take less time to synthesize than online ones;

2. Using a phone takes less time to synthesize speech than through an Android emulator (please refer to actual tests for specifics);

PS. If you use an idle phone to run the forwarding service (a must-have for phone running:Smart Charging), all browsers with the installed extension in the local area network can use the voice synthesis service.

3. Disjointed reading between segments: Due to character limits on the forwarding service address, when reading large amounts of content (like reading an entire webpage), the content will be split into multiple segments. However, as mentioned in “Issue 2,” starting to read requires some time. Therefore, when switching from the current segment to the next, there will be a pause, leading to disjointed reading.

For the above “Issue 1,” I currently think of solving it by pairing it with a corresponding Tampermonkey script, while “Issue 3” can be addressed by preloading (caching) the next segment for continuous reading. As for “Issue 2,” there is currently no complete solution; we can only work on the influencing factors to minimize the speech synthesis time.

In summary, the current extension has many shortcomings, but it serves as a starting point to provide everyone with an idea. Those with the capability can optimize and design a better extension or software program.

Tool Download

For download links, please reply to the public account 058

You can click the card below to enter the public account and directly “send a message”

Leave a Comment