Страница 1 из 2

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 26 июн 2018 14:48
balabolka
Консольная версия не имеет графического интерфейса и выполняется в текстовом режиме. Режим работы программы может быть задан при помощи параметров командной строки или файла конфигурации. Консольное приложение представляет собой упрощенный вариант программы "Балаболка" и может быть использовано в других программных приложениях для автоматизации задач, связанных с синтезом речи.

Консольная версия поддерживает работу со стандартными потоками STDIN и STDOUT, поэтому можно использовать приложение в составе конвейера команд.

:download: Скачать консольное приложение (v1.78)


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

Программа может быть настроена с помощью параметров командной строки. Они отделяются от указания пути пробелом и начинаются с символа "-" (дефис). Полный список параметров командной строки можно получить, введя команду balcon.exe с параметрами -? или -h.

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

Параметры можно сохранить как файл конфигурации 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:\rex\rules.rex
-d d:\dic\rules.dic
Программа может комбинировать параметры из файла конфигурации и командной строки.



Для работы с онлайн-сервисами синтеза речи на сайте "Балаболки" доступны для скачивания еще две утилиты:

:download: Консольное приложение для онлайн-сервисов (v1.20)
Программа позволяет преобразовать текст или субтитры в звуковые файлы при помощи онлайн-сервисов синтеза речи: Google, Amazon, Baidu, Naver, Youdao.

:download: Консольное приложение для Yandex SpeechKit (v1.29)
Программа позволяет преобразовать текст или субтитры в звуковые файлы при помощи онлайн-сервиса "Яндекс.Облако". Для выполнения операций через API необходимо получить API-ключ в сервисном аккаунте.

Консольная версия "Балаболки"

Добавлено: 26 июн 2018 17:40
balabolka
Версия 1.47
  • Небольшие улучшения.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 15 окт 2018 23:10
balabolka
Версия 1.48
  • Исправлено применение правил для коррекции произношения.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 25 ноя 2018 16:44
balabolka
Версия 1.49
  • Файл с виземами содержит текст, поделенный на слова. Кодировка файла UTF-8.
Пример файла с виземами:

Код: Выделить всё

[00:00:00,000] 0
## Здравствуйте!
[00:00:00,549] 15
[00:00:00,613] 19
[00:00:00,676] 13
[00:00:00,734] 9
[00:00:00,830] 15
[00:00:00,911] 19
[00:00:00,950] 18
[00:00:00,978] 7
[00:00:01,005] 6
[00:00:01,039] 19
[00:00:01,138] 6
[00:00:01,258] 0
## Это
[00:00:01,932] 4
[00:00:01,982] 19
[00:00:02,090] 4
## Алёна.
[00:00:02,195] 14
[00:00:02,251] 4
[00:00:02,341] 19
[00:00:02,445] 4
[00:00:02,577] 0

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 08 дек 2018 23:43
balabolka
Версия 1.50
  • Добавлен параметр для игнорирования комментариев (однострочных и многострочных).
  • Параметры --deletefile и --ignorelength переименованы в --delete-file (-df) и --ignore-length (-il).

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 02 фев 2019 22:09
balabolka
Версия 1.51
  • Небольшие улучшения.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 23 фев 2019 22:00
balabolka
Версия 1.52
  • Добавлены параметры для игнорирования текста внутри скобок.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 31 мар 2019 15:21
Dimsok
Из почтового сообщения про stdin с tesseract:

> Balabolka не создаёт весь звуковой файл из djvu stdin.

А что с обычными текстовыми файлами, которые "Балаболка" получает из
STDIN? Текст обрабатывается полностью?

Текстовый файл, распознанный tesseract, Балаболкой преобразовывается в звуковой файл полностью. Наверное, тогда лучше реализовывать с помощью временного файла.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 31 мар 2019 18:46
balabolka
Dimsok
Насколько я помню, уже отвечал Вам на этот вопрос по электронной почте.

В программе данные из STDIN записываются в строку. Возможно, какие-то "мусорные" символы во входных данных, которые возникли при неправильном оптическом распознавании текста, привели к разрыву строки входного текста внутри моей программы.
Да, попробуйте использовать временный файл, чтобы проверить, в каком именно месте (на каком именно символе) входной текст обрывается. Какой-нибудь символ с кодом 0 или что-то вроде того.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 03 апр 2019 23:36
balabolka
Версия 1.53
  • Исправлено преобразование субтитров в звуковые файлы для файлов формата SMI.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 13 апр 2019 18:14
Bouquiniste
Как в Балаболке сделать так чтобы книга записывалась в отдельную папку с тем же названием что и блоки, ну кроме номеров понятно?
А то у меня записывает список блоков в указанную папку, но так сказать в "голом виде"?
Не очень мутно выразился?

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 13 апр 2019 22:08
balabolka
Bouquiniste
Не понял, о чем именно идет речь.

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

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 май 2019 21:03
balabolka
Версия 1.54
  • Исправлено сохранение звуковых файлов в тех случаях, когда выходное аудиоустройство отсутствует.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 май 2019 03:51
Dimsok
Можно как-то сделать сохранение прогресса с последующим возобновлением с нужной строки?

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 май 2019 11:50
balabolka
Dimsok писал(а):
22 май 2019 03:51
Можно как-то сделать сохранение прогресса с последующим возобновлением с нужной строки?
Не планирую добавлять такую функцию.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 02 июн 2019 18:11
balabolka
Версия 1.55
  • Исправлен пункт меню "Пауза/Продолжить".

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 16 июн 2019 19:19
balabolka
На сайте "Балаболки" доступны для скачивания две новые консольные утилиты.
  • Программа для онлайн-сервисов Google, Baidu, Bing, Youdao
  • Программа для Yandex SpeechKit
Утилиты позволяют преобразовать текст или субтитры в файлы формата WAV. Можно использовать словари с правилами коррекции произношения, можно вставлять в текст собственные теги "Балаболки".

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 июл 2019 14:53
lplee
Добрый день! Хочу записать книжки на Яндекс TTS, но нужна предварительная обработка:
1. Конвертация сносок/примечаний сразу в текст (если есть, формат книг Fb2)
2. Простановка Ё
3. Простановка ударений
[Возможно что-то еще]
4. Запись в mp3
Возможно ли сделать через вашу консоль все указанное выше пакетно, вплоть до записи в mp3? Отдельно, если я хочу передать на обработку и последующую запись пакет книг, например курс лекций?
Заранее спасибо за ответ.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 июл 2019 19:20
balabolka
lplee
То, что Вам нужно, можно реализовать с помощью нескольких утилит командной строки:
  • утилита для извлечения текста из файлов blb2txt.exe;
  • консольное приложение для Yandex SpeechKit balcon3.exe;
  • утилита для преобразования в формат MP3 lame.exe.
Первая утилита извлечет текст из документа (FB2 -> TXT), вторая утилита преобразует текст в аудиофайл формата WAVE (TXT -> WAV), третья программа конвертирует звуковой файл в формат MP3 (WAV -> MP3).

Для использования утилит можно создать командный файл с расширением *.BAT. Рекомендую создать каталог на жестком диске Вашего компьютера, поместить туда утилиты, создать там BAT-файл, который при запуске будет искать в этой папке текстовые файлы и преобразовывать их в звуковые файлы, сохраняя в другой папке. В будущем достаточно будет скопировать в каталог новые текстовые файлы, запустить BAT-файл, и всё.

Документацию по написанию BAT-файлов можно найти в сети. Например, вот описание того, как получить список всех текстовых файлов в папке. Шаг за шагом, от простого к сложному, можно создать достаточно эффективный командный скрипт.

Документация по использованию утилит "Балаболки" есть в файле README.TXT для каждой программы. Справка по LAME в формате HTML есть внутри архива с программой lame.exe.

Утилита blb2txt.exe вставляет сноски внутрь текста при извлечении данных из файлов FB2. Словарями я не занимаюсь, ищите/составляйте их самостоятельно. Подключить словарь к утилите можно с помощью параметра командной строки (словари будут применяться в том порядке, в котором они перечислены в командной строке).

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 июл 2019 19:43
lplee
balabolka писал(а):
12 июл 2019 19:20
То, что Вам нужно, можно реализовать с помощью нескольких утилит командной строки
Спасибо большое! Протестирую и обязательно отпишусь

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 17 авг 2019 21:52
balabolka
Версия 1.56
  • Небольшие улучшения.
Также, были переименованы утилиты balcon2.exe и balcon3.exe: пользователи ошибочно думали, что это следующие версии консольного приложения balcon.exe (версия 2 и версия 3). Теперь имена файлов bal4web.exe и bal4yndx.exe.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 08 окт 2019 02:34
balabolka
Версия 1.57
  • Исправлены мелкие ошибки.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 07 дек 2019 22:54
balabolka
Версия 1.58
  • Исправлены мелкие ошибки.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 29 дек 2019 14:40
balabolka
Версия 1.60
  • Добавлена возможность использования тега {{Voice}} для изменения голоса и его параметров.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 31 дек 2019 14:40
balabolka
Версия 1.61
  • Исправлены мелкие ошибки.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 03 мар 2020 23:28
denwer
Добрый день!
Спасибо за ваше приложение!

Я сейчас пишу на lua и вызываю консольную версию балаболки для озвучки событий. Однако, балаболка периодически падает, поэтому ищу вариант интеграции на уровне dll.

Было бы очень круто, если балаболка имела вариант поставки в виде dll.
В интернетах ничего подобного не нашёл - есть возможность застолбить нишу :)

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 11:05
tonio_k
denwer писал(а):
03 мар 2020 23:28
Я сейчас пишу на lua и вызываю консольную версию балаболки для озвучки событий.
попробуйте отдельно создать bat файл для работы с балаболкой, а через lua вызывать этот bat файл

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 11:23
denwer
Не не помогает, более того, в этом случае падение проявляется даже без участия lua.
Если руками запускать вот такой батник, то примерно один раз из десяти по завершении balcon.exe падает:

Код: Выделить всё

.\balcon.exe -t %1 -n Irina

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 12:12
balabolka
denwer писал(а):
03 мар 2020 23:28
Однако, балаболка периодически падает, поэтому ищу вариант интеграции на уровне dll.
Может быть, стоит сначала разобраться, почему программа "падает"? Потому что, если есть проблема в работе программы, она никуда не денется и в библиотеке DLL, которая будет содержать тот же программный код.

Проблемы в работе программы проявляют себя при использовании одного конкретного голоса или разных голосов? Ошибка в работе программы происходит на одном и том же месте одного и того же текста? Используются ли в тексте теги SAPI? Что конкретно Вам удалось выяснить по поводу проблем в работе программы?

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

Отвечая на Ваш вопрос: нет, сейчас я не собираюсь создавать библиотеку DLL с функциями из "Балаболки".

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 15:59
denwer
Код батника say.bat я привёл выше. Запустил подряд пять раз такую команду:

>say.bat "hi"

на второй и пятый раз balcon.exe упал "unhandled win32 exception", к сожалению отладчика под рукой нет, дамп снять не получится. У меня Win10 build 18363.657

Падает программа после того, как произносит "Hi", где-то на закрытии.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 17:01
balabolka
denwer
Спасибо за информацию. А с какими-либо другими голосами пробовали запускать программу? А в обычной (не консольной) "Балаболке" тоже есть проблема с чтением текстов или с выходом из программы?

К сожалению, сейчас у меня нет под рукой компьютера с Win10 и отладчиком. Есть Win7, WinXP - там подобной проблемы нет, но в этих версиях нет и голоса "Microsoft Irina".
Вместо вызова функций DLL или вызова командной утилиты, можно обратиться напрямую к функциям Microsoft Speech API (SAPI) 5. Есть Speech SDK 5.1 с примерами и документацией. Также, документация доступна онлайн: Как видно из примеров, простая программа для произнесения заданного текста вслух будет длиной 20-30 строк (например, вот функция из десяти строк в PowerShell). Так что, необязательно использовать мою программу, можно написать свой скрипт.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 04 мар 2020 19:46
denwer
Обычную балаболку не ставил, в консольной провёл эксперимент с другими голосами, результат такой (падения / запуски):
David: 1/5
Hazel: 2/5
Zira: 0/5
Это всё стандартные англоязычные голоса от Microsoft.

Спасибо за наводку про SDK!

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 05 мар 2020 22:53
balabolka
denwer
Проверил работу консольной версии "Балаболки" на нескольких компьютерах с Win10 (правда, более старый build, чем у Вас): запускается нормально; ошибка при завершении работы утилиты не появляется. Предполагаю, что проблема не в программе, а где-то в голосах Microsoft или в работе SAPI 5.

Пожалуйста, сделайте еще один тест: установите какой-либо голос не от фирмы Microsoft (например, старый добрый голос "Николай") и проверьте работу консольной утилиты с этим речевым движком.

Не думаю, что смогу исправить ситуацию с этой ошибкой; но хотелось бы понять, что именно ее вызывает. Буду признателен Вам за помощь.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 06 мар 2020 01:28
denwer
С голосом Nicolai программа не падает (как и с голосом Zira). Провёл десяток запусков.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 апр 2020 12:36
Lecron
Нашел интересную программу Rush. Позволяет запускать консольные утилиты в несколько потоков, с ограничением их максимального количества. Что с ростом количества ядер процессора, становится все более насущным.
Например в 4 потока, будут озвучены все текстовые фрагменты.

Код: Выделить всё

dir *.txt /b | rush balcon.bat """{}""" -j 4
В bat файл поместить логику обработки. Например

Код: Выделить всё

balcon.exe -f %1 -o --raw | opusenc.exe --bitrate 64 --raw --raw-bits 16 --raw-rate 32000 --raw-chan 1 --ignorelength - %1.opus
Только обнаружил одну проблему, которую пока побороть не сумел. Не справляется с русскоязычными именами файлов.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 апр 2020 12:54
tonio_k
Lecron писал(а):
12 апр 2020 12:36
Не справляется с русскоязычными именами файлов.
попробуйте покапать в сторону: предварительного переименования кирилицы в транскрипцию а затем обратное переименование.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 12 апр 2020 14:05
Lecron
tonio_k писал(а):
12 апр 2020 12:54
попробуйте покапать в сторону: предварительного переименования кирилицы в транскрипцию а затем обратное переименование.
Костыль. Удалось решить логичнее. Правда понадобилась еще одна утилита iConv. Проблема была в кодировках.

Код: Выделить всё

dir *.txt /b | iconv.exe -f CP866 -t UTF-8 |  rush balcon.bat """{}"""
Теперь хочется заставить работать вообще без промежуточных файлов. Передавать файл книги, как-то получать и также передавать таблицу фрагментов в виде где-то:

Код: Выделить всё

Номер фрагмента; Начало; Длина
1 1 10
2 11 22

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 апр 2020 04:55
balabolka
Версия 1.62
  • Добавлена возможность использования дополнительного голоса для чтения иностранных слов.
Работа функции смены голоса для чтения иностранных слов отличается от аналогичной функции в "Балаболке". Там требуется вручную задать список букв иностранного алфавита. В консольной утилите необходимо указать идентификатор иностранного языка (например, fr для французского языка). Поэтому утилита использует ограниченное количество языков: только те, поддержку которых я сам заложил в программу. Но зато появилась возможность переключаться на китайский, корейский и японский языки: достаточно указать идентификатор языка, а программа сама проверит, к какому диапазону Юникода относятся те или иные иероглифы (а их очень много, вручную их не ввести). В будущем неплохо было бы объединить обе возможности: указывать идентификатор языка и/или вручную задавать наборы иностранных букв для поиска в тексте.
:welcome:

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 апр 2020 14:26
Lecron
В связи с нововведением, появилось несколько мыслей.
1. Возможно для описания больше подойдет формат параметров как в ffmpeg

Код: Выделить всё

--voice langid=en,es,fr:name="loquendo ludovico":rate=5:volume=1
2. Параметры а-ля --voice1-ignore-digit нужно инвертировать. По умочанию дефолтный голос. И только указание --voice1-digit или :digit=1 в формате ffmpeg, подключает дополнительный для цифр.
3. Заранее узнать какой иностранный текст будет небольшими включениями в книге, как-то затруднительно. Нужно обрабатывать такие неопределенные ситуации оптимальным образом.
Понимаю что география пользователей довольно широка, но надеюсь основные из кирилического региона. Для которых, важнее различать кирилицу и латиницу. Ибо если русский голос настолько плохо озвучивает английский, что возникла нужда в использовании второго голоса, то и французкий лучше озвучивать им, чем родным.
Поэтому нужна возможность указывать не конкретный язык, а non-default язык (все что НЕ русское, озвучивать голосом Y). Как задавать параметры для этого, пока не вижу.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 апр 2020 19:23
balabolka
Lecron писал(а):
22 апр 2020 14:26
Возможно для описания больше подойдет формат параметров как в ffmpeg
У моих утилит другой стиль записи параметров. Также, опыт показывает, что многие пользователи не смогут использовать компактную запись, как в ffmpeg: здесь виной и языковой барьер (сложно написать документацию на разных языках), и тот факт, что многие пользователи программ являются незрячими, и другие причины. Возможно, в будущем что-то изменится.

Мне нравится идея перечислять идентификаторы языков внутри одного параметра:

Код: Выделить всё

--voice1-langid en,es,fr
--voice1-langid "be, ru, uk"
Реализую в следующей версии.
Lecron писал(а):
22 апр 2020 14:26
Параметры а-ля --voice1-ignore-digit нужно инвертировать.
Нет, по умолчанию будет использоваться дополнительный голос. Но Вы правы, надо сократить названия этих параметров до двух слов.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 22 апр 2020 21:23
Lecron
balabolka писал(а):
22 апр 2020 19:23
Нет, по умолчанию будет использоваться дополнительный голос.
Хотелось бы услышать аргументацию. Моя такова:
1. "по умолчанию" делают наиболее частый параметр, чтобы его реже упоминать. Озвучка 1972 базовым голосом слушателя, например русским — одна тысяча девятьсот семьдесят два, куда более естественна чем one thousand nine hundred seventy two. Если же вдруг понадобится наоборот, то реже в 100 и более раз.
2. ваш вариант затруднит использование мультиголоса. Когда появится три и более голосов, что явно напрашивается в перспективе, каким из дополнительных озвучивать цифры? Кстати, ffmpeg стиль, легко позволит такое конфигурировать. --voice lang=en:бла-бла --voice lang=ch:бла-бла

Если реализуете langid через запятую, можно выделить арабские и римксие числа в отдельный "язык" и совсем избавится от этих ключей, что упростит настройку --voice1-langid en,digit,roman, возможности даже расширив, позволив --voice1-langid digit озвучивать другим голосом только числа.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 23 апр 2020 04:38
balabolka
Lecron
Похоже, есть какое-то непонимание по поводу чтения чисел, написанных арабскими цифрами. Параметр --voice1-digit применяется только к тем числам, которые находятся внутри найденного иностранного текста.

Код: Выделить всё

<voice required="Name=Cepstral Diane">I’ve got 2 eyes and I can see.</voice>

Код: Выделить всё

--voice1-digit

<voice required="Name=Cepstral Diane">I’ve got</voice> 2 <voice required="Name=Cepstral Diane">eyes and I can see.</voice>

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 23 апр 2020 20:47
balabolka
Версия 1.63
  • Некоторые из параметров были переименованы.
  • Увеличен список идентификаторов языков для чтения иностранного текста.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 02 май 2020 15:00
balabolka
Версия 1.64
  • Небольшие улучшения.
  • Увеличен список идентификаторов языков для чтения иностранного текста.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 10 май 2020 21:34
balabolka
Версия 1.65
  • Добавлен параметр выбора голоса SAPI 5 для "чтения" тега тишины при преобразовании субтитров в звуковые файлы.
  • Добавлена возможность преобразования субтитров в аудиофайлы при помощи голосов SAPI 4.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 13 май 2020 19:40
tonio_k
Если так прописываю в bat:

Код: Выделить всё

D:\balcon\balcon.exe -f D:\balcon\1.txt -w D:\balcon\1.wav -n Maxim
файл 1.wav создает, прослушиваю - говорит Максим - все ок.
А вот так (убрал путь к аудиофайлу):

Код: Выделить всё

D:\balcon\balcon.exe -f D:\balcon\1.txt -w -n Maxim
ожидаю что начнет вслух текст озвучивать , но молчит :sad: . Пробовал поиграть с выбором аудиоустройств -b не помогло.
Обратил внимание, что после отработки строки в папке с программой и батником, создается левый файл -n :
► Показать
Может это поможет с решением моей проблемы?

UPD И ещё один чисто технический вопрос: balcon.exe, когда озвучивает текст -w без параметров, по факту создаётся скрытый аудио файл, который затем воспроизводится или текст напрямую передаётся голосовому движку и именно голосовой движок читает текст?

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 13 май 2020 23:41
balabolka
tonio_k
Параметр -w всегда используется в паре с именем звукового файла: программа воспримет параметр, стоящий после -w, как имя файла.

Если требуется прочесть текст вслух, то командная строка не должна содержать параметр -w.

Создать звуковой файл:

Код: Выделить всё

D:\balcon\balcon.exe -f D:\balcon\1.txt -w D:\balcon\1.wav -n Maxim
Прочесть текст вслух:

Код: Выделить всё

D:\balcon\balcon.exe -f D:\balcon\1.txt -n Maxim

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 16 май 2020 16:41
balabolka
Версия 1.66
  • Исправлено использование SAPI 5.1 в Windows 7.

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 27 май 2020 16:52
Lecron
balabolka,

Код: Выделить всё

balcon.exe -t "Текст будет прочитан медленно." -o > o.wav
balcon.exe -t "Текст будет прочитан медленно." -o -il > o_il.wav
o.wav 551876 байт, играет корректно.
o_il.wav 307136 байт. Можно предположить, что обрыв передачи происходит при перенаправлении ">", но файл пуст. Ни заголовка, ни данных, сплошные hex-нули. Причем размер не зависит от входящего объема

Код: Выделить всё

balcon.exe -t "Текст" -o -il > o_il.wav
balcon.exe -t "Текст Текст" -o -il > o_il2.wav
balcon.exe -t "Текст Текст Текст Текст" -o -il > o_il3.wav
Все время 307136.
В тоже время, если данные передавать в другую программу через "|". все работает.
В чем может быть проблема?

Консольная версия "Балаболки" (balcon.exe)

Добавлено: 27 май 2020 18:38
balabolka
Lecron
Повторил Ваш эксперимент, проблем не обнаружил; голос "Алёна". Разница между файлами o.wav и o_il.wav составила 7672 байта: скопировал эти байты из начала одного файла и вставил в начало другого. Оба файла воспроизводятся нормально (файлы не идентичны).