Latest News
Donation
WMZ: Z087754155981 (USD) WME: E110509803261 (EUR)
|
If you want to help Balabolka, you might draw bitmap images with sizes 32 x 32 or 48 x 48 for buttons (use the images from the resources subfolder).
Or you can try to translate sample.txt from the languages subfolder.
If you are interested, please contact me at crossa@list.ru
Speech Synthesis
|
What is SAPI? |
|
The Speech API (SAPI) is an application programming interface developed by Microsoft to allow the use of speech synthesis within Windows applications. The SAPI provides a high-level interface between an application and speech engines. Text-To-Speech software synthesizes text strings and files into spoken audio using synthetic voices. |
|
|
Where can I get SAPI 4? |
|
To use SAPI 4 voices, download and install the redistributable Microsoft Speech API 4.0 file.
Also, you may download and install the Microsoft Speech Control Panel; the Speech Control Panel will add an icon to your Control Panel to enable you to list the compatible text-to-speech engines installed on your system and customize their settings for your use. |
|
|
Where can I get SAPI 5? |
|
Windows XP (and later versions) comes with SAPI 5. |
|
|
Is there a limit on the length of text for speech synthesis? |
|
The text size for converting is limited by the WAV audio format: Balabolka uses a temporary WAV file for text-to-speech processing. The WAV format has a standard size limitation of just under 4 GB. The maximum duration of audio files depends on sampling rates, bit resolutions ant channel count. It is recommended to split a big document and convert each text part to an audio file. |
|
Speech Engines
|
How do I know what Text-To-Speech voices have been installed on the computer? |
|
You can view all the voices available on the computer by following Control Panel
=>
Speech
=>
Speech Properties
=>
Text To Speech
=>
Voice selection. |
|
|
Windows 10 has the new voices Microsoft Mark Mobile and Microsoft Zira Mobile, but they are not available in text-to-speech software. Is it possible to unlock the new voices? |
|
By default, the Microsoft mobile voice (also known as "OneCore") is locked for using in text-to-speech software via SAPI 5. You can unlock it with a simple registry tweak. Download the archive, extract the file for your language and for your version of the operating system ("mobile_x86.reg" for 32-bit and "mobile_x64.reg" for 64-bit), click the right mouse button on the file's name and choose the context menu item "Merge". The Microsoft mobile voice will appear in the list of the available voices in Balabolka.
Alternatively, the utility SAPI Unifier can be used for the same purpose. |
|
|
Windows 11 introduces more natural voices, such as Microsoft Jenny and Microsoft Aria. How can I access them with SAPI 5? |
|
This problem can be fixed with the NaturalVoiceSAPIAdapter utility. It will add new speech engines to the SAPI 5 voice list; it can also add the voices available in the Microsoft Edge browser to this list. More information can be found here. Since Balabolka is a 32-bit application, you should install the 32-bit and 64-bit versions of the utility (see "Installation Status" in the utility's window). You can download the latest release of the utility. |
|
|
My computer is running the 64-bit version of Windows. I have installed the 64-bit Runtime package for Microsoft Speech Platform and the English voices. But the list of available voices is still empty. Where is a problem? |
|
Balabolka is the 32-bit application. You need to install the 32-bit Runtime package for Microsoft Speech Platform also. |
|
|
I have Windows 11 24H2 installed on my computer. In Balabolka, I press the "Read aloud" button: the application reads the first two words in the text and crashes out. Why does this happen? |
|
Here's what we know about the problem that appears after installing the 24H2 update for Windows 11: if the user's monitor contains speakers, if the graphics card and the monitor are connected by a cable that transmits sound – this leads to unstable work of the Balabolka program, it periodically crashes, and in the event log the MMDevApi.dll system library is specified as the cause of the crash. But if you connect speakers or headphones to the audio jack on the motherboard of the same computer, the Balabolka program works stably.
The problem occurs in 32-bit applications that use the IMMNotificationClient interface. Until Microsoft developers fix the problem, here's the situation: if you installed the 24H2 update for Windows 11 and the text-to-speech application starts crashing, connect your audio output device to a different port on your computer. I wrote to Microsoft support about this situation, but they ignored my messages. We all have to wait for Microsoft developers to fix the problem.
A user from Japan, Ikuo Kurihara, found one more way to fix the problem: first you need to launch Windows Media Player Legacy (click the "Start" button and type this name in the search bar), open any audio file in the player, start playing it and immediately pause; then launch Balabolka. In this case, the text-to-speech application will work stably. "Windows Media Player Legacy" is a 32-bit application, just like Balabolka. This method will also work with any other 32-bit audio player. |
|
|
What is Google Text-To-Speech? |
|
In Google Translate you can find a "Listen" button that converts text to speech. After pressing of this button a browser starts to download MP3 file. The service supports converting to speech texts not longer than 100 symbols. Balabolka allows to divide big text on small parts, create an audio file for each part and merge them together. |
|
SAPI Tags
|
How do I change a voice during reading aloud? |
|
Use the XML tags. It is recommended to write the opening and closing tags inside the same paragraph. For example:
<voice required="Name=Microsoft Zira Desktop">Hello, how are you?</voice>
<voice required="Name=IVONA 2 Amy">I am good.</voice>
In addition, Balabolka supports its own tags to modify the speech synthesis.
{{Voice=Jenny}} This text will be read by the voice 'Jenny'. {{Voice=}} This text will be spoken by the default voice in Balabolka. |
|
|
I'm getting the error message "OLE error 80045042". What does that mean? |
|
This error means: "The XML parser failed due to bad syntax." You must verify the syntax of the XML tags inside the text. Or, some part of the text looks like the start of an XML tag, and it is confusing SAPI. If you don't want to use XML tags, remove the symbols "<" and ">" from the text (or replace them by words "less than" and "greater than"). |
|
Software Installation
|
How can I make a silent installation of Balabolka? |
|
To install Balabolka in silent mode without dialogs you may use a silent installation. A silent installation is available by using -silent command-line switch. |
|
Software Setup
|
My computer contains two sound cards. How can I choose an audio device for text-to-speech playback? |
|
You may select Speech in Control Panel of Windows and click the Audio Output button in the Speech Properties dialog box. Also, Balabolka contains the main menu item "Options | Audio Output". |
|
Software Usage
|
I open a DjVu file, but the program doesn't show any text. What is wrong? |
|
DjVu format was designed to store scanned documents. A DjVu file contains images of pages for books, magazines, etc. Also, DjVu can contain an OCR text layer. Balabolka can extract data from a text layer of DjVu only. If such layer is not available, the only way to get text is to use a text recognition system (for example, FineReader). |
|
|
How can I remove dashes in the beginning of paragraphs? |
|
You should use the main menu item "Edit | Replace". Type ^p— in the Find what box and ^p in the Replace with box. The program allows to use most of special codes from Microsoft Word:
- ^p
- Paragraph mark
- ^t
- Tab character
- ^nnn
- ASCII character (where nnn is the character code)
- ^0nnn
- ANSI character (where 0 is zero and nnn is the character code)
- ^Unnnnn
- Unicode character (where nnnnn is the character code)
- ^+
- Em dash ( — )
- ^=
- En dash ( – )
- ^^
- Caret character
- ^s
- Nonbreaking space
- ^?
- Any character (in the Find what box only)
- ^#
- Any digit (in the Find what box only)
- ^$
- Any letter (in the Find what box only)
- ^c
- Microsoft Windows Clipboard contents (in the Replace with box only)
- ^&
- Contents of the Find what box (in the Replace with box only)
|
|
|
I am not satisfied, how Balabolka extracts text from PDF files. Can I use the other way for processing of PDF? |
|
The process of text extracting from PDF files is complicated enough, because PDF files do not contain plain text. You may use an external command-line utility for text extracting: for example, the program pdftotext.exe from the Xpdf project. Copy pdftotext.exe to the subfolder "utils" in the folder of Balabolka, choose the main menu item "Options | Text Import", the tab "Custom Text Import", and click the Add button. Define the command for using of pdftotext.exe:
%BFolder%\utils\pdftotext.exe -q -nopgbrk -enc UTF-8 %Input% %Output%
Define the name of the converter (for example, "Xpdf Converter"), file extension ("PDF") and output encoding ("UTF-8"). After activating of the option Use instead of default extracting method for this file type the program will be able to use the external utility for text extracting from PDF files. |
|
Audio Files
|
How can every line of a text file be converted to a separate audio file? |
|
You may add two empty lines after every line with text in the document. Open the file in Balabolka, choose the main menu item "Edit | Replace", type ^p in the Find what box and ^p^p^p in the Replace with box, click the Replace all button. Choose the main menu item "File | Split and Convert to Audio Files"; choose the split method "by two empty lines in succession" and click the Split and Convert button. |
|
|
Can I use the first line of text as the name of the audio file (for example, "01 Chapter One.mp3", "02 Chapter Two.mp3")? |
|
Type %FirstLine% in the "Base Output Filename" box in the window "Split and Convert to Audio Files". The application will replace this variable by the first line of each text part. To change the position of the sequence number inside the filename, use the %Number% variable. |
|
|
I create audio files and upload to the podcast service. The service allows to extract chapter markers from an audio file and import them into its database. Does the program allow to add chapter markers into audio files? |
|
Yes, Balabolka allows to generate audio files with chapters; such function is available for MP3 and MPEG-4 (MP4, M4A) formats. Use the main menu item "Bookmark | Insert Named Bookmark" to create a list of named bookmarks. Names of bookmarks will be used as chapters' names. Choose the main menu item "File | Split and Convert to Audio Files". Use the variant "named bookmarks" as the split method. Choose the setting "Use optional pattern" for audio file names, the pattern must be defined as %Header%. Activate the option "Create an audiobook file with chapters" and click the button "Split and Convert to Audio Files". The application will split text, convert each part to an audio file and then unite audio data to one audio file. |
|
General Software Questions
|
What is Spritz-Reader? |
|
Spritz is a a new speed-reading technology. It allows to speed reading rates anywhere from 100 to 1000 words per minute. The time consuming part of usual reading lies mainly in the actual eye movements from word to word and sentence to sentence. Spritz positions words in a spot on a display where you can recognize the word, without moving your eyes. |
|
|
What is the IFilter interface? |
|
The IFilter interface works with documents. It provides filters to extract information from proprietary file formats. Full-text search engines call the methods of the IFilter interface. IFilters are available for Adobe PDF, WordPerfect and many other popular file formats. You can get IFilter installers from respective vendors. IFilter.org is a good place to get started. Note that because Balabolka is the 32-bit application you may need to install the 32-bit version of IFilters. |
|
|
Can I use media files generated with Balabolka in YouTube videos? |
|
Balabolka is freeware, so you may create audio files for free. But if you use the commercial voices, you need to contact the developers of the voice and purchase the license for commercial use/audio broadcast. The audio distribution license will allow you to use speech in YouTube videos.
For example, the information from the Cepstral web-site: "Cepstral Personal voices are for personal use only and are NOT licensed for audio distribution. This means the audio you create is for your use only and cannot be shared with others or used in videos, presentations, or webpages. If you are interested in an audio distribution license, please contact sales." |
|
|
Is it possible to create a video file in Balabolka (containing speech as audio data and synchronized text as video data)? |
|
No, Balabolka doesn't have such option. But you can get the similar result in another way.
My application allows to create files in SRT and LRC formats. Use the main menu item "Options | Audio Files" in Balabolka. On the tab "LRC, SRT" you may define settings for subtitle files. The application will convert text to an audio file (for example, FILE.MP3) and create a subtitle file for this audio file (for example, FILE.SRT).
- You can play an audio file in three ways:
- You can get a video file by using of the FFmpeg software. It is a command-line tool that creates video files and converts video formats. Download the example of the command file: it converts an audio file INPUT.WAV and a subtitle file INPUT.SRT to OUTPUT.MP4 with rendered text (all files must be at the same folder where FFMPEG.EXE is placed). It is a basic example: read the documentation to get more information about the FFmpeg parameters.
|
|
|
I am creating a 3D character, and it is necessary to generate a lip animation synchronized with audio generated by a text-to-speech engine. Can you help me? |
|
When a speech engine reads aloud, it generates information about visemes. A viseme is the basic visual unit of speech that represents the position of the mouth and face when pronouncing a phoneme. SAPI 5 supports the list of 21 visemes. The console application of Balabolka contains the command line parameter that allows to generate the output text file with visemes. The application will create the audio file and then read it aloud to get visemes and their timecodes. |
|