﻿Балаболка (консольное приложение), версия 1.87
Copyright (с) 2013-2025 Илья Морозов
Все права защищены

WWW: https://www.cross-plus-a.com/ru/bconsole.html
E-mail: crossa@list.ru

Тип лицензии: Freeware
Операционная система: Microsoft Windows XP/Vista/7/8/10/11
Microsoft Speech API: версия 4.0/5.0 и выше
Microsoft Speech Platform: версия 11.0



*** Командная строка ***

balcon [параметры ...]


*** Параметры командной строки ***

-l
   Показать список голосов, установленных на компьютере.

-g
   Показать список доступных аудиоустройств.

-f <имя_файла>
   Открыть текстовый файл. Командная строка может содержать несколько параметров [-f].
   Если входной файл является субтитрами, содержимое файла будет преобразовано в речь с учётом информации об интервалах времени. Формат субтитров будет определён по расширению имени входного файла или с помощью параметра [--sub-format].

-fl <имя_файла>
   Открыть файл со списком текстовых файлов (по одному имени файла на каждой строке). Командная строка может содержать несколько параметров [-fl].

-w <имя_файла>
   Записать звуковой файл в формате WAV. Если параметр задан, звуковой файл будет создан. Если параметр не задан, текст будет прочитан вслух.

-n <имя_голоса>
   Выбрать голос (достаточно указать часть его имени). Если параметр не задан, будет использоваться голос, заданный при помощи параметра [-id],
   или голос, выбранный в панели управления Windows.

-id <число>
   Выбрать голос при помощи идентификатора языка (Language ID). Такие идентификаторы присвоены языкам разработчиками из Microsoft
   (например, "1049" или "0x0419" для русского языка, "1058" или "0x0422" для украинского). Программа выберет из списка первый голос, идентификатора языка которого совпадает с заданным значением.
   Если параметр не задан, будет использоваться голос, заданный при помощи параметра [-n], или голос, выбранный в панели управления Windows.
   Список идентификаторов для языков: https://msdn.microsoft.com/en-us/library/cc233982.aspx

-m
   Показать характеристики выбранного голоса.

-b <число>
   Выбрать аудиоустройство по его номеру в списке доступных устройств для воспроизведения звука. Номер устройства, используемого по умолчанию, равен 0.

-r <текст>
   Выбрать аудиоустройство по его названию.

-c
   Использовать текст из буфера обмена.

-t <текст>
   Использовать текст из командной строки. Командная строка может содержать несколько параметров [-t].

-i
   Использовать текст из стандартного потока ввода (STDIN).

-o
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: записать аудиоданные в стандартный поток вывода (STDOUT); если параметр задан, параметр [-w] игнорируется.

-s <число>
   SAPI 4: установить скорость речи в диапазоне от 0 до 100 (значение по умолчанию отсутствует).
   SAPI 5 и Microsoft Speech Platform: установить скорость речи в диапазоне от -10 до 10 (по умолчанию значение равно 0).

-p <число>
   SAPI 4: установить высоту звука в диапазоне от 0 до 100 (значение по умолчанию отсутствует).
   SAPI 5 и Microsoft Speech Platform: установить высоту звука в диапазоне от -10 до 10 (по умолчанию значение равно 0).

-v <число>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: установить громкость в диапазоне от 0 до 100 (по умолчанию значение равно 100).

-e <число>
   Установить длину пауз между предложениями (в миллисекундах). По умолчанию значение равно 0.

-a <число>
   Установить длину пауз между абзацами (в миллисекундах). По умолчанию значение равно 0.

-d <имя_файла>
   Применить к тексту правила для коррекции произношения из словаря (файла с расширением *.BXD, *.DIC или *.REX). Командная строка может содержать несколько параметров [-d].
   Пользователь может редактировать словарь в приложении "Балаболка".

-k
   Остановить работу других экземпляров консольного приложения, запущенных на компьютере.

-ka
   Остановить работу экземпляра консольного приложения, активного в данный момент.

-pr
   Поставить на паузу или возобновить чтение вслух для экземпляра консольного приложения, активного в данный момент. Действие аналогично выбору пункта контекстного меню "Пауза"/"Продолжить".

-q
   Добавить приложение в очередь. Консольное приложение будет ждать, пока остальные экземпляры программы не завершат работу.

-lrc
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: создать файл формата LRC, если заданы параметры [-w] или [-o].

-srt
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: создать файл формата SRT, если заданы параметры [-w] или [-o].

-vs <file_name>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: создать текстовый файл с виземами, если задан параметр [-w].
   Визема - форма губ, соответствующая определённому звуку речи. SAPI поддерживает список из 21 виземы.
   Этот список основан на рисунках форм губ персонажей из фильмов компании "Disney". 
   Консольное приложение создаст звуковой файл, а затем воспроизведет его для того, чтобы получить виземы с привязкой по времени.
   Список визем, используемых SAPI 5: https://msdn.microsoft.com/en-us/library/ms720881(v=vs.85).aspx

-sub
   Текст представляет собой субтитры и должен быть преобразован в звуковой файл с учетом заданных интервалов времени.
   Параметр может быть полезен в тех случаях, когда в командной строке заданы параметры [-i] или [-c].

-tray
   Показать иконку программы в области уведомлений операционной системы.
   Это позволит пользователю следить за прогрессом выполнения операции, а также прервать процесс при помощи пункта контекстного меню "Стоп".

-ln <число>
   Выбрать строку из текстового файла, используя её номер. Нумерация строк начинается с "1".
   Для выбора нескольких строк можно указать номера начальной и конечной строк в тексте (например, "26-34").
   Командная строка может содержать несколько параметров [-ln].

-fr <число>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: установить частоту дискретизации для аудиопотока, в кГц (8, 11, 12, 16, 22, 24, 32, 44, 48).
   Если параметр не задан, используется значение по умолчанию для выбранного голоса.

-bt <число>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: установить разрядность для аудиопотока, в битах (8 или 16).
   Если параметр не задан, используется значение по умолчанию для выбранного голоса.

-ch <число>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: установить режим для аудиопотока, моно или стерео (1 или 2).
   Если параметр не задан, используется значение по умолчанию для выбранного голоса.

-dp
   Показать индикатор прогресса выполнения в окне консольного приложения.

-cfg <имя_файла>
   Задать имя файла конфигурации с параметрами командной строки (текстовый файл, каждая строка которого содержит по одному параметру). Если параметр не задан, будет выбран файл "balcon.cfg" в той же папке, что и консольное приложение.

-h
   Показать описание параметров командной строки.

--encoding <кодировка> или -enc <кодировка>
   Кодировка входного текста ("ansi", "utf8" или "unicode"). Если параметр не задан, программа автоматически определит кодировку текста.

--silence-begin <число> или -sb <число>
   Установить длину паузы в начале звукового файла (в миллисекундах). По умолчанию значение равно 0.

--silence-end <число> или -se <число>
   Установить длину паузы в конце звукового файла (в миллисекундах). По умолчанию значение равно 0.

--lrc-length <число>
   Установить максимальную длину строк для файла формата LRC (в символах).

--lrc-fname <имя_файла>
   Имя файла формата LRC, который будет создан. Параметр может быть полезен в тех случаях, когда в командной строке задан параметр [-o].

--lrc-enc <кодировка>
   Кодировка файла формата LRC ("ansi", "utf8" или "unicode"). По умолчанию значение равно "ansi".

--lrc-offset <число>
   Задать сдвиг времени для файла формата LRC (в миллисекундах).

--lrc-artist <текст>
   Тег для файла формата LRC: исполнитель произведения.

--lrc-album <текст>
   Тег для файла формата LRC: альбом.

--lrc-title <текст>
   Тег для файла формата LRC: название произведения.

--lrc-author <текст>
   Тег для файла формата LRC: автор.

--lrc-creator <текст>
   Тег для файла формата LRC: создатель файла.

--lrc-sent
   Вставить пустые строки после предложений при создании файла формата LRC.

--lrc-para
   Вставить пустые строки после абзацев при создании файла формата LRC.

--srt-length <число>
   Установить максимальную длину строк для файла формата SRT (в символах).

--srt-fname <имя_файла>
   Имя файла формата SRT, который будет создан. Параметр может быть полезен в тех случаях, когда в командной строке задан параметр [-o].

--srt-enc <кодировка>
   Кодировка файла формата SRT ("ansi", "utf8" или "unicode"). По умолчанию значение равно "ansi".

--raw
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: записать аудиоданные в формате RAW PCM; данные не содержат заголовок формата WAV. Параметр используется совместно с параметром [-o].

--ignore-length или -il
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: не записывать размер аудиоданных в заголовок формата WAV. Параметр используется совместно с параметром [-o].

--sub-format <текст>
   Формат субтитров ("srt", "lrc", "ssa", "ass", "smi" или "vtt"), которые необходимо преобразовать в речь. Если параметр не задан, формат будет определён по расширению имени входного файла субтитров.

--sub-fit или -sf
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: при преобразовании субтитров в речь автоматически увеличивать скорость речи. Программа постепенно увеличивает значение скорости, проверяя, укладывается фраза в заданный интервал времени или нет.

--sub-fit-lib или -sfl
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: при преобразовании субтитров в речь автоматически увеличивать скорость речи для того, чтобы уложиться в заданные интервалы времени. Используется библиотека SoundTouch, которая умеет ускорять воспроизведение аудиоданных.

--sub-max <число> или -sm <число>
   SAPI 4: параметр не используется.
   SAPI 5 и Microsoft Speech Platform: установить максимальную скорость речи в диапазоне от -10 до 10 (для преобразования субтитров в звуковой файл). Если используется библиотека SoundTouch, значение должно быть в диапазоне от 110% до 200%.

--delete-file или -df
   Удалить текстовый файл после завершения чтения вслух или сохранения звукового файла. Параметр используется совместно с параметром [-f].

--ignore-square-brackets или -isb
   Игнорировать текст в [квадратных скобках].

--ignore-curly-brackets или -icb
   Игнорировать текст в {фигурных скобках}.

--ignore-angle-brackets или -iab
   Игнорировать текст в <угловых скобках>.

--ignore-round-brackets или -irb
   Игнорировать текст в (круглых скобках).

--ignore-url или -iu
   Игнорировать URL-адреса внутри текста.

--ignore-comments или -ic
   Игнорировать комментарии в тексте. Однострочные комментарии начинаются с // и продолжаются до конца строки. Многострочные комментарии начинаются с /* и завершаются */.

--voice1-name <имя_голоса>
   SAPI 4: параметр не используется.
   SAPI 5 and Microsoft Speech Platform: выбрать дополнительный голос, предназначенный для чтения иностранных слов внутри текста (достаточно указать часть имени голоса).
   Параметр используется совместно с параметром [--voice1-langid]. Можно выбрать несколько голосов для разных языков с помощью параметров [--voice2-name], [--voice3-name] и т.д.

--voice1-langid <идентификатор_языка>
   Выбрать идентификатор языка для поиска иностранных слов внутри текста. Программа найдет в тексте буквы заданного языка и добавит теги смены голоса для чтения этих символов.
   Параметр используется совместно с параметром [--voice1-name]. Командная строка может содержать несколько параметров [--voice1-langid]. Можно перечислить несколько идентификаторов через запятую внутри одного параметра (например: "fi,sv").
   Список идентификаторов языков, поддерживаемых программой (используются коды для обозначения названий языков из стандарта ISO 639-1): 
   am, ar, az, ba, bg, be, ca, cs, cu, cv, da, de, el, en, es, et, eu, fi, fil, fr, ja, he, hi, hr, hu, hy, it, gn, gu, ka, kk-Cyr, kk-Lat, kn, ko, ky, lo, lt, lv, mk, no, pl, pt, ro, ru, sk, sl, sr-Cyr, sr-Lat, sv, tg, th, tk, tr, tt, uk, zh.

--voice1-rate <число>
   Установить скорость речи для дополнительного голоса в диапазоне от -10 до 10 (по умолчанию значение равно 0).

--voice1-pitch <число>
   Установить высоту звука для дополнительного голоса в диапазоне от -10 до 10 (по умолчанию значение равно 0).

--voice1-volume <число>
   Установить громкость для дополнительного голоса в диапазоне от 0 до 100 (по умолчанию значение равно 100).

--voice1-roman
   Использовать основной голос для чтения римских чисел. Если для чтения латинских букв задан дополнительный голос, программа не будет менять голос при чтении римских чисел. Например: XVIII век, Екатерина II.

--voice1-digit
   Использовать основной голос для чтения чисел, состоящих из арабских цифр. Если параметр не задан, цифры будут прочитаны дополнительным голосом, если они стоят рядом с иностранными словами.

--voice1-length <число>
   Установить минимальную длину иностранного текста, для чтения которого программа будет использовать дополнительный голос (в символах).


*** Примеры ***

Создать текстовый файл со списком голосов, установленных на компьютере:

balcon -l > voice.txt


Показать характеристики голоса Microsoft Anna:

balcon -n "Microsoft Anna" -m


Преобразовать текстовый файл BOOK.TXT в звуковой файл BOOK.WAV:

balcon -f "d:\Text\book.txt" -w "d:\Sound\book.wav" -n Emma


Получить текст из буфера обмена, применить правила из словарей коррекции произношения и прочесть вслух:

balcon -n Olga -c -d "d:\rex\rules.rex" -d "d:\dic\rules.dic"


Прочесть текст из командной строки с заданными скоростью и громкостью:

balcon -n Alyona -t "Текст будет прочитан медленно." -s -5 -v 70


Остановить работу других экземпляров консольного приложения:

balcon -k


Преобразовать текст из стандартного потока ввода в звуковой файл BOOK.WAV и создать файл BOOK.LRC:

balcon -w "d:\book.wav" -i -lrc --lrc-length 80 --lrc-title "The Lord of the Rings"


Прочесть вслух английские, русские и белорусские предложения разными голосами:

balcon -f "d:\Text\book.txt" -n Kimberly --voice1-name Tatyana --voice1-langid ru,be


Преобразовать субтитры в звуковой файл FILM.WAV:

balcon -f "d:\Text\film.srt" -w "d:\Sound\film.wav" -n Laura --sub-fit --sub-max 2


Пример использования приложения совместно с утилитой LAME.EXE:

balcon -f d:\book.txt -n Alyona -o --raw | lame -r -s 22.05 -m m -h - d:\book.mp3


Пример использования приложения совместно с утилитой OGGENC2.EXE:

balcon -f d:\book.txt -n Alyona -o -il | oggenc2 --ignorelength - -o d:\book.ogg


Пример использования приложения совместно с утилитой WMAENCODE.EXE:

balcon -f d:\book.txt -n Alyona -o -il | wmaencode - d:\book.wma --ignorelength


*** Файл конфигурации ***

Параметры можно сохранить как файл конфигурации "balcon.cfg" в той же папке, что и консольное приложение.

Пример содержимого файла:
===================
-f d:\Text\book.txt
-w d:\Sound\book.wav
-n Microsoft Anna
-s 2
-p -1
-v 95
-e 300
-d d:\Dict\rules.bxd
-lrc
--lrc-length 75
--lrc-enc utf8
--lrc-offset 300
===================

Программа может комбинировать параметры из файла конфигурации и командной строки.


*** Аудиоклипы ***

Программа позволяет вставлять ссылки на внешние звуковые файлы форматов WAV и MP3 (аудиоклипы) в текст. Тег вставки аудиоклипа будет выглядеть так:

{{Audio=C:\Sounds\ring.wav}}

Во время чтения вслух, когда в тексте встретится ссылка на аудиоклип, программа будет приостанавливать речь, воспроизводить аудиоклип, а затем продолжать чтение.
При записи речи в файл программа вставит аудиоданные из внешнего звукового файла внутрь нового файла.


*** Тег Voice ***

Если необходимо изменить голос или его атрибуты, специальный тег может быть использован для SAPI 5 и Microsoft Speech Platform (голоса SAPI 4 будут игнорировать этот тег).

Формат тега:

{{Voice=Название;Скорость;Высота;Громкость}}

- Название: название голоса (достаточно одного слова или даже части слова);
- Скорость: скорость чтения (значение должно находиться между -10 и 10);
- Высота: высота звука (значение должно находиться между -10 и 10);
- Громкость: громкость речи (значение должно находиться между 0 и 100).

Область действия тега распространяется на весь последующий текст. Значения атрибутов внутри тега разделены точкой с запятой. Например:

Программа прочитает этот текст основным голосом. {{Voice=Alyona;0;0;100}} Голос 'Алёна' прочитает остальной текст.

Содержимое тега не зависит от регистра букв. Значения некоторых атрибутов могут быть пропущены:

{{voice=yuri;;;50}}

{{Voice=Hans;-1}}

{{Voice=Aleksandr}}

Чтобы вернуться к основному голосу, выбранному в программе, используйте этот тег:

{{Voice=}}

Внимание! При помощи тегов невозможно переключиться между голосами SAPI 5 и голосами Microsoft Speech Platform.


*** Тег Pause ***

Когда программа преобразует текст в речь, с помощью тега можно вставить паузу. Длительность паузы должна быть указана в миллисекундах.

Тишина продлится две секунды. {{Pause=2000}} Затем чтение возобновится.


*** Лицензия ***

Коммерческое использование программы допускается только с разрешения правообладателя.

Запрещается использование программного продукта на компьютерах, принадлежащих органам государственной власти и органам местного самоуправления Российской Федерации, законодательным и судебным органам Российской Федерации, структурным подразделениям российских политических партий. Запрещается использование программного продукта на компьютерах, принадлежащих правоохранительным органам и федеральным службам Российской Федерации, Вооружённым силам Российской Федерации. Запрещается использование программы религиозными объединениями и организациями в Российской Федерации. Запрещается использование программного продукта внутри зданий, сооружений и помещений объектов религиозного назначения, а также внутри зданий, предназначенных для обучения религии. Запрещается использование программы в суворовских военных училищах, нахимовских военно-морских училищах, кадетских корпусах, кадетских классах образовательных учреждений. Запрещается использование программного продукта на компьютерах, принадлежащих "Всероссийскому ордена Трудового Красного Знамени обществу слепых", "Общероссийскому народному фронту", российскому движению детей и молодёжи "Движение первых" и всероссийскому молодёжному военно-патриотическому общественному движению "Юнармия". Запрещается использование программного продукта Общественной палатой РФ и региональными общественными палатами. Запрещается применение программного продукта российскими средствами массовой информации и коммуникации. Запрещается использование программы на компьютерах, находящихся в личном пользовании членов и сотрудников вышеперечисленных организаций, а также членов их семей. Запрещается использование программного продукта на территории Государства Эритрия, Исламской Республики Иран, Корейской Народно-Демократической Республики, Республики Беларусь, Республики Куба, Республики Никарагуа, Сирийской Арабской Республики, Чеченской Республики, а также на территории полуострова Крым.

###