вторник, 13 марта 2018 г.

Балаболка (версия 2.11)

Часто задаваемые вопросы


Синтез речи

Что такое SAPI, и зачем он нужен?
Speech Application Programming Interface или SAPI - это пакет речевых функций, разработанный корпорацией Microsoft для того, чтобы программы могли использовать компьютерный синтез речи. Существуют две основные версии SAPI (SAPI 4 и SAPI 5), которые не совместимы друг с другом.

Операционная система Windows 2000 содержала SAPI 4, Windows XP и все последующие версии - SAPI 5. Можно загрузить и установить обе версии SAPI на один компьютер; это позволит использовать все существующие речевые движки (старые и новые).
 
Где я могу найти SAPI 4?
Для того, чтобы использовать голоса SAPI 4, необходимо скачать и установить пакет функций Microsoft Speech API 4.0. Также, можно загрузить и установить Microsoft Speech Control Panel; после этого в панели управления добавится иконка панели настроек речи.
 
Где я могу найти SAPI 5?
Windows XP и более поздние версии операционной системы уже содержит SAPI 5.
 

Компьютерные голоса

Установил программу "Балаболка", но она читает только по-английски. Как заставить ее читать вслух по-русски?
"Балаболка" использует компьютерные голоса, установленные на компьютере пользователя. Компьютерный голос (его еще называют "синтезатор речи") - это отдельный программный продукт (бесплатный или платный). Существует множество различных компьютерных голосов, в том числе и русских. Ссылки на некоторые бесплатные голоса есть на сайте программы "Балаболка". Найти информацию о русских синтезаторах речи можно также здесь.
 
Как узнать, какие именно голоса установлены на моем компьютере?
Список установленных голосов можно посмотреть здесь: Control Panel (Панель управления) ->Speech (Речь) -> Speech Properties (Свойства речи) -> Text To Speech (Преобразование текста в речь) -> Voice selection (Выбор голоса).
 
У меня стоит "пиратская" сборка Windows XP, и ничего не работает - ни программа "Балаболка", ни компьютерные голоса. Что делать?
В "самодельных" вариантах операционной системы могут отсутствовать компоненты, необходимые для синтеза речи или для нормальной работы программы "Балаболка". Если в панели управления Windows отсутствует раздел "Речь" (Speech), можно восстановить его при помощи этого набора файлов. Затем необходимо загрузить и установить SAPI 4 и SAPI 5.
 
В программе "Балаболка" список голосов пуст. В чем проблема?
Причины могут быть разными; наиболее вероятная: один из установленных на компьютере голосов работает с ошибкой. Например, популярная в России "пиратская" версия 2.220 голоса Acapela Alyona не работает в операционной системе Windows 8 и выше; сбой в работе голоса может привести к тому, что программе "Балаболка" не удастся отобразить список голосов. Необходимо определить, какой из компьютерных голосов работает с ошибкой; затем рекомендуется удалить или переустановить голос (для старой версии голоса Acapela Alyona можно найти "рецепт" решения проблемы путем замены одного из файлов).
 
Операционная система Windows 10, кроме голоса "Ирина", содержит также голос "Павел". Этот голос отображается в панели управления Windows, но в программе "Балаболка" в списке доступных голосов его нет. Как получить доступ к голосу "Павел" в Windows 10?
Голос Microsoft Pavel Mobile предназначен для использования в приложениях из магазина Windows Store. По умолчанию к голосу нельзя обратиться при помощи функций SAPI 5. Однако, есть простой способ решить данную проблему. Скачайте архив, извлеките из него файл для соответствующей версии операционной системы ("pavel_x86.reg" для 32-битной версии и "pavel_x64.reg" для 64-битной версии), кликните правой кнопкой мыши на имени файла и выберите пункт "Слияние" в контекстном меню. Параметры голоса будут добавлены в системный реестр Windows, и голос можно будет использовать в программе "Балаболка".

Файлы для других языков можно скачать отсюда.
 
У меня 64-битная версия Windows. Установил 64-битный модуль Runtime для Microsoft Speech Platform, а также русский голос Elena. Но в списке доступных голосов в программе "Балаболка" пусто. В чем дело?
Программа "Балаболка" является 32-битным приложением. Поэтому необходимо установить 32-битный модуль Runtime для Microsoft Speech Platform.
 
Что такое Google Text-To-Speech?
При использовании сервиса перевода на сайте Google, рядом с переведенным текстом есть кнопка "Listen" ("Слушать"). При ее нажатии браузер скачивает с сайта Google звуковой файл в формате MP3 с озвученным переводом. Доступен синтез речи для более чем 30 языков. Сервис предоставляет возможность озвучивать тексты длиной не более 100 символов. Программа "Балаболка" позволяет обойти это ограничение: большие тексты делятся на мелкие части, для каждой части текста скачивается звуковой файл, затем все файлы объединяются в один аудиофайл (поддерживаются форматы WAV, MP3 и OGG).
 

Теги SAPI

Что такое "теги XML", и зачем они нужны?
XML означает Extensible Markup Language (расширяемый язык разметки). Это способ обработки текста при помощи обрамляющих тегов, когда отдельные слова или предложения превращаются в элементы, обрабатываемые компьютерными голосами специальным образом.

Теги - это текстовые управляющие команды, вставляемые в читаемый текст, причем они сами не читаются, а передают речевому синтезатору команду изменить тот или иной параметр чтения текста. Каждый элемент XML состоит из стартового тега <тег>, завершающего тега </тег> и текста между этими двумя тегами. Если элемент пустой и текст отсутствует, то тег может быть записан так: <тег/>.

С помощью тегов можно изменить, например, скорость чтения:

<rate absspeed="5">Этот текст читается со скоростью пять.</rate>

Подробную информацию о тегах можно найти в файле справки программы "Балаболка".
 
Как сменить голос во время чтения вслух?
Можно воспользоваться тегами SAPI 5. Рекомендуется вставлять стартовый тег и парный ему завершающий тег внутрь одного и того же абзаца. Например:

<voice required="Name=Microsoft Irina Desktop">Привет, как дела?</voice>
<voice required="Name=IVONA 2 Tatyana">Всё в порядке.</voice>
 

Установка программы

Как выполнить "тихую" установку программы?
Установка программы в автоматическом режиме без показа диалогов ("тихая" установка) возможна при указании ключа -silent в командной строке.
 

Настройка программы

В моем компьютере установлены две звуковые карты. Как выбрать нужное аудиоустройство для воспроизведения речи?
Можно осуществить выбор аудиоустройства в панели управления Windows; например, в разделе "Звук, речь, аудиоустройства", кнопка "Аудио выход" ("Audio Output"). Звуковую карту можно также выбрать в программе "Балаболка", при помощи пункта главного меню "Настройки | Выбор аудиоустройства".
 
Голос Nicolai произносит "пространство" каждый раз, когда в тексте встречается неразрывный пробел (символ ALT+0160). Как это исправить?
Программа может автоматически заменять неразрывные пробелы обычными пробелами во время чтения. Выберите пункт главного меню "Настройки | Общие настройки", в открывшемся окне перейдите на закладку "Чтение" и поставьте "галочку" в пункте "Игнорировать символы во время чтения". Добавьте неразрывный пробел в список игнорируемых символов: нажмите клавишу ALT и напечатайте "0160" на цифровом блоке клавиатуры. Можно указать и другие символы, которые голоса произносят вслух ("кавычки""тире" и т.д.).
 

Работа с программой

Открываю в программе файл в формате DjVu, но текст отсутствует. В чем дело?
Формат DjVu был разработан для хранения сканированных документов; в DjVu-файлах в сжатом виде хранятся графические изображения страниц книг, журналов и т.д. Также, формат DjVu предусматривает наличие текстового (OCR) слоя, который содержит текст со страницы. Файлы с текстовым слоем иногда обозначают как DjVu+OCR.

Программа "Балаболка" умеет извлекать данные лишь из текстового слоя. В случае, если текстовый слой недоступен, единственный метод получения текста - это выполнение оптического распознавания, например, в FineReader.
 
Открываю в программе электронную книгу, но текст в окне "Балаболки" отсутствует. В чем дело?
Этому может быть несколько объяснений. Во-первых, файл может представлять собой набор отсканированных изображений страниц бумажной книги. Во-вторых, электронная книга может иметь защиту DRM. Программа "Балаболка" не имеет возможности извлечь текст из книги с такой защитой (это было бы незаконно).
 
Мне требуется удалить из текста тире, стоящие в начале строки. Как это сделать?
Воспользуйтесь пунктом главного меню "Правка | Заменить". В строке "Найти" напишите ^p—, в строке "Заменить на" укажите ^p. Программа позволяет использовать в окнах "Найти" и "Заменить" большинство из специальных кодов, которые применяются в Microsoft Word:

^p
знак абзаца
^t
знак табуляции
^nnn
знак ASCII (где nnn - код знака)
^0nnn
знак ANSI (где 0 - это ноль, а nnn - код знака)
^Unnnnn
знак в кодировке Юникод (где nnnnn - код знака)
^+
длинное тире ( — )
^=
короткое тире ( – )
^^
знак крышки
^s
неразрывный пробел
^?
любой знак (только в поле "Найти")
^#
любая цифра (только в поле "Найти")
^$
любая буква (только в поле "Найти")
^c
содержимое буфера обмена Windows (только в поле "Заменить на")
^&
содержимое поля "Найти" (только в поле "Заменить на")
 
Можно ли использовать регулярные выражения для пунктов главного меню "Найти" и "Заменить"?
Да, это возможно. Если в поле "Что" в начале строки указать %rex%, программа будет обрабатывать остальной текст в этом поле как регулярное выражение. Например, чтобы в документе поменять местами рядом стоящие цифры, необходимо выбрать пункт главного меню "Правка | Заменить", затем в поле "Что" написать %rex%(\d)(\d), в поле "Чем" написать $2$1 и выполнить замену. При использовании регулярных выражений опция "Только слово целиком" не применяется; используется лишь опция "С учетом регистра".
 
Меня не удовлетворяет, как программа "Балаболка" извлекает текст из файлов формата PDF. Могу я использовать другой способ для обработки файлов PDF?
Процесс извлечения текста из файлов формата PDF достаточно сложен, так как файл PDF не содержит обычный текст. Вы можете использовать для извлечения текста внешнюю программу, поддерживающую передачу параметров в командной строке. Например, утилиту pdftotext.exe из состава проекта Xpdf. Скопируйте pdftotext.exe в подкаталог "utils" в папке программы "Балаболка", выберите пункт главного меню "Настройки | Импорт текста", закладку "Внешние программы для импорта текста", и нажмите кнопку "Добавить". Задайте команду для использования pdftotext.exe:

%BFolder%\utils\pdftotext.exe -q -nopgbrk -enc UTF-8 %Input% %Output%

Введите имя для данного формата (например, "Xpdf Converter"), расширение файла ("PDF") и кодировку текста ("UTF-8"). После того, как будет выбран пункт Использовать вместо метода извлечения текста по умолчанию для данного формата файлов, программа сможет использовать внешнюю утилиту для извлечения текста из файлов формата PDF.
 

Звуковые файлы

Как сохранять речь в виде звуковых файлов формата FLAC?
Программа позволяет использовать разные кодеки для создания звуковых файлов. Необходимо указать командную строку для вызова внешней программы; например, можно использовать утилиту FLAC.EXE, созданную некоммерческой организацией Xiph.Org Foundation. В программе"Балаболка" выберите пункт главного меню "Настройки | Аудиофайлы", закладку "Другие кодеки". Нажмите кнопку "Добавить" и укажите значения для параметров: название (например, "Аудиофайлы FLAC"), расширение файла (FLAC) и командную строку.

C:\Utils\flac.exe %Input% -o %Output%

Переменная %Input% обозначает имя входного файла с расширением WAV (файл формата RIFF WAVE), переменная %Output% - имя звукового файла в формате FLAC. Файл FLAC.EXE можно скопировать в ту же папку, где находится "Балаболка"; переменная %BFolder% обозначает путь к этой папке.
 
Как сделать так, чтобы каждая строка текстового файла записывалась в отдельный аудиофайл?
Могу предложить такой способ. Добавьте в текстовый файл по две пустых строки после каждой строки: выберите пункт главного меню "Правка | Заменить", в поле "Найти" напишите ^p, в поле "Заменить на" напишите ^p^p^p, нажмите кнопку "Заменить все". Сохраните текстовый файл.

Выберите пункт главного меню "Файл | Сохранить как несколько аудиофайлов". В появившемся диалоговом окне выберите способ деления текста: Искать две пустые строки подряд. Всё, можно начинать запись аудиофайлов.
 
Можно ли сделать так, чтобы при преобразовании документа в несколько звуковых файлов в качестве имени файла использовалась первая строка текста (например, "01 Глава первая.mp3", "02 Глава вторая.mp3")?
В окне "Разделить текст на части и преобразовать в аудиофайлы" в поле "Шаблон для имени файла" вставьте переменную %FirstLine%. При делении текста программа заменит переменную на содержимое первой строки каждой части текста. Для того, чтобы вставить порядковый номер файла внутрь имени, используйте переменную %Number%.
 
Могу ли я использовать в видео на YouTube звуковые файлы, созданные в программе"Балаболка"?
"Балаболка" является бесплатным программным продуктом, поэтому пользователь может использовать звуковые файлы, созданные приложением, по своему усмотрению. Но если применяется коммерческая версия компьютерного голоса, необходимо связаться с разработчиками этого голоса и приобрести специальную лицензию для его коммерческого использования. Такая лицензия позволит легально осуществлять распространение аудиоматериалов.

Фирмы, выпускающие компьютерные голоса, предоставляют два вида лицензий:
  • для индивидуального использования (for personal use);
  • для коммерческого использования и распространения аудиоматериалов
    (for commercial use/audio broadcast).
Если пользователь намерен использовать синтез речи в видео на YouTube или собирается включить звуковые файлы, созданные в программе "Балаболка", в состав своего программного продукта, необходимо приобрести у фирмы-изготовителя голоса соответствующую лицензию.

Например, вот что написано по этому поводу на сайте компании Cepstral"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."
 

Субтитры

Преобразую субтитры в звуковые файлы, используя голос Nicolai. В созданном аудиофайле весь текст произносится без пауз между репликами. В чем проблема?
Старые версии голосов могут неправильно обрабатывать теги SAPI 5, применяемые для преобразования субтитров. Рекомендуется использовать новые компьютерные голоса (такие как "Alyona", "Tatyana" или "Milena").
 

Дополнительные возможности

Что представляет собой "чтение по методу Spritz"?
Это технология скорочтения, разработанная американской компанией Spritz. Суть метода состоит в разбиении текста на отдельные слова и их последовательном показе с цветовым выделением точки оптимального распознавания. Это позволяет достичь скорости чтения до 1000 слов в минуту без специальных тренировок. Основной принцип технологии заключается в том, что значительное количество времени теряется на перемещении взгляда от одного слова к другому. Показывая пользователю заменяющие друг друга слова на одном и том же месте, технология Spritzдобивается эффекта, когда движение глаз сводится почти к нулю. Остается лишь вопрос в скорости, с которой мозг человека способен обрабатывать прочитанные слова и связывать их между собой.
 
Что такое интерфейс IFilter?
Интерфейс IFilter - набор классов для извлечения текста из документов; фильтр IFilter реализован в виде плагина. Такие плагины используются для систем полнотекстового поиска. Некоторые фильтры устанавливаются автоматически с различными приложениями; другие плагины пользователь должен скачать и установить самостоятельно. Несколько бесплатных фильтров можно найти на сайте IFilter.org. Программа "Балаболка" является 32-битным приложением, поэтому необходимо установить 32-битные версии плагинов.
 
Можно ли в Вашей программе создать видеофайл, в котором аудиофайл с записанной речью стал бы звуковой дорожкой, а видеодорожка представляла собой текст, синхронизированный с речью?
Нет, в "Балаболке" такая функция отсутствует. Для этого пришлось бы добавить в программу возможности видеоредактора; также, потребуется установка кодека для сжатия видео (Xvid, DivX, x264 или другого). Есть более простой способ получить то, что необходимо.

Можно для каждого звукового файла создать файл в формате SRT (файл субтитров) или файл в формате LRC (файл текста с метками синхронизации с аудиофайлом). Для этого необходимо изменить настройки создания звуковых файлов при помощи пункта главного меню "Настройки | Аудиофайлы" (вкладка "LRC, SRT"). Звуковой файл можно вопроизвести несколькими способами:
  • в программе-видеоплеере, используя файл формата SRT (например, The KMPlayer или VLC Media Player);
  • в аудиоплеере, используя файл формата LRC (например, Foobar2000 с плагином Lyric Show Panel 3);
  • в программе для караоке, используя файл формата LRC (например, KaraFun Player).
 
Было бы замечательно, если в приложении появилась возможность создания каталога книг, а также возможность открыть в "Балаболке" книгу, выбранную из каталога (аналогично тому, как это сделано в программах-каталогизаторах). Можно ли реализовать это?
У меня нет планов создания утилиты или модуля, осуществляющего каталогизацию электронных книг на компьютере пользователя. Уже существуют хорошие бесплатные программы, выполняющие данную функцию; почти все они позволяют использовать внешнюю программу для чтения текстовых файлов. Так что, нет никаких проблем для пользователя: можно хранить каталог книг в одной программе, а для просмотра текста и чтения вслух использовать другую программу.
 
Собираетесь ли добавить в программу возможность создания аудиокниг в формате DAISY?
Пока поддержка DAISY не планируется; этому есть несколько причин. У формата DAISY довольно сложная структура, которая еще не до конца устоялась. Также, меня настораживает, что среди специалистов существуют разные точки зрения на данный формат: Статья "за" и Статья "против"

Основной же проблемой является то, что программа "Балаболка" не умеет создавать многоуровневые оглавления для текстовых файлов. Без такого инструмента теряется основное преимущество формата DAISY (это гибкая навигация по тексту). Как вариант, можно создавать оглавления при помощи именованных закладок; но это не сравнить с возможностями создания оглавлений, когда, например, файлы формата DAISY генерируются при помощи плагинов в Microsoft Word или OpenOffice.org.

Посмотрим, что произойдет с форматом DAISY в будущем. Если пользователи задают вопрос об этом формате, значит, есть повод внимательно следить за развитием ситуации.