TTS книги  Проверялка  ФорумФорум  RSS  ПоискПоиск  РегистрацияРегистрация  ВходВход  



Консольное приложение

Предыдущая тема Следующая тема Перейти вниз
На страницу : 1, 2  Следующий
АвторСообщениеКонсольное приложение
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вт Фев 26 2013, 21:42
Вт Фев 26 2013, 21:42

Пользователи давно просили меня создать вариант "Балаболки" в виде консольного приложения, работающего в режиме командной строки. Сейчас я нашел время для реализации этого проекта. Утилита будет получать текст (либо из обычных текстовых файлов с расширением *.TXT, либо из буфера обмена, либо непосредственно в командной строке), применять правила из словарей коррекции произношения, а затем будет читать текст вслух или записывать звуковой файл формата WAV.

---

Уже есть хорошая утилита "Govorilka CP", поддерживающая голоса SAPI 4/SAPI 5; жаль, что она не работает с Юникодом, поэтому нельзя использовать ее для озвучивания текстов на иностранных языках. Бесплатный программный продукт "eSpeak" имеет в своем составе утилиту командной строки, так что можно использовать и его как консольное приложение (но качество бесплатных голосов eSpeak пока очень далеко от совершенства, увы).

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

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

---

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


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

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

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

-f имя_файла
Открыть текстовый файл.

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

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

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

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

-t строка_текста
Использовать текст из командной строки.

-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 имя_файла
Использовать словарь для коррекции произношения (файл с расширением *.REX или *.DIC). Командная строка может содержать несколько параметров -d.

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


Примеры команд запуска консольного приложения:

balabolka_console.exe -l

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

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

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


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

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

Веб-страница: http://www.cross-plus-a.ru/bconsole.html

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Ср Фев 27 2013, 12:22
Ср Фев 27 2013, 12:22

Что-то мне по ссылке "загрузить консольное приложение", прилетает файл 7.5Мб с обычной portable Балаболкой. А где консольная версия на 295Кб?

Сразу замечание. Нужен вывод аудио в STDOUT.

PS. Замечание по скачаному файлу полной Балаболки. Почему так раздулся экзешник? с 2 мегабайт в 2.6.0.536 до 6.5 в последней.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Ср Фев 27 2013, 13:18
Ср Фев 27 2013, 13:18

Lecron
Ссылку на дистрибутив поправил. Спасибо за сообщение.

Реализация вывода аудио в STDOUT в ближайшее время не планируется: столкнулся с проблемами при попытке осуществить это. Например, выяснилось, что движок Acapela Group также отправляет в поток вывода свои системные сообщения; это стало неприятным сюрпризом. Буду искать пути решения проблем.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Мар 03 2013, 19:13
Вс Мар 03 2013, 19:13

Консольное приложение обновилось до версии 1.01.
Добавлена возможность записи аудиоданных в стандартный поток вывода (STDOUT). Только для голосов SAPI 5 и Microsoft Speech Platform.

Код:
balabolka_console.exe -f "d:\Text\book.txt" -n "Alyona" -o


Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вт Мар 12 2013, 22:34
Вт Мар 12 2013, 22:34

Версия 1.02
Добавлена возможность выбора аудиоустройства для воспроизведения звука (на тот случай, если компьютер содержит более одной звуковой карты).

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

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

Код:
balabolka_console.exe -g > audio.txt

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Ср Мар 27 2013, 22:53
Ср Мар 27 2013, 22:53

Версия 1.03
Добавлены две новые опции для обработки ситуаций, когда запущены несколько экземпляров программы.

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

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

Код:
balabolka_console.exe -n "Alyona" -t "Срочное сообщение!" -k

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Мар 31 2013, 18:23
Вс Мар 31 2013, 18:23

Версия 1.04
Добавлены настройки для создания файла формата LRC.

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

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

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

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

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

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

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

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

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

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

Код:
balabolka_console.exe -w "d:\book.wav" -i -lrc --lrc-length 80

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Ср Апр 03 2013, 14:24
Ср Апр 03 2013, 14:24

После переписки с посетителем форума Lecron в соседней "ветке" я сделал вывод, что нужно дать пояснения касательно работы консольного приложения со стандартным потоком вывода (STDOUT). Дело в том, что хотя такая опция и присутствует в программе, я не рекомендую ее использовать для записи больших по размеру текстов.

Увы, но мне так и не удалось найти решение всех проблем, связанных с записью аудиоданных в STDOUT. Главная из оставшихся проблем - это то, что записываемые в поток данные должны содержать заголовок формата RIFF, а в этом заголовке должен быть указан размер данных. Это значение нельзя узнать до тех пор, пока весь текст не будет преобразован в речь; поэтому первоначально аудиоданные записываются в память, и лишь затем целиком пересылаются в стандартный поток вывода STDOUT, вместе с заголовком.

Такой метод сводит на нет все достоинства работы со стандартным потоком вывода: нет никакой разницы, будут ли данные сохранены в файле формата WAVE или накоплены в оперативной памяти компьютера - программы-перекодировщики всё равно вынуждены ждать завершения процесса преобразования текста в речь.

Но и это еще не всё: также выяснилось, что запись аудиоданных в память работает существенно медленнее, чем запись данных в файл формата WAVE. Могу предположить, что это связано с необходимостью выделять всё новые и новые "куски" памяти для новых аудиоданных.

Таким образом получается, что нет никакого выигрыша от использования стандартного потока вывода вместо записи в файл. Как уже писал в предыдущем посте, это всё стало для меня неприятным сюрпризом; пока не нашел способа решить данную проблему.

---

Как вариант, можно записывать в стандартный поток вывода аудиоданные без заголовка (это называется "RAW PCM"). Но тогда уже сам пользователь, если захочет перекодировать такие данные в звуковой файл какого-либо формата, должен будет указать программе-перекодировщику, что это именно данные без заголовка, указать количество каналов, частоту, битрейт и т.д. Например, для утилиты LAME.EXE это будут параметры из раздела справки "Input options for RAW PCM".

Так как у данных нет заголовка, то нет необходимости узнавать размер данных и, соответственно, нет необходимости ждать завершения процесса преобразования текста в речь. Можно сразу пересылать данные в поток вывода, как только голос начнет преобразовывать первое предложение.

Такой способ не кажется мне удобным для обычных пользователей, так как для преобразования аудиоданных нужно знать их параметры. То есть, нужно заранее знать, что, например, "Алена" пишет данные в режиме "моно", с частотой 22,05 кГц (16 bits per sample). Наличие заголовка у аудиоданных избавляет от подобных хлопот.

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Ср Апр 03 2013, 16:33
Ср Апр 03 2013, 16:33

Возможно есть вариант. Для WAV потока, каким-то образом, может осуществляться потоковое вещание. Например в VLC. В этом случае, тоже заранее продолжительность не известна. Но вещание работает. Значит и для потокового "вещания" в STDOUT также не должно быть принципиальных запретов. Но как это сделано, я не знаю.
А что будет, если в заголовке указать все параметры потока, кроме продолжительности?

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Ср Апр 03 2013, 17:21
Ср Апр 03 2013, 17:21

У меня нет информации, как именно осуществляется потоковое вещание в WAV.

Lecron пишет:
А что будет, если в заголовке указать все параметры потока, кроме продолжительности?
Какое-то значение все равно надо указать, там ведь не может быть пустота. Пробовал разные значения, от 0 до максимального целого, всё это приводит к тому, что кодеки создают звуковые файлы, в которых нет аудиоданных.

Сейчас я склоняюсь к мысли разрешить, всё-таки, сохранение аудиоданных в виде RAW PCM (т.е. без заголовка). Тогда можно будет запускать lame.exe, например, с такой командной строкой:

Код:
lame.exe -r -s 22.05 -m m -b 128 - test.mp3
(данные из стандартного потока ввода, без заголовка, с частотой 22,05 кГц, моно)

Буду думать еще на эту тему.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Апр 06 2013, 14:59
Сб Апр 06 2013, 14:59

Версия 1.05
Добавлены параметры командной строки для работы со стандартным потоком вывода (STDOUT), а также для показа параметров выбранного голоса.

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

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

--ignorelength
Не записывать размер аудиоданных в заголовок формата WAV (для голосов SAPI 5 и Microsoft Speech Platform). Параметр используется совместно с параметром -o.


Пример использования приложения совместно с утилитой LAME.EXE:
Код:
balabolka_console.exe -f d:\book.txt -n Alyona -o --raw | lame.exe -r -s 22.05 -m m -h - d:\book.mp3

Пример использования приложения совместно с утилитой OGGENC2.EXE:
Код:
balabolka_console.exe -f d:\book.txt -n Alyona -o --ignorelength | oggenc2.exe --ignorelength - -o d:\book.ogg

Пример использования приложения совместно с утилитой WMAENCODE.EXE:
Код:
balabolka_console.exe -f d:\book.txt -n Alyona -o --ignorelength | wmaencode.exe - d:\book.wma --ignorelength

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Июн 22 2013, 02:15
Сб Июн 22 2013, 02:15

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

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Июл 21 2013, 15:32
Вс Июл 21 2013, 15:32

Версия 1.08
Добавлены настройки для преобразования субтитров в звуковые файлы.


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

--sub-format текст
Формат субтитров ("srt", "ssa", "ass" или "smi"). Если параметр не задан, формат будет определен по расширению имени файла субтитров.

--sub-fit
Автоматически увеличивать скорость речи для того, чтобы уложиться в интервалы времени, заданные в субтитрах.

--sub-max число
Установить максимальную скорость речи в диапазоне от -10 до 10 (для преобразования субтитров в звуковой файл).

Код:
balabolka_console.exe -f d:\film.srt -w d:\film.wav --sub-fit --sub-max 2

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Чт Авг 22 2013, 21:14
Чт Авг 22 2013, 21:14

Версия 1.09
Добавлена настройка для кодировки текста из стандартного потока ввода.

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Авг 25 2013, 19:26
Вс Авг 25 2013, 19:26

Версия 1.10
Добавлены настройки для вставки пауз в начало и конец создаваемого звукового файла. Добавлена возможность вставки аудиоклипов в текст (аудиоклип - это внешний звуковой файл формата WAV).


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

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

Цитата :
В дверь позвонили.{{Audio=d:\Звуковые файлы\ring.wav}} "Кто там?"

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Сен 22 2013, 19:57
Вс Сен 22 2013, 19:57

Версия 1.11
В случае возникновения какой-либо ошибки (например, голос не инициализируется или не найден текстовый файл) программа будет возвращать код, равный "1" (в случае успешного выполнения работы - "0").

Добавлены параметры --sb и --se как короткие синонимы параметров --silence-begin и --silence-end.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вт Сен 24 2013, 15:20
Вт Сен 24 2013, 15:20

Версия 1.12
Некоторые из параметров командной строки были переименованы.

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

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

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

--sub-fit или -sf
Автоматически увеличивать скорость речи для того, чтобы уложиться в интервалы времени, заданные в субтитрах.

--sub-max число или -sm число
Установить максимальную скорость речи в диапазоне от -10 до 10 (для преобразования субтитров в звуковой файл).

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Ноя 02 2013, 16:40
Сб Ноя 02 2013, 16:40

Версия 1.13
Добавлен новый параметр для выбора голоса.

-id число
Выбрать голос при помощи кода языка (Locale ID). Такие коды присвоены языкам разработчиками из Microsoft (например, "1049" for русского языка, "1058" для украинского). Программа выберет из списка первый голос, код языка которого совпадает с заданным значением. Если параметр не задан, будет использоваться голос, заданный при помощи параметра -n, или голос, выбранный в панели управления Windows.

Список кодов для языков:
http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Дек 15 2013, 23:38
Вс Дек 15 2013, 23:38

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

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Пт Янв 03 2014, 14:00
Пт Янв 03 2014, 14:00

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Янв 19 2014, 17:19
Вс Янв 19 2014, 17:19

Версия 1.16
Добавлен параметр для показа иконки приложения в области уведомлений Windows.

Небольшие улучшения.

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Янв 26 2014, 20:50
Вс Янв 26 2014, 20:50

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Фев 08 2014, 19:03
Сб Фев 08 2014, 19:03

Версия 1.18
Добавлен параметр для закрытия только одного экземпляра консольного приложения.

Добавлены пункты "Пауза" и "Вперёд" в контекстное меню иконки программы.

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Чт Апр 24 2014, 02:44
Чт Апр 24 2014, 02:44

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Авг 30 2014, 23:36
Сб Авг 30 2014, 23:36

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

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Вт Сен 09 2014, 14:21
Вт Сен 09 2014, 14:21

Нельзя ли ускорить инициализацию приложения при старте? На запуск уходит 5-6 секунд, даже с SSD и RAM дисков.
При обработке 128кБ текстовых ANSI файлов, время увеличивается с 4:30 минут для 4 файлов, до 10:30 минут для 50 файлов, или на 133%. GUI версия дает лишь 25% увеличение времени. А средняя книга при разбиении на фрагменты, в соответствии с логической структурой, дает в среднем 120-150 файлов (от 50 до 350).

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Ср Сен 10 2014, 11:48
Ср Сен 10 2014, 11:48

Lecron
Ускорить не получится, там и так выполняется лишь необходимый минимум операций по получению списка голосов, установленных в системе, и инициализации выбранного голоса. Убирать просто-напросто нечего.

Не сталкивался с описанной Вами проблемой. Если и происходит какая-то задержка в полсекунды, то только при первом обращении к какому-то определенному голосу; можно предположить, что голос выполняет свои собственные действия при инициализации (например, проверяет лицензию). При втором и последующем обращениях к голосу задержек нет вообще. Проверял на разных машинах, с разными наборами голосов и различными версиями Windows.

Ищите корень проблемы в своем компьютере. Проверьте, что из программного обеспечения запущено в данный момент и не может ли это повлиять на запуск консольных приложений. Антивирус, файрвол, контроль учетных записей Windows и т.д. Может быть, какое-то приложение пытается подключиться куда-либо; проверить надо все возможности. У меня сейчас нет предположений, с чем связана такая большая задержка.

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Ср Сен 10 2014, 13:23
Ср Сен 10 2014, 13:23

Проблема действительно оказалась на моей стороне. Виноват Outpost Security suite. Извиняюсь что хотел сделать вас крайним, просто такого ни с одной другой программой не случалось, все стартуют меньше чем за секунду, вот и...
После его отключения, время обработки лишь на 6 секунд превысило результат GUI версии, что находится в пределах погрешности измерений. Осталось разобраться Кто виноват и Что теперь делать.
Спасибо за ответ.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Дек 14 2014, 20:15
Вс Дек 14 2014, 20:15

Версия 1.21
Добавлены новые сообщения об ошибках.

Вернуться к началу Перейти вниз
kingdog
Наблюдатель


Сообщений : 3
Репутация : 0

 kingdog :: Сб Мар 07 2015, 00:07
Сб Мар 07 2015, 00:07

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Мар 07 2015, 15:19
Сб Мар 07 2015, 15:19

kingdog
Спасибо за идею, добавлю такой параметр командной строки в следующей версии утилиты.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Пн Мар 09 2015, 13:39
Пн Мар 09 2015, 13:39

Версия 1.22
Добавлен параметр командной строки для выбора строки из текстового файла по ее номеру.

Вернуться к началу Перейти вниз
kingdog
Наблюдатель


Сообщений : 3
Репутация : 0

 kingdog :: Вс Мар 15 2015, 00:46
Вс Мар 15 2015, 00:46

Дааа! Спасибо огромное за возможность выбора строки для чтения из файлов!! А то какие хитрости только ни применял, и различные скрипты, строронние программы... В общем спасибо! Еще хотелось бы видеть возможность выставления уровня громкости прочтения для удобства.

Вернуться к началу Перейти вниз
kingdog
Наблюдатель


Сообщений : 3
Репутация : 0

 kingdog :: Вс Мар 15 2015, 00:58
Вс Мар 15 2015, 00:58

И еще бы чтение не только определенной строки, но и определенных символов/слов в ней, заранее спасибо!

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Июн 07 2015, 19:41
Вс Июн 07 2015, 19:41

Версия 1.23
Обновлено применение правил из словарей формата REX.

Вернуться к началу Перейти вниз
Felix
Наблюдатель


Сообщений : 3
Репутация : 0

 Felix :: Чт Июн 25 2015, 19:11
Чт Июн 25 2015, 19:11

Спасибо за консольную версию. А можно ли попросить добавить паузу, часто нужно?

И еще у меня быстрая скорость кажется не регулируется(голос Elan Nikolai Digalo SAPI 4), Опция -s от 0 до 70 быстрая, но постоянно одна и та же, после 70 замедленная, с медленной все в порядке - она изменяется.

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Пт Июн 26 2015, 01:08
Пт Июн 26 2015, 01:08

Felix
Пожалуйста. Среди параметров командной строки есть паузы между предложениями и паузы между абзацами. Других пауз добавлять не планирую. Попробуйте вставлять в текст теги SAPI 5, если нужны еще паузы.

На скорость голоса "Николай" никак повлиять нельзя, это всё на совести разработчиков голоса.

Вернуться к началу Перейти вниз
Felix
Наблюдатель


Сообщений : 3
Репутация : 0

 Felix :: Пт Июн 26 2015, 17:22
Пт Июн 26 2015, 17:22

balabolka
Спасибо за ответ. Я имел в виду паузу в процессе чтения, чтоб потом с этого места на котором остановился можно было продолжить. Если нет, значит нет. )



Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Пт Июн 26 2015, 17:48
Пт Июн 26 2015, 17:48

Felix
Поставить процесс чтения на паузу возможно, если запустить программу с параметром "-tray". В этом случае в системном трее появится иконка приложения; в меню этой иконки есть пункт "Пауза".

Вернуться к началу Перейти вниз
Felix
Наблюдатель


Сообщений : 3
Репутация : 0

 Felix :: Пт Июн 26 2015, 19:47
Пт Июн 26 2015, 19:47

balabolka
Спасибо).

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Пн Июн 29 2015, 16:58
Пн Июн 29 2015, 16:58

balabolka, случайно нет расхождения по скорости между GUI и CLI версией? Именно в рамках задания параметров по умолчанию?
Заметил, что фрагмент аудио от CLI версии немного короче. Когда в ней поставил скорость голоса (Loquendo Olga) на "-1", продолжительность совпала с GUI версией идеально.

Версии CLI - 1.23 (последняя), GUI - 2.7.0.545 portable (устаревшая)

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вт Июн 30 2015, 04:00
Вт Июн 30 2015, 04:00

Lecron
Действительно, в консольной версии по умолчанию при выборе голоса SAPI 5 не устанавливается значение скорости речи. Это значение задается в панели управления Windows ("Преобразование текста в речь" - "Скорость голоса"); видимо, на Вашем компьютере там установлено значение "-1".

Я так и не принял окончательного решения, каким должно быть значение скорости по умолчанию в консольной версии ("0" или значение из панели управления Windows). В "Балаболке" всё по-другому - там специально скорость речи задается самой программой, чтобы "Балаболка" никак не зависела от панели управления операционной системы.

Вернуться к началу Перейти вниз
Lecron
Посетитель


Сообщений : 28
Репутация : 17

 Lecron :: Вт Июн 30 2015, 09:21
Вт Июн 30 2015, 09:21

Действительно, была установлена системная скорость выше средней. Спасибо.

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Июл 05 2015, 14:16
Вс Июл 05 2015, 14:16

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

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Вс Янв 03 2016, 15:17
Вс Янв 03 2016, 15:17

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

Вернуться к началу Перейти вниз
Dimsok
Участник


Сообщений : 55
Репутация : 1

 Dimsok :: Пт Мар 25 2016, 21:50
Пт Мар 25 2016, 21:50

Можно как-нибудь заставить её работать в содружестве с экстрактором текста? То есть для чтения их других форматов, отличных от txt? Если можно, то только путём какого-нибдь бат файла с начальным извлечением в txt файл, его последующим чтением и удалением? Мало что знаю об stdin и stdout, поэтому вопрос может показаться глупым. Их использование может позволить пропускать пункт конвертанции в txt файл, а напрямую перенаправлять извлечённый текст на балаболку?

Вернуться к началу Перейти вниз
balabolka
V.I.P.
avatar


Сообщений : 1207
Репутация : 986

 balabolka :: Сб Мар 26 2016, 17:15
Сб Мар 26 2016, 17:15

Dimsok
Поищите в интернете информацию про конвейеры командной строки.
Если коротко, то две и более команд можно объединить в одной командной строке, поставив между ними символ "|". Это позволит направить выходные данные первой команды на вход второй команды.

Вот очень упрощенный пример конвертации документа MS Word в формат MP3, одной командной строкой:
Код:
balabolka_text.exe -f test.doc -o | balabolka_console.exe -i -n Alyona -o | lame.exe - test.mp3
Утилита для извлечения текста отправила данные на вход консольной "Балаболки", та преобразовала текст в речь в формате WAV и направила аудиоданные на вход утилиты LAME для преобразования WAV в MP3.
Рекомендуется указывать кодировку текста для обоих утилит, на всякий случай. Если извлекается текст на иностранном языке, то кодировка должна быть "utf8".

Вернуться к началу Перейти вниз
Dimsok
Участник


Сообщений : 55
Репутация : 1

 Dimsok :: Сб Мар 26 2016, 17:59
Сб Мар 26 2016, 17:59

Цитата :
Если извлекается текст на иностранном языке, то кодировка должна быть "utf8".
Ну это ведь смотря на каком иностранном. Для английского в большинстве случаев ansi хватает

Вернуться к началу Перейти вниз
Dimsok
Участник


Сообщений : 55
Репутация : 1

 Dimsok :: Пт Апр 22 2016, 15:07
Пт Апр 22 2016, 15:07

balabolka_text.exe -f file.fb2 -o | balabolka_cp.exe -i Alyona

Читает не весь файл и чтение заканчивается минуты через 3, и в трее прогресс в процентах быстро меняется.

При остановке в трее вылазит ошибка balabolka_text.exe. Если просто закрыть консольное окно, ошибки нет.
При чтении из utf8 ошибка при остановке через трей нет, но русский текст в этой кодировке не читает.

В чем причина, в балаболке или экстракторе текста?

Вернуться к началу Перейти вниз
Dimsok
Участник


Сообщений : 55
Репутация : 1

 Dimsok :: Пт Апр 22 2016, 15:33
Пт Апр 22 2016, 15:33

Аудио по указанному вами примеру аналогично не сохраняется полностью из книги, только первые 5 мин

Вернуться к началу Перейти вниз

Консольное приложение

Предыдущая тема Следующая тема Вернуться к началу
Консольное приложение
Страница 1 из 2Страница 1 из 2На страницу : 1, 2  Следующий
Этот сайт не предоставляет электронные версии программного обеспечения и полнотекстовых электронных изданий, а занимается лишь
подборкой и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями.

Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении