Skip to content

Text to Speech

Eliran Wong edited this page May 27, 2022 · 15 revisions

Text-to-Speech Feature

UBA users can access text-to-speech through right-click context menu, Master Control "Miscellaneous" tab and Note Editor "Text Utility" toolbar.

Text-to-speech Engines

Unique Bible App supports four different text-to-speech engines or modules. Two of them requires internet connection and two of them does not.

Online Text-to-speech engines:

  1. Google Cloud Text-to-speech service - personal credential required (see below); nice voices with support of many languages; voice setup is not required; support speed adjustment and mp3 file export. Read more at https://cloud.google.com/text-to-speech

  2. Python gTTS package - UBA installs this package for users on startup; no setup is required; support mp3 file export. However, this package does not support speed adjustment. Read more at https://pypi.org/project/gTTS/

Offline Text-to-speech engines:

  1. Espeak - online tts engine for Linux users; support speed adjustment and multiple languages; setup is required, e.g. https://github.com/eliranwong/ChromeOSLinux/blob/main/multimedia/espeak.md

  2. QTextToSpeech - built-in qt tts engine; support multiple languages on Windows and macOS; setup of non-default voices is required; support speed adjustment. However, its behaviour varies across different platforms. In addition, it does not support mp3 file export.

Setup of Google Cloud Text-to-speech

Google Cloud Text-to-speech offers more features than the rest of the engines UBA supports. However, it requires extra steps for setup:

  1. Create a credential key for Google Cloud text-to-speech service and download it. Read for details at https://cloud.google.com/text-to-speech/docs/before-you-begin

  2. Rename the credential key file to "credentials_GoogleCloudTextToSpeech.json"

  3. Place the credential key file "credentials_GoogleCloudTextToSpeech.json" in UniqueBibleApp folder.

Config flags

You may set config flags via menu UniqueBible > Config Flags:

Screenshot 2022-05-27 at 12 26 45

If "credentials_GoogleCloudTextToSpeech.json" is in place, UBA uses Google Cloud Text-to-speech engine automatically.

If "credentials_GoogleCloudTextToSpeech.json" is in not place, the follow config flags control which text-to-speech engine is used.

forceOnlineTts - in case both online and offline engines are available, UBA uses offline engines by default unless users set this option on to instruct UBA to use online tts engines instead.

espeak - enable this option on Linux to uses espeak tts engine when "forceOnlineTts" is disabled.

Enter "speech" in search field to quickly locate the two items mentioned above.

Screenshot 2022-05-27 at 12 25 53

Select Default Text-to-Speech Voice:

Default Text-to-Speech Voice is uses with "Speak" feature triggered from right-click context menu:

Screenshot 2022-05-27 at 12 42 10

Default text-to-speech language is configurable via Material menu layout: UniqueBible > Other Preferences > Select Default Text-to-speech Voice.

Screenshot 2022-05-27 at 12 36 40

Select non-default Voices

You can select non-default voices via right-click context menu, master control "Miscellaneous" tab or note editor.

Screenshot 2022-05-27 at 12 41 25

Changing Text-to-Speech Language on Miscellaneous Tab

From version 21.78, changing text-to-speech language on Master Control Miscellaneous tab changes default text-to-speech language.

Therefore, users can allow quickly change the default text-to-speech language by calling Miscellaneous tab with keyboard shortcut Ctrl+M.

Adjust speed

You can adjust speed via Master Control Miscellaneous tab.

As mentioned above, all text-to-speech engines, supported by UBA, except python gTTS package, supports speed adjustment.

Multi-line Editing

You can make use of multi-line editor in note editor and text-to-speech features together.

MP3 File Export

These feature is supported only if you use the online tts engines UBA supports.

  1. Select text

  2. Right-click > select "Save as MP3"

Screenshot 2022-05-27 at 12 46 34
  1. Specify file location and file name
Screenshot 2022-05-27 at 12 47 19
Clone this wiki locally