Новости
Помощь сайту
Если Вам понравилась программа "Балаболка", Вы можете поддержать ее автора с помощью ЮMoney.
|
Синтез речи
|
Что такое 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. |
|
|
Существует ли ограничение на размер текста для синтеза речи? |
|
Максимальный объем текста, который может быть преобразован в речь, ограничен особенностями формата WAV для звуковых файлов: программа Балаболка конвертирует текст во временный файл формата WAV, затем преобразует в аудиофайл нужного формата. Размер файла формата WAV ограничен 4 Гб. Длительность звучания аудиофайла зависит от частоты дискретизации, количества каналов и глубины кодирования звука. Рекомендуется разделить большой текст на части (например, разбить книгу на главы), затем преобразовать части текста в набор звуковых файлов. |
|
Компьютерные голоса
|
Установил программу "Балаболка", но она читает только по-английски. Как заставить ее читать вслух по-русски? |
|
"Балаболка" использует компьютерные голоса, установленные на компьютере пользователя. Компьютерный голос (его еще называют "синтезатор речи") – это отдельный программный продукт (бесплатный или платный). Существует множество различных компьютерных голосов, в том числе и русских. Ссылки на некоторые бесплатные голоса есть на сайте программы "Балаболка". Найти информацию о русских синтезаторах речи можно также здесь. |
|
|
Как узнать, какие именно голоса установлены на моем компьютере? |
|
Список установленных голосов можно посмотреть здесь: Control Panel (Панель управления)
=>
Speech (Речь)
=>
Speech Properties (Свойства речи)
=>
Text To Speech (Преобразование текста в речь)
=>
Voice selection (Выбор голоса). |
|
|
В программе "Балаболка" список голосов пуст. В чем проблема? |
|
Причины могут быть разными; наиболее вероятная: один из установленных на компьютере голосов работает с ошибкой. Например, популярная в России "пиратская" версия 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, и голос можно будет использовать в программе "Балаболка".
Файлы для других языков можно скачать отсюда. Также, можно воспользоваться утилитой SAPI Unifier для выполнение этой операции: все установленные на компьютере голоса ("Mobile" или, как их еще называют, "OneCore") будут добавлены в список голосов SAPI 5. |
|
|
В операционной системе Windows 11 появились более естественные (natural) голоса, например, "Microsoft Jenny" и "Microsoft Aria". Как получить к ним доступ при помощи SAPI 5? |
|
Эту проблему может исправить утилита NaturalVoiceSAPIAdapter. Она добавит новые синтезаторы речи в список голосов SAPI 5; также в этот список будут добавлены голоса, доступные в браузере Microsoft Edge. Более подробную информацию можно узнать здесь. Так как программа "Балаболка" является 32-битной программой, надо установить 32-битную и 64-битную версии утилиты (раздел "Installation Status"). Загрузить свежую версию утилиты можно отсюда. |
|
|
У меня 64-битная версия Windows. Установил 64-битный модуль Runtime для Microsoft Speech Platform, а также русский голос Elena. Но в списке доступных голосов в программе "Балаболка" пусто. В чем дело? |
|
Программа "Балаболка" является 32-битным приложением. Поэтому необходимо установить 32-битный модуль Runtime для Microsoft Speech Platform. |
|
|
На моем компьютере установлена операционная система Windows 11 24H2. В "Балаболке" нажимаю кнопку "Прочитать вслух": программа читает первые два слова в тексте и вылетает. Почему это происходит? |
|
Вот что известно о проблеме, которая появляется после установки обновления 24H2 для Windows 11: если монитор пользователя содержит колонки, если графическая карта и монитор соединены кабелем, по которому передается звук, – это приводит к нестабильной работе программы "Балаболка", она периодически вылетает, и в журнале событий причиной вылета указана системная библиотека MMDevApi.dll. Но если подключить колонки или наушники к аудиоразъему на материнской плате этого же компьютера, то программа "Балаболка" работает стабильно.
Проблема возникает в 32-битных приложениях, использующих интерфейс IMMNotificationClient. Пока разработчики Microsoft не исправят проблему, ситуация обстоит так: если вы установили обновление 24H2 для Windows 11 и программа для чтения вслух начала вылетать, подключите ваше выходное аудиоустройство к другому порту компьютера. Я писал об этой ситуации в службу поддержки Microsoft, но они проигнорировали мои сообщения. Нам всем придется ждать, пока разработчики Microsoft решат проблему.
Пользователь из Японии нашел еще одно временное решение проблемы: сначала надо запустить Windows Media Player Legacy (нажмите кнопку "Пуск" и введите это название в строку поиска), открыть в плеере любой звуковой файл, начать его воспроизведение и сразу поставить на паузу; затем запустить "Балаболку". После этого программа будет работать стабильно (пока открыто окно медиаплеера). "Windows Media Player Legacy" - это 32-битное приложение, как и "Балаболка". Метод будет работать и с любым другим 32-битным аудиоплеером. |
|
|
Что такое Google Text-To-Speech? |
|
При использовании сервиса перевода на сайте Google, рядом с переведенным текстом есть кнопка "Listen" ("Слушать"). При ее нажатии браузер скачивает с сайта Google звуковой файл в формате MP3 с озвученным переводом. Доступен синтез речи для более чем 30 языков. Сервис предоставляет возможность озвучивать тексты длиной не более 100 символов. Программа "Балаболка" позволяет обойти это ограничение: большие тексты делятся на мелкие части, для каждой части текста скачивается звуковой файл, и все файлы объединяются в один аудиофайл. |
|
|
Как изменить ударение в словах для голосов RHVoice? |
|
Изменение ударения поддерживается только для русских и украинских голосов RHVoice. Для этого можно использовать специальный символ, заданный в файле конфигурации. Например, символ "плюс":
stress_marker=+
Файл конфигурации находится здесь: %APPDATA%\RHVoice\RHVoice.ini, в кодировке UTF-8. После внесения изменений в файл конфигурации необходимо перезапустить программу "Балаболка". В тексте символ стоит перед гласной, которая должна получить ударение: навесной зам+ок. |
|
Теги 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 (только в поле "Заменить на")
- ^&
- содержимое поля "Найти" (только в поле "Заменить на")
|
|
|
Меня не удовлетворяет, как программа "Балаболка" извлекает текст из файлов формата 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." |
|
|
Создаю звуковые файлы с подкастами и закачиваю в специальный онлайн-сервис. Этот сервис позволяет хранить информацию о главах внутри подкаста (главы – контрольные точки с таймингами). Можно ли добавить главы внутрь аудиофайла с помощью "Балаболки"? |
|
Программа позволяет создавать звуковые файлы с главами; функция доступна для форматов MP3 и MPEG-4 (MP4, M4A). Добавьте в текст именованные закладки с помощью пункта главного меню "Закладка | Вставить именованную закладку"; это будут названия глав. Затем выберите пункт главного меню "Файл | Сохранить как несколько аудифайлов". Выберите способ деления текста: "Использовать именованные закладки". Поставьте "галочку" в пункте "Создать один файл аудиокниги с разбиением на части". Для имен файлов используйте настройку "Использовать произвольный шаблон" и укажите сам шаблон: %Header% (это означает, что имена закладок станут названиями глав). Нажмите кнопку "Разделить и преобразовать в аудиофайлы". Программа поделит текст на главы, преобразует каждую главу в отдельный звуковой файл и затем объединит в один аудиофайл. Отдельные звуковые файлы станут главами внутри созданного аудиофайла. |
|
Дополнительные возможности
|
Что представляет собой "чтение по методу Spritz"? |
|
Это технология скорочтения, разработанная американской компанией Spritz. Суть метода состоит в разбиении текста на отдельные слова и их последовательном показе с цветовым выделением точки оптимального распознавания. Это позволяет достичь скорости чтения до 1000 слов в минуту без специальных тренировок. Основной принцип технологии заключается в том, что значительное количество времени теряется на перемещении взгляда от одного слова к другому. Показывая пользователю заменяющие друг друга слова на одном и том же месте, технология Spritz добивается эффекта, когда движение глаз сводится почти к нулю. Остается лишь вопрос в скорости, с которой мозг человека способен обрабатывать прочитанные слова и связывать их между собой. |
|
|
Что такое интерфейс IFilter? |
|
Интерфейс IFilter - набор классов для извлечения текста из документов; фильтр IFilter реализован в виде плагина. Такие плагины используются для систем полнотекстового поиска. Некоторые фильтры устанавливаются автоматически с различными приложениями; другие плагины пользователь должен скачать и установить самостоятельно. Несколько бесплатных фильтров можно найти на сайте IFilter.org. Программа "Балаболка" является 32-битным приложением, поэтому необходимо установить 32-битные версии плагинов. |
|
|
Можно ли в Вашей программе создать видеофайл, в котором аудиофайл с записанной речью стал бы звуковой дорожкой, а видеодорожка представляла собой текст, синхронизированный с речью? |
|
Нет, в "Балаболке" такая функция отсутствует. Для этого пришлось бы добавить в программу возможности видеоредактора: включить в состав программы кодек для сжатия видео (Xvid, DivX, x264 или другой). Есть другие способы получить то, что необходимо.
Моя программа позволяет для каждого звукового файла создать файл в формате SRT (файл субтитров) или файл в формате LRC (файл текста с метками синхронизации с аудиофайлом). Для этого необходимо изменить настройки создания звуковых файлов при помощи пункта главного меню "Настройки | Аудиофайлы" (вкладка "LRC, SRT").
- Звуковой файл можно вопроизвести несколькими способами:
- Видеофайл можно получить с помощью утилиты FFmpeg. Это программа для создания видеофайлов и преобразования их из одного формата в другой. Скачайте пример командного файла для преобразования звукового файла INPUT.WAV и файла субтитров INPUT.SRT, созданных в "Балаболке", в видеофайл OUTPUT.MP4 с отрисованным текстом (файлы должны находиться в одной папке с программой FFMPEG.EXE). Это лишь базовый пример командной строки: в документации содержится подробная информация о параметрах утилиты FFmpeg.
|
|
|
Было бы замечательно, если в приложении появилась возможность создания каталога книг, а также возможность открыть в "Балаболке" книгу, выбранную из каталога (аналогично тому, как это сделано в программах-каталогизаторах). Можно ли реализовать это? |
|
У меня нет планов создания утилиты или модуля, осуществляющего каталогизацию электронных книг на компьютере пользователя.
Уже существуют хорошие бесплатные программы, выполняющие данную функцию (MyHomeLib, MyRuLib, Calibre и другие); почти все они позволяют использовать внешнюю программу для чтения текстовых файлов. Так что, нет никаких проблем для пользователя: можно хранить каталог книг в одной программе, а для просмотра текста и чтения вслух использовать другую программу. |
|
|
Собираетесь ли добавить в программу возможность создания аудиокниг в формате DAISY? |
|
Пока поддержка DAISY не планируется; этому есть несколько причин. У формата DAISY довольно сложная структура, которая еще не до конца устоялась.
Также, меня настораживает, что среди специалистов существуют разные точки зрения на данный формат:
Статья "за" и Статья "против"
Основной же проблемой является то, что программа "Балаболка" не умеет создавать многоуровневые оглавления для текстовых файлов.
Без такого инструмента теряется основное преимущество формата DAISY (это гибкая навигация по тексту). Как вариант, можно создавать оглавления при помощи именованных закладок;
но это не сравнить с возможностями создания оглавлений, когда, например, файлы формата DAISY генерируются при помощи плагинов в Microsoft Word или OpenOffice.org.
Посмотрим, что произойдет с форматом DAISY в будущем. Если пользователи задают вопросы об этом формате, значит, есть повод внимательно следить за развитием ситуации. |
|
|
Я дизайнер, занимаюсь 3D-анимацией. Мне требуется синхронизировать речь с движением губ нарисованного персонажа. Звуковой файл с речью создан при помощи компьютерного голоса. Как получить информацию о фазах движения рта, синхронизированных с речью? |
|
Синтезатор речи при чтении текста вслух возвращает информацию о виземах. Визема - это форма губ, соответствующая определенному звуку речи. SAPI 5 поддерживает список из 21 виземы. В консольном приложении "Балаболки" есть параметр командной строки, позволяющий создавать текстовый файл с виземами: приложение записывает звуковой файл, а затем воспроизводит его для того, чтобы получить виземы с привязкой по времени. Используя метки времени, можно синхронизировать губы нарисованного персонажа с речью из звукового файла. |
|
|
Как использовать программу "Балаболка" совместно с программой для изменения голоса в реальном времени (например, AV Voice Changer Diamond или Voxal Voice Changer)? |
|
Потребуется установка дополнительного программного обеспечения, "виртуального аудиокабеля": он называется так потому, что создает набор виртуальных звуковых устройств, которые можно соединять между собой виртуальным кабелем. Можно порекомендовать, например, Virtual Audio Cable или VB-Cable. После установки и настройки программного обеспечения, в Балаболке в окне "Выбор аудиоустройства" необходимо выбрать виртуальный аудиокабель, который соединит выход программы для чтения вслух со входом программы для изменения голоса. Таким образом, две звуковые программы будут соединены в цепочку так, что вторая программа получает звук непосредственно от первой программы. |
|