Demagog TTS

Говорящий текстовый редактор с открытым кодом, предназначенный для чтения вслух и записи в аудиофайл текстовых файлов с использованием пакетов речевых функций SAPI4\SAPI5.

Модератор: flegont

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

Demagog TTS

#101

Сообщение tonio_k » 06 окт 2018 22:34

tonio_k писал(а):
03 окт 2018 09:47
То есть не просматривать ВСЕ варианты встречающихся в тексте комбинаций "все/всё", а только те, которые попадают под срабатывание словаря vse_vsyo.rex или словарь dic
пришел пока к такому решению:
1) запускаем Поиск [^\r\n]*(\bвсе\b|\bвсем\b)[^\r\n]* нажимаем кнопку "Все подходящие"
(переносим в новое окно все абзацы, в которых присутствуют слова все либо всем, при этом, абзацы содержащие слова всё и всём, если они присутствуют в оригинале - игнорируются)
2)полученный в п.1) результат прогоняем через словари: _vse_vsyo.rex и словарь dic (в словаре dic правила - исправления ошибок срабатывания словаря _vse_vsyo.rex)
3)в полученном в п.2) результате запускаем Поиск [^\r\n]*(\bвсё\b|\bвсём\b)[^\r\n]* нажимаем кнопку "Все подходящие"
(переносим в новое окно только те абзацы, в которых появились изменения в результате срабатывания словаря _vse_vsyo.rex
4) Просматриваем результат на выявление ложных срабатываний и их добавлением в исключения в словарь dic. Для удобства включаем подсветку всё или всём при помощи словаря всё.hmg, в котором всего две строки:
► Показать
Вопрос к flegont, можно как нибудь прописать в скрипте п.1 и п.3 ? Что бы весь процесс свести к запуску одного скрипта?

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

Demagog TTS

#102

Сообщение flegont » 07 окт 2018 08:25

Я собираюсь провести эксперимент, на предмет того, можно ли создать для Встроенного интерпретатора специальную функцию, выполняющую те же опции, что окно "Поиск и замена в тексте".
О результатах напишу.

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

Demagog TTS

#103

Сообщение flegont » 07 окт 2018 19:57

Или... уже сейчас вполне можно написать скрипт, извлекающий из выбранного текста все абзацы, содержащие заданные слова. Например: 'все|всем'. И регулярные выражения для этого не нужны. Достаточно средств самого встроенного интерпретатора :suspect:

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

Demagog TTS

#104

Сообщение tonio_k » 07 окт 2018 21:19

Небольшое пожелание по работе скриптов.
А есть возможность добавить такую функцию, как блокировка (защита) текущего окна Демагог от редактирования текста пользователем?
Например:
► Показать
Эта фишка будет защищать от попыток редактирования текущего окна до окончания работы скрипта. А еще не плохо было бы, если при активации Blok(ind) еще менялся цвет фона окна, а при UnBlok(ind) - восстанавливался.

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

Demagog TTS

#105

Сообщение flegont » 07 окт 2018 23:19

Идея красивая. Надо поэкспериментировать.

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

Demagog TTS

#106

Сообщение flegont » 07 окт 2018 23:57

Провел такое испытание.
В скрипт Pronunciation ajustment.lua добавил перед циклом словарных замен команду интерпретатора StrSpeak('А ну, убрал лапы с клавиатуры!')
А после цикла словарных замен вставил StrSpeak('Готово! Можно работать, чувак')
Запустил, вышло, как задумано: сперва строгий голос предупредил, потом минуту-другую выполнялись словарные замены, и наконец, прозвучало разрешение продолжать работу :smile3:
Т.е. последовательность соблюдается. Аналогично, полагаю, будет работать и блокировка/разблокировка активного окна. Новых функций интепретатора ради нее плодить не буду. Достаточно доработать WActive, добавив второй параметр.
WActive(i, mode)
mode = true - окно i активно и доступно для редактирования
mode = false - окно i активно, но недоступно для редактирования
По умолчанию mode = true.
Где-то так, в следующей 356 версии... :boast:

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

Demagog TTS

#107

Сообщение tonio_k » 08 окт 2018 16:09

v. 7.29.355
flegont писал(а):
07 окт 2018 19:51
[-] При повторной записи аудио как сериала с тем же именем, теперь нет автоматического удаления файлов, созданных ранее.
Если во время записи аудио (в настройках стоит запись как сериал), нажать кнопку "стоп", то удаляются все файлы txt из папки назначения. Сделайте пожалуйста, что бы они не удалялись. Захочу продолжить - удалю сам все файлы txt, к которым создался аудиофайл и продолжу запись через пункт меню Сервис-Пакетная запись аудио.
Сейчас же, если я запущу повторно запись книги в тот же каталог, то происходит полная перезапись всей книги. А хотелось бы, что бы перезапись автоматически начиналась с последнего аудио файла.

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

Demagog TTS

#108

Сообщение flegont » 08 окт 2018 18:34

Я планирую такое изменение: текстовые файлы будут удаляться в процессе записи аудио по одному. Как только закончилась штатно запись очередной серии, так соответствующий текстовый файл удаляется. Если запись аудио прервана, то останутся тексты, соответствующие еще не записанным аудио, а также текущий - на котором процесс был оборван.
Впоследствии, можно будет дописать оставшиеся в режиме "Пакетная запись аудио".

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

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

Demagog TTS

#109

Сообщение tonio_k » 09 окт 2018 17:27

Ещё одно пожелание. Думаю актуально для тех, кто иногда меняет настройки записи сериалов (размер файла, нумерацию, озвучка блоков): что бы при нажатии на кнопку запись аудио, выходило информационное окно с выходными параметрами записи из настроек.
Типа:
Размер файла: 19200 символов (=21 мин. звучания)
Формат записи: mp3; 64kb -X----
Имя первого файла: 0001_Сказки на ночь
Начало нумерации: 1
Папка аудио: C:\MP3_book\
Это окошко пригодится, когда забыл, что когда-то менял настройки. Запустив запись, выходит информационное окно и сразу понятно, что можно продолжать запись, или вовремя остановиться и вернутся к изменению настроек.

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

Demagog TTS

#110

Сообщение flegont » 09 окт 2018 21:27

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

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

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

Demagog TTS

#111

Сообщение tonio_k » 10 окт 2018 13:00

flegont писал(а):
07 окт 2018 19:51
[+] "Сервис - Общие настройки... - Литературный текст - При открытии файла" и "Сервис - Общие настройки... - Прочее - Вставлять примечания при открытии файла" теперь действуют также на "Сервис - Пакетный конвертер --> TXT" и "Сервис - Объединить тексты".
а в Сервис -> "Пакетная запись аудио" это работает?

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

Demagog TTS

#112

Сообщение flegont » 10 окт 2018 14:57

Нет. Опция "Запись аудио" имеет своим содержанием только одно: превращение исходного текстового файла в звуковой. Соблюдается взаимно-однозначное соответствие текста и звука.
Все правки исходного текста (если они необходимы) должны быть выполнены до записи аудио.

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

Demagog TTS

#113

Сообщение flegont » 11 окт 2018 15:45

В дистрибутив вер. 356 включен пример скрипта Fragments with given words.lua. Он предназначен для поиска в тексте абзацев, содержащих заданные слова. Список слов вводит пользователь в начале работы скрипта. Например: все; всем
Разделитель слов ; обязателен. Между словами может быть также любое количество пробелов - они игнорируются.
Ранее введенный перечень слов сохраняется, и будет показан при повторном запуске скрипта.
Результат работы: текст в окне Статистика, содержащий все абзацы, в которых встречается хоть одно из перечисленных пользователем слов.

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

Demagog TTS

#114

Сообщение tonio_k » 11 окт 2018 17:38

flegont писал(а):
11 окт 2018 15:36
[+] Теперь при прерывании серийной записи аудио, в папке назначения вмеcте с готовыми аудиофайлами остаются и необработанные текстовые файлы. В дальнейшем их можно будет преобразовать в аудиофайлы опцией "Сервис - Пакетная запись аудио".
Проблема в том, что остаются необработанные текстовые файлы следующие за последним записанным аудио файлом. А этот аудио файл как раз и бывает чаще всего "битым". Попробуйте запустить запись в аудио и где-то на середине работы словаря (до начала конвертации WAV to MP3) нажать кнопку "стоп".
Получим примерно такую картину:
► Показать
А нужно что бы было так:
► Показать
Тогда при запуске "Сервис - Пакетная запись аудио" всегда будет перезаписываться последний аудио файл (в примере 0003.mp3) так как он скорее всего битый.

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

Demagog TTS

#115

Сообщение flegont » 11 окт 2018 17:48

На этапе подготовки версии я пробовал оба эти варианта. Остановился пока на том, что есть. Ни разу при экспериментах на нем не получил "битый" крайний mp3.
Ну, а там посмотрим, по результатам дальнейшей эксплуатации.

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

Demagog TTS

#116

Сообщение tonio_k » 11 окт 2018 18:07

Эксперимент Получение битого аудио файла
► Показать

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

Demagog TTS

#117

Сообщение flegont » 11 окт 2018 18:24

Ой, только без мультиков, плиз... :roll_eyes:
Словами, пошагово, так будет яснее.

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

Demagog TTS

#118

Сообщение tonio_k » 11 окт 2018 18:32

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

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

Demagog TTS

#119

Сообщение flegont » 11 окт 2018 18:53

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

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

Demagog TTS

#120

Сообщение tonio_k » 11 окт 2018 19:03

Если "мультики" глянуть, то у меня вообще от файла только имя :big_smile: остаётся. можно только последние 20 сек посмотреть

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

Demagog TTS

#121

Сообщение flegont » 11 окт 2018 19:22

Ситуация теперь понятная. Причем и 2-й вариант, с оставлением предыдущего крайнего текста, не сильно помогает. Я ухитрился, как следует потоптавшись по клавише Стоп, разрушить "средний" mp3, а потом процесс опять продолжился штатно. И все тексты удалились, как будто при успешном завершении :rofl:

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

Demagog TTS

#122

Сообщение flegont » 11 окт 2018 19:43

Вариант №3. Вообще обработанные текстовые серии не удалять автоматически, а по завершении записи сериала выдавать сообщение типа "Готово! Результат в .... Удалить временные текстовые файлы? [Да] Нет"
Пусть пользователь сам решает: нужны ли они еще ему.

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

Demagog TTS

#123

Сообщение tonio_k » 11 окт 2018 20:19

Пока идёт запись, я могу сархивировать все текстовые файлы и доставать их по мере надобности из архива. (так Сейчас и делаю). Все случаи, когда я обращался к архиву, (останавливал запись) сводился к вытаскиванию всех последующих файлов плюс один для перезаписи последнего аудио из предыдущей сессии. Тот факт, что может сломаться ещё и два последних файлов, действительно наводит на мысль, что лучше текстовые файлы хранить до окончания записи. И удалять только с разрешения. (И добавить контрольным окном "вы хотели удалить файлы... Вы все еще настаиваете на этом? :smile3: )
И вот такая шальная мысль пришла, а может действительно zip архив создавать? Перед началом записи. Тогда можно текстовые файлы удалять на любом этапе, но мне бы хотелось, оставлять все последующие текстовые файлы с "запасом" плюс один для перезаписи потенциально битого.


Отправлено спустя 47 минут 1 секунду:
flegont писал(а):
11 окт 2018 19:43
Вариант №3. Вообще обработанные текстовые серии не удалять
все же, этот вариант хоть и не такой изящный, зато универсальный. Для любого расклада подойдёт и, мне кажется, не требует глубоких изменений в алгоритме Демагога. Так что такой вариант меня бы устроил.
Вопрос: Сообщение "удалять или нет временныйе файлы", при запуске записи через скрипт с отключением ПК, как будет сочетаться?

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

Demagog TTS

#124

Сообщение flegont » 11 окт 2018 21:13

"Мы тут посовещались, и я решил" (с) :smile1: что будет вариант №2 - с одним добавочным текстовым файлом. Пока на этом всё. Любые более универсальные решения могут и подождать - они требуют обдумывания, учета возможных побочных эффектов, в т.ч. для скриптов.

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

Demagog TTS

#125

Сообщение tonio_k » 11 окт 2018 22:10

flegont писал(а):
11 окт 2018 21:13
Обновленный экзешник
"Протестировал. Оказалось, у меня всего одна "запасная жизнь" :plus_1:
Сам процесс: Идет запись... Останавливаем. В папке назначения - всё ок. (Последний аудио файл и текстовый файл к нему с таким же наименованием для последующей перезаписи). Начинаем возобновление записи: Сервис -> "Пакетная запись аудио" Запись пошла... Но вот на 15-той книге где то под утро мне надо снова остановить запись, что бы вечером ее продолжить. Останавливаю... Оппа! - Все текстовые файлы удалены :tv2:

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

Demagog TTS

#126

Сообщение flegont » 11 окт 2018 22:26

Хмм... "Давненько я не брал в руки шашек..." (с) то бишь не пользовался сам Пакетной записью аудио. Посмотрю, что там за странности :wizard:

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

Demagog TTS

#127

Сообщение flegont » 11 окт 2018 23:49

Обновил экзешник в дистрибутиве

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

Demagog TTS

#128

Сообщение tonio_k » 12 окт 2018 00:13

[+] Функция встроенного интерпретатора WActive() теперь имеет второй параметр: true или false - разрешать/запрещать редактирование в активном окне. По умолчанию: true.
а как в скрипте эта строка должна выглядеть, что бы окно заблокировалось?


Отправлено спустя 13 минут 59 секунд:
flegont писал(а):
11 окт 2018 23:49
Обновленный экзешник
Теперь при повторном запуске Сервис -> "Пакетная запись аудио" текстовые Файлы остаются в папке. Все остаются. А я ожидал, что будет "вариант №2 - с одним добавочным текстовым файлом"

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

Demagog TTS

#129

Сообщение flegont » 12 окт 2018 09:46

"Пакетная запись аудио" изначально была сделана так:

- если папка назначения для mp3 совпадает с папкой исходных текстов - то mp3 кладутся в ней рядом с текстами, тексты не удаляются. Потому что они - НЕ ВРЕМЕННЫЕ, это просто некие документы, которые надо пакетно озвучить.

- если папка назначения отличается от исходной папки с текстами, то тексты КОПИРУЮТСЯ в папку назначения, там озвучиваются и УДАЛЯЮТСЯ. Потому что там они - временные копии.Тексты же в исходной папке опять-таки остаются в целости и сохранности.

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

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

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

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

Demagog TTS

#130

Сообщение tonio_k » 12 окт 2018 10:08

flegont писал(а):
12 окт 2018 09:46
Пакетная запись аудио" изначально была сделана так:
Согласен. По хорошему продолжение записи аудио это не ее прямая задача а скорее хитрый ход". Тогда такое предложение:
Открываю книгу. Даю команду записать аудио. Идет запись. Останавливаю запись. Выхожу из демагога. Теперь заново Открываю ту же книгу и с теми же настройками даю команду записать книгу. Демагог сообщает "В найденной папке уже есть файлы. Продолжить запись книги? ДА/НЕТ.
Если ДА, то автоматом начинается пакетная запись "всех" текстовых файлов по "вариант №2 - с одним добавочным текстовым файлом". Если НЕТ, то начинается перезапись содержимого папки.

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

Demagog TTS

#131

Сообщение flegont » 12 окт 2018 11:28

Да, такое предупреждение будет. И при любом "сеансе продолжения записи" текстовые файлы будут сохраняться по варианту №2 - с одним добавочным.

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

Demagog TTS

#132

Сообщение flegont » 13 окт 2018 16:21

а как в скрипте эта строка должна выглядеть, что бы окно заблокировалось?
Второй параметр в функции встроенного интерпретатора: WActive( i, editmode )

Он может быть true (по умолчанию) или false - разрешить/запретить редактирование окна i

-- Пример 1
WActive(7,false) -- заблокировать окно 7
WActive(7) -- разблокировать окно 7


Можно в любом другом окне написать WActive(7,false) и нажать F2
окно 7 тут же станет активным, но заблокированным
Затем вернуться в предыдущее, исправить на WActive(7) или WActive(7,true) - это одно и то же, и 7-е окно разблокируется.

-- Пример 2
for i = 1,16 do WActive(i,false) end


F2

и всё, спасет только перезапуск Демагога :rofl:

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

Demagog TTS

#133

Сообщение tonio_k » 13 окт 2018 23:09

flegont писал(а):
11 окт 2018 15:36
[-] Исправлена ошибка функции встроенного интерпретатора WFilter(), когда словарные замены по dic-словарям выполнялись только по "быстрому алгоритму", независимо от указанного в Настройках.
Оказывается баг был той еще "фичей":thinking:.

С его исправлением столкнулся с таким моментом:
Ранее применяя скрипт ПЕРВИЧНАЯ ОБРАБОТКА.lua, срабатывали словарь rex и словарь Ё-фикатор. Обработка происходила примерно за 10-15 сек. Полученный текст книги можно было сразу запускать на чтение или сразу приступать к записи в аудио книги по активированным словарям.
Теперь же ПЕРВИЧНАЯ ОБРАБОТКА.lua стал выполняться дольше одной минуты.

Все правильно: убрана галочка в "Общие настройки" - "Чтение" правила из dic словарей применяются в порядке убывания длины (рекомендуется), значит правила применяются по алгоритму "прямого перебора" - а он медленный.

И вот какая идея мне пришла, а что если (только на уровне скриптов) WFilter добавить дополнительный параметр - указание алгоритма ("быстрый алгоритм" или прямой перебор) по которому будет применяться словарь dic. По умолчанию пусть будет тот, что указан в "Общие настройки" - "Чтение". Или указание алгоритма сделать обязательным для работы WFilter

Под такой гибридный алгоритм любой словарь dic можно разбить на две части:
Первый словарь dic - сборник правил по "быстрому алгоритму"
Второй словарь dic - сборник правил с алгоритмом "прямой перебор".

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

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

Demagog TTS

#134

Сообщение flegont » 13 окт 2018 23:44

Я себе представляю это так:

WFilter( i, j, dicname, mode)

К тексту в окне i применить словарь dicname и поместить результат в окно j.
mode = true - словарь dicname формата .dic работает по быстрому алгоритму
mode = false - словарь dicname формата .dic работает по прямому перебору
если параметр mode не указан, то берется значение из Настроек программы
если dicname - словарь формата .rex, то mode - игнорируется (если был нечаянно указан)

P.S. На моем компе прямой перебор в Демагоге на словарях до 1000 правил по скорости сравним с быстрым алгоритмом. А дальше - начинает постепенно отставать. 50000..100000 правил - разница уже в разы.

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

Demagog TTS

#135

Сообщение tonio_k » 14 окт 2018 00:18

flegont писал(а):
13 окт 2018 23:44
P.S. На моем компе прямой перебор в Демагоге на словарях до 1000 правил по скорости сравним с быстрым алгоритмом. А дальше - начинает постепенно отставать. 50000..100000 правил - разница уже в разы.
звучит так, будто разбиение словаря на несколько маленьких придаёт прямому перебору коэффициент ускорения :metatel:
Поэксперементирую. Ну а вдруг все именно так? :suspect:


Отправлено спустя 1 час 52 минуты 31 секунду:
Эксперимент

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

1) Прямой перебор:
1.1) 1 словарь REX + 1 большой словарь DIC = 3м.40с
1.2) 1 словарь REX + 11 маленьких словарей DIC = 3м.40с
Что удивительно секунда в секунду :smile1:

2) Быстрый алгоритм:
2.1) 1 словарь REX + 1 большой словарь DIC = 21с :thumbs_up:
2.2) 1 словарь REX + 11 маленьких словарей DIC = 1м.10с :surprise2:

Выводы
  • быстрый алгоритм - быстрый.
  • объединение нескольких словарей в один дает ощутимый прирост в скорости. Но тут надо учитывать, что словари применялись через скрипт последовательно один за другим. Если бы эти словари применялись путем их активации в окне словарей и далее "показать измененный текст", то они автоматом объединяются в один файл и результат был бы как в 2.1 Поэтому для скрипта надо стараться, что бы словари по быстрому алгоритму были, по возможности, слиты в один.
  • прямой перебор работает одинаково по времени в любой последовательности и раздробленности

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

Demagog TTS

#136

Сообщение flegont » 14 окт 2018 10:16

Очень интересный эксперимент! :thank_you:
Сделаю одно пояснение. В Демагоге
прямой перебор работает одинаково по времени в любой последовательности и раздробленности
потому что большие тексты, перед применением прямого перебора, Демагог сам делит на фрагменты, применяет к ним прямой перебор, и "склеивает" результаты воедино. Т.е. экономия времени от "дробления" им уже получена.
Размер фрагмента можно увидеть (и изменить) в Сервис - Общие настройки - Чтение - Читать текст последовательными блоками с количеством символов ...
По умолчанию: 8192 - примерно 4 книжные страницы.

Аватара пользователя
balaamster
Обыватель

Demagog TTS

#137

Сообщение balaamster » 14 окт 2018 21:30

flegont,
Подскажите, пожалуйста, где можно ознакомиться со списком внутренних функций (и принимаемыми параметрами) Demagog, которые можно использовать в lua-скриптах?
Во встроенной справке, к сожалению, не нашёл.

Поздно я осознал все прелести Demagog, но лучше поздно, чем никогда. Сейчас пытаюсь наверстать упущенное, изучаю функционал программы.

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

Demagog TTS

#138

Сообщение flegont » 14 окт 2018 22:50

В дистрибутиве Демагога есть файл ..\_Tests_\argo-interpreter.htm

Это - сверхкраткое (пока что, к сожалению) описание встроенного интерпретатора и его функций.
Встроенный интерпретатор в Демагоге - это известный скриптовый язык Lua версии 5.3.

Он пополнен некоторым количеством "внедренных" функций, представляющих собой вызовы тех или иных подпрограмм Демагога или функций языка Delphi. Я выбрал для них имена, начинающиеся с большой буквы - чтобы отличать от собственных функций Lua.

А вот здесь нормальный учебник Lua от создателя языка Роберто Иерусалимского. Эту книжку не нужно читать от корки до корки. Просто пролистать первые несколько страниц - знакомство со структурой языка, основные команды и функции. Сам я не такой уж знаток Lua и часто пользуюсь этой книжкой, как справочником.

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

Demagog TTS

#139

Сообщение tonio_k » 17 окт 2018 12:28

Сервис - Орфография - Проверка словарей DIC. Рассмотрите пожалуйста возможность выявления такого рода ошибок:
перед ним=пЕред ним
стоящего перед=стоЯщего перед

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

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

Demagog TTS

#140

Сообщение flegont » 17 окт 2018 12:37

подумаю над этим

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

Demagog TTS

#141

Сообщение tonio_k » 28 окт 2018 00:24

1.08.020 beta
28 октября 2007 Первая, опубликованная в Инете версия. День рождения программы Demagog. Program "Demagog"
flegont, примите поздравления и благодарность за вашу замечательную программу! :cheerleaderkid:

Аватара пользователя
balaamster
Обыватель

Demagog TTS

#142

Сообщение balaamster » 28 окт 2018 00:56

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

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

Demagog TTS

#143

Сообщение flegont » 28 окт 2018 08:46

:thank_you: :champagne: :bayan:
11 лет программе Demagog

Аватара пользователя
balaamster
Обыватель

Demagog TTS

#144

Сообщение balaamster » 07 ноя 2018 20:51

При работе с движком RHVoice, столкнулся с необъяснимым поведением:
1. Выбираю голос, например Aleksandr, и устанавливаю нужный мне тембр: -8
2. Запускаю чтение - всё в порядке, тембр -8.
3. Закрываю Demagog
4. Запускаю Demagog заново - тембр сбился на значение 10

Или второй вариант развития событий:

1. Выбираю голос, например Aleksandr, и устанавливаю нужный мне тембр: -8
2. Запускаю чтение - всё в порядке, тембр -8.
3. Запускаю запись аудио, тембр сразу же сбивается на значение 10.

Спасает только трюк при создании сериалов: "Добавлять в начале и конце название файла и номер части" - <pitch absmiddle="-8"/> "%1". Серия %2.
Можно это как-то побороть?

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

Demagog TTS

#145

Сообщение flegont » 07 ноя 2018 21:37

Не могу так вот сразу поставить диагноз. Другие голосовые движки как себя ведут?

Аватара пользователя
balaamster
Обыватель

Demagog TTS

#146

Сообщение balaamster » 07 ноя 2018 22:13

flegont писал(а):
07 ноя 2018 21:37
Другие голосовые движки как себя ведут?
Попробовал с другими движками. Проблема воспроизводится аналогично.
Ранее, на других движках, не сталкивался с этим, потому что тембр по умолчанию всегда устраивал.

Обнаружил закономерность: если тембр установлен меньше нуля, то происходит сбрасывание на "10", в описанных ранее случаях. Если >=0, то тембр не сбрасывается. Со скоростью проблемы нет, независимо от отрицательного значения.

Почитал справку по RHVoice, поправил конфиг для голоса в RHVioce.ini:
voices.aleksandr.default_pitch = 0.1
Теперь, независимо от выбранного значения тембра в приложении, голос звучит с тембром -10.

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

Demagog TTS

#147

Сообщение flegont » 07 ноя 2018 22:22

Ага, спасибо. Значит, проблемные - "отрицательные" тембры. Буду разбираться.


Отправлено спустя 1 час 13 минут 57 секунд:
Перезалил дистрибутив. Теперь отрицательные тембры не сбрасывает.

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

Demagog TTS

#148

Сообщение tonio_k » 10 ноя 2018 21:19

Демагог файлы fb3 открывает?

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

Demagog TTS

#149

Сообщение flegont » 11 ноя 2018 00:08

Нет. Формат fb3 пока не доказал свою жизнеспособность. Его использует практически только LitRes, техническим редактором которого является Грибов, 20 лет назад изобретший формат fb2. Понятно его желание вдохнуть в отживающий fb2 новую жизнь... но результаты пока неубедительны, имхо

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

Demagog TTS

#150

Сообщение tonio_k » 18 ноя 2018 02:18

Сервис - Орфография - Проверка словарей DIC

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

мы знаем, всё *ые=мы знаем, всё ые
Такое правило не отлавливает. Рассмотрите возможность добавить проверку:
Если левая часть правила, При условии если убрать все звездочки "приклееные слову" (звездочка не окружена с двух сторон пробелами) будет равно правой части правила с учетом регистра, - то вывести в окно статистики

Ответить

Вернуться в «Demagog»