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

Программа "Балаболка" предназначена для воспроизведения звуков человеческого голоса с использованием любого речевого синтезатора, установленного на компьютере.

Модератор: balabolka

Аватара пользователя
balabolka
V.I.P.

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

#1

Сообщение 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-ключ в сервисном аккаунте.

Аватара пользователя
balabolka
V.I.P.

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

#2

Сообщение balabolka »

Версия 1.47
  • Небольшие улучшения.

Аватара пользователя
balabolka
V.I.P.

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

#3

Сообщение balabolka »

Версия 1.48
  • Исправлено применение правил для коррекции произношения.

Аватара пользователя
balabolka
V.I.P.

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

#4

Сообщение 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

Аватара пользователя
balabolka
V.I.P.

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

#5

Сообщение balabolka »

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

Аватара пользователя
balabolka
V.I.P.

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

#6

Сообщение balabolka »

Версия 1.51
  • Небольшие улучшения.

Аватара пользователя
balabolka
V.I.P.

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

#7

Сообщение balabolka »

Версия 1.52
  • Добавлены параметры для игнорирования текста внутри скобок.

Аватара пользователя
Dimsok
Постоялец

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

#8

Сообщение Dimsok »

Из почтового сообщения про stdin с tesseract:

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

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

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

Аватара пользователя
balabolka
V.I.P.

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

#9

Сообщение balabolka »

Dimsok
Насколько я помню, уже отвечал Вам на этот вопрос по электронной почте.

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

Аватара пользователя
balabolka
V.I.P.

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

#10

Сообщение balabolka »

Версия 1.53
  • Исправлено преобразование субтитров в звуковые файлы для файлов формата SMI.

Аватара пользователя
Bouquiniste
Постоялец

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

#11

Сообщение Bouquiniste »

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

Аватара пользователя
balabolka
V.I.P.

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

#12

Сообщение balabolka »

Bouquiniste
Не понял, о чем именно идет речь.

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

Аватара пользователя
balabolka
V.I.P.

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

#13

Сообщение balabolka »

Версия 1.54
  • Исправлено сохранение звуковых файлов в тех случаях, когда выходное аудиоустройство отсутствует.

Аватара пользователя
Dimsok
Постоялец

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

#14

Сообщение Dimsok »

Можно как-то сделать сохранение прогресса с последующим возобновлением с нужной строки?

Аватара пользователя
balabolka
V.I.P.

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

#15

Сообщение balabolka »

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

Аватара пользователя
balabolka
V.I.P.

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

#16

Сообщение balabolka »

Версия 1.55
  • Исправлен пункт меню "Пауза/Продолжить".

Аватара пользователя
balabolka
V.I.P.

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

#17

Сообщение balabolka »

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

Аватара пользователя
lplee

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

#18

Сообщение lplee »

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

Аватара пользователя
balabolka
V.I.P.

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

#19

Сообщение 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. Словарями я не занимаюсь, ищите/составляйте их самостоятельно. Подключить словарь к утилите можно с помощью параметра командной строки (словари будут применяться в том порядке, в котором они перечислены в командной строке).

Аватара пользователя
lplee

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

#20

Сообщение lplee »

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

Аватара пользователя
balabolka
V.I.P.

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

#21

Сообщение balabolka »

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

Аватара пользователя
balabolka
V.I.P.

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

#22

Сообщение balabolka »

Версия 1.57
  • Исправлены мелкие ошибки.

Аватара пользователя
balabolka
V.I.P.

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

#23

Сообщение balabolka »

Версия 1.58
  • Исправлены мелкие ошибки.

Аватара пользователя
balabolka
V.I.P.

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

#24

Сообщение balabolka »

Версия 1.60
  • Добавлена возможность использования тега {{Voice}} для изменения голоса и его параметров.

Аватара пользователя
balabolka
V.I.P.

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

#25

Сообщение balabolka »

Версия 1.61
  • Исправлены мелкие ошибки.

Аватара пользователя
denwer
Наблюдатель

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

#26

Сообщение denwer »

Добрый день!
Спасибо за ваше приложение!

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

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

Аватара пользователя
tonio_k
V.I.P.

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

#27

Сообщение tonio_k »

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

Аватара пользователя
denwer
Наблюдатель

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

#28

Сообщение denwer »

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

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

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

Аватара пользователя
balabolka
V.I.P.

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

#29

Сообщение balabolka »

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

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

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

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

Аватара пользователя
denwer
Наблюдатель

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

#30

Сообщение denwer »

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

>say.bat "hi"

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

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

Аватара пользователя
balabolka
V.I.P.

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

#31

Сообщение balabolka »

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

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

Аватара пользователя
denwer
Наблюдатель

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

#32

Сообщение denwer »

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

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

Аватара пользователя
balabolka
V.I.P.

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

#33

Сообщение balabolka »

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

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

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

Аватара пользователя
denwer
Наблюдатель

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

#34

Сообщение denwer »

С голосом Nicolai программа не падает (как и с голосом Zira). Провёл десяток запусков.

Аватара пользователя
Lecron
Специалист

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

#35

Сообщение 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
Только обнаружил одну проблему, которую пока побороть не сумел. Не справляется с русскоязычными именами файлов.

Аватара пользователя
tonio_k
V.I.P.

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

#36

Сообщение tonio_k »

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

Аватара пользователя
Lecron
Специалист

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

#37

Сообщение 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

Аватара пользователя
balabolka
V.I.P.

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

#38

Сообщение balabolka »

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

Аватара пользователя
Lecron
Специалист

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

#39

Сообщение 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). Как задавать параметры для этого, пока не вижу.

Аватара пользователя
balabolka
V.I.P.

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

#40

Сообщение 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 нужно инвертировать.
Нет, по умолчанию будет использоваться дополнительный голос. Но Вы правы, надо сократить названия этих параметров до двух слов.

Аватара пользователя
Lecron
Специалист

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

#41

Сообщение 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 озвучивать другим голосом только числа.

Аватара пользователя
balabolka
V.I.P.

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

#42

Сообщение 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>

Аватара пользователя
balabolka
V.I.P.

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

#43

Сообщение balabolka »

Версия 1.63
  • Некоторые из параметров были переименованы.
  • Увеличен список идентификаторов языков для чтения иностранного текста.

Аватара пользователя
balabolka
V.I.P.

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

#44

Сообщение balabolka »

Версия 1.64
  • Небольшие улучшения.
  • Увеличен список идентификаторов языков для чтения иностранного текста.

Аватара пользователя
balabolka
V.I.P.

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

#45

Сообщение balabolka »

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

Аватара пользователя
tonio_k
V.I.P.

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

#46

Сообщение 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 без параметров, по факту создаётся скрытый аудио файл, который затем воспроизводится или текст напрямую передаётся голосовому движку и именно голосовой движок читает текст?

Аватара пользователя
balabolka
V.I.P.

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

#47

Сообщение 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

Аватара пользователя
balabolka
V.I.P.

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

#48

Сообщение balabolka »

Версия 1.66
  • Исправлено использование SAPI 5.1 в Windows 7.

Аватара пользователя
Lecron
Специалист

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

#49

Сообщение 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.
В тоже время, если данные передавать в другую программу через "|". все работает.
В чем может быть проблема?

Аватара пользователя
balabolka
V.I.P.

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

#50

Сообщение balabolka »

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

Ответить

Вернуться в «Балаболка»