Скрипты для Demagog
Модератор: flegont
- regacaty
- Постоялец
Скрипты для Demagog
Ок, но в профильной теме по яндекс.ттс есть инструкция работы с 4мя программами.
прочел форум - он маленький)
Вопросов всего 2:
1. на сколько вам хватает пробного (или для разработчика) ключа от яндекс.клауд? сколько часов можно записать?
не делайте выводы вместо меня) просто пытаюсь разобраться, хочеться послушать вариант обработаный сборкой Demagog-Yandex, вчера вот пробовал записать кусочек текста без предварительной обработки в Balabolka, не понравилось. Николай плюс mp3book2005 на голову выше, плюс скорость записи тоже много значит - по 10-12 книг записываю иногда за один раз.
- regacaty
- Постоялец
- wasyaka
- V.I.P.
Скрипты для Demagog
► Показать
Ну да - если искать не хочется...
► Показать
Я и не делаю см. выше этого поста
СЛИШКОМ МНОГО ВОПРОСОВ
- wasyaka
- V.I.P.
Скрипты для Demagog
Несколько месяцев проводил эксперемент:
Добивал омографы вручную через Homograph. Те которые по умолчанию звучат правильно - не изменялись - если дома(дОма) не менялось, а только если домА и т.д.
До обработки список фраз и после - удалил дубликаты - остались те которые обработались.
Сохранял сумируя далее через прогу сделал статистику.
Оказалось, что из 1700 поисковых слов омографов более 2-х раз изменялось только 380 слов... Полтора месяца добиваю вручную этот укорот - всего несколько раз встретилось то что неучитывалось.
Наращивать словари надо осторожно - а лучше от 100 до 300 (не обработанных) пробить вручную - 5-15мин...
- good_cat
- Администратор
Скрипты для Demagog
Да, это так. Я бы даже сказал очень осторожно.
Под спойлером выборка из omograph.rar, где "омографы" - совсем не омографы.
► Показать
волосА - у Корнея Чуковского в "Мойдодыре",
клапанА - у Владимира Высоцкого.
Ну на то они и поэты ...
- wasyaka
- V.I.P.
- good_cat
- Администратор
Скрипты для Demagog
из 380 омографов из словаря omograph.rar -169 "вредные" омографы из краткого словаря омографов truncated.hmg, в котором 523 омографа.
- tonio_k
- V.I.P.
Скрипты для Demagog
Выкладываю Помощник по созданию несложных правил для словарей REX.
Принцип похож на создание правил для словарей DIC со звездочками за некоторыми исключениями. Важный момент - Все звездочки в левой и правой части правил должны быть зеркальными.
Скрипт срабатывает к текущему окну.
Пример 1
Вводим:
стоящ* в * шагах=стоЯщ* в * шагах
Результат работы скрипта:
\bстоящ(\w+) в\b(\s*\w*\s*)\bшагах\b=стоЯщ$1 в$2шагах
Пример 2
Вводим:
*стоящ* в * * * шагах=*стоЯщ* в * * * шагах
Результат работы скрипта:
\b(\w+)стоящ(\w+) в\b(\s*\w*\s*\w*\s*\w*\s*)\bшагах\b=$1стоЯщ$2 в$3шагах
Можно "схитрить" для создания более сложного правила: в правой части правила вместо копирования "скобок захвата" вставляем звездочку:
Пример 3
Вводим:
*(ему|ому) * змею=** * змЕю
Результат работы скрипта:
\b(\w+)(ему|ому)\b(\s*\w*\s*)\bзмею\b=$1$2$3змЕю
Принцип похож на создание правил для словарей DIC со звездочками за некоторыми исключениями. Важный момент - Все звездочки в левой и правой части правил должны быть зеркальными.
Скрипт срабатывает к текущему окну.
Пример 1
Вводим:
стоящ* в * шагах=стоЯщ* в * шагах
Результат работы скрипта:
\bстоящ(\w+) в\b(\s*\w*\s*)\bшагах\b=стоЯщ$1 в$2шагах
Пример 2
Вводим:
*стоящ* в * * * шагах=*стоЯщ* в * * * шагах
Результат работы скрипта:
\b(\w+)стоящ(\w+) в\b(\s*\w*\s*\w*\s*\w*\s*)\bшагах\b=$1стоЯщ$2 в$3шагах
Можно "схитрить" для создания более сложного правила: в правой части правила вместо копирования "скобок захвата" вставляем звездочку:
Пример 3
Вводим:
*(ему|ому) * змею=** * змЕю
Результат работы скрипта:
\b(\w+)(ему|ому)\b(\s*\w*\s*)\bзмею\b=$1$2$3змЕю
- wasyaka
- V.I.P.
Скрипты для Demagog
Совсем не омографы как раз для художественной литературы, где бухАют мусорА...
Я например ни разу не слышал чтоб говорили застучали клАпана или клАпана отрегулировать...
- good_cat
- Администратор
Скрипты для Demagog
Клапаны множественное число от клапан, так по правилам орфографии.
КлапанА - это профессиональный жаргон, так же как и искрА, компАс, инженерА, принтерА.
Может быть в будущем и будут литературной нормой, а пока это жаргонизмы или просторечье.
Признак "принадлежности" к профессии, так сказать.
КлапанА - это профессиональный жаргон, так же как и искрА, компАс, инженерА, принтерА.
Может быть в будущем и будут литературной нормой, а пока это жаргонизмы или просторечье.
Признак "принадлежности" к профессии, так сказать.
- tonio_k
- V.I.P.
Скрипты для Demagog
Вопрос.
Пример запускаемый скрипт (схематично):
schetchik=0
for i = 1,#a0 do
schetchik=schetchik+1
message1= TextOut(-3,5,"Книга "..schetchik.." из "..#a0,2)
x, y = IndexFilterAndAudioToAll(homedir, '*.txt', true)
end
Функция:
IndexFilterAndAudioToAll(folder, mask, remsource)
require "profiles/grafica" -- подгружаем ГРАФИЧЕСКУЮ библиотеку с функциями
Show()
for i = 1,#a do
local schetchik = 1
TextOut(-3,3,"Обработка сериала "..schetchik.." из "..#a.." ("..math.floor(100*schetchik/#a).."%)",2)
end
Вопрос, как переменную message1 передать функции, что бы ее значение TextOut запускался вместе с запуском такого же TextOut в самой функции?
Типа такого:
IndexFilterAndAudioToAll(folder, mask, remsource)
require "profiles/grafica" -- подгружаем ГРАФИЧЕСКУЮ библиотеку с функциями
Show()
for i = 1,#a do
local schetchik = 1
TextOut(-3,3,"Обработка сериала "..schetchik.." из "..#a.." ("..math.floor(100*schetchik/#a).."%)",2)
TextOut(-3,5,"Книга "..schetchik.." из "..#a0,2)
end
Пример запускаемый скрипт (схематично):
schetchik=0
for i = 1,#a0 do
schetchik=schetchik+1
message1= TextOut(-3,5,"Книга "..schetchik.." из "..#a0,2)
x, y = IndexFilterAndAudioToAll(homedir, '*.txt', true)
end
Функция:
IndexFilterAndAudioToAll(folder, mask, remsource)
require "profiles/grafica" -- подгружаем ГРАФИЧЕСКУЮ библиотеку с функциями
Show()
for i = 1,#a do
local schetchik = 1
TextOut(-3,3,"Обработка сериала "..schetchik.." из "..#a.." ("..math.floor(100*schetchik/#a).."%)",2)
end
Вопрос, как переменную message1 передать функции, что бы ее значение TextOut запускался вместе с запуском такого же TextOut в самой функции?
Типа такого:
IndexFilterAndAudioToAll(folder, mask, remsource)
require "profiles/grafica" -- подгружаем ГРАФИЧЕСКУЮ библиотеку с функциями
Show()
for i = 1,#a do
local schetchik = 1
TextOut(-3,3,"Обработка сериала "..schetchik.." из "..#a.." ("..math.floor(100*schetchik/#a).."%)",2)
TextOut(-3,5,"Книга "..schetchik.." из "..#a0,2)
end
- tonio_k
- V.I.P.
Скрипты для Demagog
Сам сообразил.
В запускаемом скрипте задаю переменные:
lev = -5
prav = 5
mess = "Книга "..schetchik.." из "..#a0
param = 2
А в самой функции указываю:
if lev then
TextOut(lev,prav,mess,param) -- берем глобальные переменные из основного скрипта
end
Добавил проверку на существование любой одной из переменных - на случай если в запускаемом скрипте отсутствует необходимость в TextOut. Тогда не будет выходить сообщения об ошибке.
В запускаемом скрипте задаю переменные:
lev = -5
prav = 5
mess = "Книга "..schetchik.." из "..#a0
param = 2
А в самой функции указываю:
if lev then
TextOut(lev,prav,mess,param) -- берем глобальные переменные из основного скрипта
end
Добавил проверку на существование любой одной из переменных - на случай если в запускаемом скрипте отсутствует необходимость в TextOut. Тогда не будет выходить сообщения об ошибке.
- tonio_k
- V.I.P.
Скрипты для Demagog
flegont, пример скрипта для теста (запуск в окне через F2)
Почему при запуске с каждым циклом строки разбегаются относительно друг друга, если координаты неизменны?
Код: Выделить всё
require "profiles/grafica" -- подгружаем ГРАФИЧЕСКУЮ библиотеку с функциями
schetchik0 = 1
schetchik1 = 0
lev = -5
prav = 5
mess = "Книга "..schetchik0
param = 2
for i = 1,5 do
schetchik1 = schetchik1 + 1
Show() -- Открываем окно графика
Headline('Прогресс выполнения')
Clear() -- очищаем окно с старыми событиями
TextOut(-3,3,"Обработка сериала "..schetchik1,2)
if lev then
TextOut(lev,prav,mess,param) -- берем глобальные переменные из основного скрипта
end
Render()
Delay(1000)
end
► Показать
- flegont
- V.I.P.
Скрипты для Demagog
Не усложняйте.
Есть задача: отобразить счетчик сериалов, а ниже - счетчик книг очередного сериала.
Для корректного эффекта анимации, вся информация для очередного кадра должна быть "нарисована" одновременно. При этом надо еще поддерживать один и тот же масштаб каждого кадра.
Как-то так:
Примечание: если закомментировать Area(-100,-100,100,100), то увидим эффект "плавающего" масштаба. Т.к. рабочая область не задана, то каждый раз она рассчитывается так, чтобы изображение занимало всё окно Инфографики.
Есть задача: отобразить счетчик сериалов, а ниже - счетчик книг очередного сериала.
Для корректного эффекта анимации, вся информация для очередного кадра должна быть "нарисована" одновременно. При этом надо еще поддерживать один и тот же масштаб каждого кадра.
Как-то так:
Код: Выделить всё
require "profiles/grafica"
Headline('Прогресс')
Show()
for k = 1,5 do
for i = 1,15 do
Clear()
Area(-100,-100,100,100) -- рабочая область (задает масштаб)
Font('Arial',30,Green)
TextOut(0,50,'Сериал '..k,taCenter)
TextOut(0,0,'Книга '..i,taCenter)
Render()
Delay(100) -- имитация вычислений для книги
end
Delay(200) -- имитация вычислений для сериала
end
- tonio_k
- V.I.P.
Скрипты для Demagog
Код: Выделить всё
-- печать всех строк текста из окна 1, отвечающих заданному регулярному выражению
-- поиск идет с учетом регистра (символ @ в начале РВ)
s = WText(1)
r = [[@^[^\=]*\=[^\=]*вОрон\b[^\=]*$]]
k = 1
while k > 0 do
fnd, k = RexMatch(s,r,k)
print(fnd)
if k > 0 then k = k+#fnd+1 end
end
Без определения исходного GaugeInit(max) никак не получается. Цикл while k > 0 do не предполагает точного количества тактов цикла
- flegont
- V.I.P.
Скрипты для Demagog
Код: Выделить всё
-- печать всех строк текста из окна 1, отвечающих заданному регулярному выражению
-- поиск идет с учетом регистра (символ @ в начале РВ)
s = WText(1)
r = [[@^[^\=]*\=[^\=]*вОрон\b[^\=]*$]]
GaugeInit(#s)
k = 1
while k > 0 do
fnd, k = RexMatch(s,r,k)
print(fnd)
if k > 0 then k = k+#fnd+1 end
Gauge(k)
end
Gauge(0)
- tonio_k
- V.I.P.
Скрипты для Demagog
Функция сортировка таблицы "по убыванию":
Пример применения "Сортировка строк в порядке убывания":
Но вот с цифрами не все так просто. Пример текста:
Результат работы функции:
Вопрос, как сделать "цифровую" сортировку строк?
Код: Выделить всё
-- сортировка table по убыванию
function table.sortdescending(lines)
local t = {}
for i = 1, #lines do
t[i] = lines[i]
end
table.sort (lines, function (a, b) return (a > b) end)
for i = 1, #lines do
t[i] = lines[i]
end
return t
end
Код: Выделить всё
--Содержимое окна 1 будет отсортировано по убыванию и помещено в окно статистики.
s=WText(1)
s = string.split(s,'\r') -- преобразовываем список в ТАБЛИЦУ
s = table.sortdescending(s) -- сортируем по убыванию
s = table.concat(s,'\r') -- преобразовываем ТАБЛИЦУ в текст
WNew(0,s)
► Показать
► Показать
- flegont
- V.I.P.
Скрипты для Demagog
Код: Выделить всё
-- сортировка table по убыванию
function table.sortdescending(lines)
local t = {}
for i = 1, #lines do
t[i] = lines[i]
end
table.sort (lines, function (a, b) return (a > b) end)
for i = 1, #lines do
t[i] = lines[i]
end
return t
end
-- для строк вида 'цифры|буквы'
-- выровнять цифровую часть до 6 цифр, добавив ведущие нули
function addzeros(s)
local c
local a = string.split(s,'|')
if #a == 2 then
c = string.rep('0',6-#a[1])..a[1]..'|'..a[2]
else
c = s
end
return c
end
-- убрать ведущие нули из строки
function delzeros(s)
local c
local a = string.split(s,'|')
if #a == 2 then
c = string.format("%u",a[1])..'|'..a[2]
else
c = s
end
return c
end
--Содержимое окна 1 будет отсортировано по убыванию и помещено в окно статистики.
s=WText(1)
s = string.split(s,'\r') -- преобразовываем список в ТАБЛИЦУ
for i = 1,#s do s[i] = addzeros(s[i]) end
s = table.sortdescending(s) -- сортируем по убыванию
for i = 1,#s do s[i] = delzeros(s[i]) end
s = table.concat(s,'\r') -- преобразовываем ТАБЛИЦУ в текст
WNew(0,s)
- tonio_k
- V.I.P.
Скрипты для Demagog
flegont,
Теперь смог закончить скрипт Для текущего окна - берет все слова присутствующие в тексте, подсчитывает частоту повторений для каждого слова, сортирует по частоте повторений.
Подсчет слов - чувствительный к регистру (например слова: "нет" или "Нет" - будет считать как разные слова и подсчитает повторяемость отдельно для каждого слова). Поэтому предусмотрены варианты: перевести все слова в нижний регистр, не менять регистр, перевести в нижний регистр только первую букву в словах.
Так же можно исключить из подсчета все слова из 1-2 буквы
Теперь смог закончить скрипт Для текущего окна - берет все слова присутствующие в тексте, подсчитывает частоту повторений для каждого слова, сортирует по частоте повторений.
Подсчет слов - чувствительный к регистру (например слова: "нет" или "Нет" - будет считать как разные слова и подсчитает повторяемость отдельно для каждого слова). Поэтому предусмотрены варианты: перевести все слова в нижний регистр, не менять регистр, перевести в нижний регистр только первую букву в словах.
Так же можно исключить из подсчета все слова из 1-2 буквы
- flegont
- V.I.P.
Скрипты для Demagog
Исключать из подсчета короткие слова не надо. Есть гипотеза, что именно частота употребления коротких, т.н. служебных слов характеризует автора текста. Вот (не уверен, что полный) список служебных слов русского языка:
predlog = 'в|на|с|за|к|по|из|у|от|для|во|без|до|о|через|со|при|про|об|ко|над|из-за|из-под|под'
sojuz = 'и|что|но|а|да|хотя|когда|чтобы|если|тоже|или|то есть|зато|будто'
chastica = 'не|как|же|даже|бы|ли|только|вот|то|ни|лишь|ведь|вон|*-нибудь|уже|либо'
P.S. А вот сама гипотеза
predlog = 'в|на|с|за|к|по|из|у|от|для|во|без|до|о|через|со|при|про|об|ко|над|из-за|из-под|под'
sojuz = 'и|что|но|а|да|хотя|когда|чтобы|если|тоже|или|то есть|зато|будто'
chastica = 'не|как|же|даже|бы|ли|только|вот|то|ни|лишь|ведь|вон|*-нибудь|уже|либо'
P.S. А вот сама гипотеза
- tonio_k
- V.I.P.
Скрипты для Demagog
скрипт задаст вопрос исключить слова из 1-2 буквы? (Да/Нет). Так что это на выбор пользователя.
- tonio_k
- V.I.P.
Скрипты для Demagog
Строки скрипта можно записать в одну строку для визуального уменьшения полотна текста скрипта используя разделитель точка с запятой:
Вопрос, а как можно вставить комментарий?
Например мне нужно
Код: Выделить всё
a=1; a=a+1; print(a)
Например мне нужно
Код: Выделить всё
a=a+1 -- прибавим один
- flegont
- V.I.P.
Скрипты для Demagog
Ответ: никак.
Комментарий начинается в любом месте с двойного дефиса -- и длится до конца строки.
Комментарий начинается в любом месте с двойного дефиса -- и длится до конца строки.
- tonio_k
- V.I.P.
Скрипты для Demagog
оказывается есть вариант! вот тут в комментариях один чел написал:
Это может быть и --[[ внутристрочный ]] комментарий, аналогично /* такому */ (закомментирован может быть любой участок кода); "--" перед "]]" ставят просто для украшения.
Код: Выделить всё
a=1; a=a+1--[[прибавим один]]; print(a)
- flegont
- V.I.P.
Скрипты для Demagog
Да, действительно, слона-то я и не приметил
Но читабельность кода это не улучшает.
Но читабельность кода это не улучшает.
- tonio_k
- V.I.P.
Скрипты для Demagog
а как можно сделать "склеить все файлы в один файл MP3" ? - Что бы на выходе был один огромный файлbalaamster писал(а): ↑10 май 2019 21:411. Для настройки голоса запускаем через Ctrl+F2 "YaTTS_configure.lua" выбираем голос, темп речи, эмоциональную окраску, количество потоков для скачивания, длительность аудиофрагмента.
- balaamster
- Обыватель
Скрипты для Demagog
Для опции "Длительность аудиофрагмента" добавлен вариант "неограниченная"
Вот по этому вопросу так и не придумал как нормально реализовать решение:
По возможности, при таких сбойных фрагментах, отправьте мне логи.
Они хранятся по пути %temp%\tmp_doc\log (если записывался фрагмент из несохранённой вкладки) или %temp%\имя_файла_книги\log
Перейти во временный каталог можно просто скопировав в адресную строку проводника: %temp% и нажав "enter" (хотя, при неполностью завершённой, загрузке папка с временными файлами должна открыться скриптом в проводнике)
upd. по подсказке tonio_k добавил проверку на применение скрипта к пустой вкладке, которое вызывало ошибку.
Скрипты для Demagog
Простите, хочу использовать программу в связке с Яндекс TTS, какие словари и какую обработку делать как минимум? Спасибо.
- tonio_k
- V.I.P.
Скрипты для Demagog
Мне вот любопытно, почему WFilter(0,0,FONEMS.dic,true) открывает и применяет словарь primer.dic почти моментально не смотря на то что это может быть просто огромный по размеру словарь.
А вот если я захочу эту же процедуру прогнать через:
s=WText(0)
WOpen(0, dic..'FONEMS.dic',true)
p=WText(0)
s=DicRepl(s,{p},true)
То основная доля времени займет именно на открывание WOpen
вопрос, есть способ "быстро" присвоить значение переменной из файла dic?
А вот если я захочу эту же процедуру прогнать через:
s=WText(0)
WOpen(0, dic..'FONEMS.dic',true)
p=WText(0)
s=DicRepl(s,{p},true)
То основная доля времени займет именно на открывание WOpen
вопрос, есть способ "быстро" присвоить значение переменной из файла dic?
- flegont
- V.I.P.
Скрипты для Demagog
WFilter() не "открывает" словарь, а просто читает его строки непосредственно из файла в служебный массив в памяти. Такая процедура намного быстрее, чем загрузка текста в стандартный компонент редактирования RichEdit, который применяется в Демагоге для "визуализации" текста.
Так что WFilter() - это и есть "способ ускорения загрузки dic-словаря"
Так что WFilter() - это и есть "способ ускорения загрузки dic-словаря"
- tonio_k
- V.I.P.
Скрипты для Demagog
а служебный массив и в переменную это совсем разные вещи? Аналогично в переменную нельзя?
- flegont
- V.I.P.
Скрипты для Demagog
Служебный "словарный массив" в памяти Демагога поддерживает юникод. А в памяти интерпретатора юникоду тут же наступит кирдык. Именно поэтому WFilter работает отдельно от интерпретатора. Интерпретатор только запускает ее, и никак не вмешивается потом в ее работу.
Если полученный измененный текст (пусть он в окне 0) содержит юникод, то при s = WText(0) юникода в s уже не будет.
Если полученный измененный текст (пусть он в окне 0) содержит юникод, то при s = WText(0) юникода в s уже не будет.
- tonio_k
- V.I.P.
Скрипты для Demagog
А если меня устраивает что в переменную попадет ANSI?
или имеется в виду, если допустим текст на русском, но файл в Юникоде, то файл вообще не откроется с ошибкой неизвестный формат?
- flegont
- V.I.P.
Скрипты для Demagog
Средствами Lua можно открыть любой файл, как последовательность байтов. И юникодный файл в том числе. Получится некоторая переменная, строкового типа. Но, если ее попытаться отобразить визуально, например print(s), то получим абракадабру вместо осмысленного текста.
- flegont
- V.I.P.
Скрипты для Demagog
Единственное исключение, файлы в кодировке utf-8. Я как то уже приводил примеры. И загрузить файл в строку можно, и сохранить обратно в файл. И это - всё. Но явно присвоить в скрипте s = 'строка с символами юникода' не выйдет. Ибо сам текст скрипта должен содержать только символы ansi. Остальные превратятся в знак "?"
- tonio_k
- V.I.P.
Скрипты для Demagog
Только сейчас сообразил, что если в скрипте забыть обнулить окно (-1), то при запуске другого скрипта можно "подцепить" из предыдущего скрипта текст застрявший в окне (-1). Это сохраняется на всю сессию работы Демагога.
К стати, операция к окнам: "Все новые" и "Все новые, кроме текущего" - окно (-1) не очищает.
К стати, операция к окнам: "Все новые" и "Все новые, кроме текущего" - окно (-1) не очищает.
- flegont
- V.I.P.
Скрипты для Demagog
Да, внутренний текстовый буфер сохраняет информацию, пока не получит команду ее забыть. Или до конца сессии.если в скрипте забыть обнулить окно (-1)
Внутренний буфер - это не окно, и его эти опции не касаются.к окнам: "Все новые" и "Все новые, кроме текущего" - окно (-1) не очищает
- tonio_k
- V.I.P.
Скрипты для Demagog
Скажите пожалуйста,это поле у вас под что-то зарезервировано?
спрашиваю на предмет возможности выводить в это поле через скрипт текстовые сообщения.
► Показать
Скрипты для Demagog
Добрый день! Помогите плз разобраться с программой.
Хочу писать книжки на Яндекс TTS, но нужна предварительная обработка, может подскажете где почитать про базовую обработку? Тут в ветке обсуждения каких-то специфических задач, но мне нужно по базовым: базовые словари, базовая обработка и тд.
Пока вижу такие моменты:
1. Конвертация сносок (если есть) сразу в текст
2. Простановка Ё
3. Простановка ударений
После этого уже можно записать более-менее нормальное аудио, поправьте если не прав.
Потом, может ли Demagog работать через консоль и делать все указанное выше пакетно, вплоть до записи в mp3? Если я хочу передать ей (программе) на обработку и последующую запись пакет книг, например курс лекций, получится ли это сделать?
Заранее спасибо за помощь.
Хочу писать книжки на Яндекс TTS, но нужна предварительная обработка, может подскажете где почитать про базовую обработку? Тут в ветке обсуждения каких-то специфических задач, но мне нужно по базовым: базовые словари, базовая обработка и тд.
Пока вижу такие моменты:
1. Конвертация сносок (если есть) сразу в текст
2. Простановка Ё
3. Простановка ударений
После этого уже можно записать более-менее нормальное аудио, поправьте если не прав.
Потом, может ли Demagog работать через консоль и делать все указанное выше пакетно, вплоть до записи в mp3? Если я хочу передать ей (программе) на обработку и последующую запись пакет книг, например курс лекций, получится ли это сделать?
Заранее спасибо за помощь.
- tonio_k
- V.I.P.
Скрипты для Demagog
lplee, я вам в ЛС и ссылки давал на готовую сборку и инструкции. Там все базовое присутствует и пакетная обработка сразу нескольких книг. Вопросов по ней от вас не поступало. Зато на форуме вы задаёте вопросы будто я другому человеку всё это разжёвывал. Ещё и копируете одни и те же сообщения меняя преамбулу. Если вы все равно не читаете и не пробуете что вам предлагают, то зачем форум засорять? Дождетесь бана
Скрипты для Demagog
Сорри, грешен, но только от отчаяния. Скачал одну из сборок, даже рискнул запустить (хотя это моветон - запускать программу с непроверенного источника), защитник Win заблокировал программу, за что ему спасибо.
Поэтому несмотря на сборки приходится все самому собирать, так надежнее, но больше вопросов
- tonio_k
- V.I.P.
Скрипты для Demagog
как вариант, могу предложить вам скачать Демагог с оф. сайта, самостоятельно найти и скачать ffmpeg.exe. Из сборки достать файлы со скриптами и словарями и добавить их в соответствующие папки. Сборка готова. Или Можно скачать с оф сайта Демагог и переписать им поверх сборки. Главное файл с настройками не потереть - иначе придётся самому настраивать кнопки, хотя на саму работу это не повлияет.
- tonio_k
- V.I.P.
- wasyaka
- V.I.P.
Скрипты для Demagog
Предложение:tonio_k писал(а):скрипт...ОБРАБОТКА СЛОВАРЯМИ...
Дополнить на старте как
-- диалог...
--поиск всё (подсчёт)
С выбором
Подключить СПИСОК СЛОВАРЕЙ 2.lua с отключёнными словарями все-всё?
Слишком часто стали попадатся книги с проставленным ё...
- flegont
- V.I.P.
Скрипты для Demagog
И я заметил. Распространение аудиокниг влечет за собой возврат буквы ё ??! !??Слишком часто стали попадаться книги с проставленным ё
- tonio_k
- V.I.P.
Скрипты для Demagog
мне тоже такая мысль уже приходила
http://i91650e3.beget.tech/viewtopic.php?f=40&t=44&p=540#p532
но пока воздерживаюсь - на практике (из тех книг что мимо меня проходили не смотря на изобилие всЁ тем не менее, много этих всЕ оказываются в книгах без заслуженной Ё.
Так как у вас "индивидуальный" порядок скриптов, скиньте мне ваш текущий рабочий скрипт с файлом СПИСОК СЛОВАРЕЙ.lua - я настрою как надо с подсчетом
wasyaka, В рамках все/всё просьба протестировать вот этот скрипт. Это некий аналог ручного поиска омографов но только для для одного слова всЁ. Хоть я и противник ручного поиска этот скрипт единственное что я себе позволяю из ручного . (ну еще поиск Имен и Аббривеатур - если надо - выложу обновлённый). я его изменил под имеющиеся у вас словари все-всё (те что у меня были - поменяйте на свои если были изменения).
Скрипт удаляет все абзацы в тексте в текущем окне, кроме абзацев содержащих слово "все" и применяет к ним только словари меняющие все на всЁ.
После отработки скрипта нужно сравнить два окна на предмет изменений через
Сервис - Статистика - Сравнение файлов - Вкладок (навигация удобна стрелками)
Это как раз покажет насколько нужно или не нужно применить ваши словарь замен все на всЁ к конкретной книге.
http://i91650e3.beget.tech/viewtopic.php?f=40&t=44&p=540#p532
но пока воздерживаюсь - на практике (из тех книг что мимо меня проходили не смотря на изобилие всЁ тем не менее, много этих всЕ оказываются в книгах без заслуженной Ё.
я сейчас наоборот стараюсь не плодить несколько вариантов скриптов, а стараюсь объединять в один с добавлением диалога выбора в начале.
Так как у вас "индивидуальный" порядок скриптов, скиньте мне ваш текущий рабочий скрипт с файлом СПИСОК СЛОВАРЕЙ.lua - я настрою как надо с подсчетом
wasyaka, В рамках все/всё просьба протестировать вот этот скрипт. Это некий аналог ручного поиска омографов но только для для одного слова всЁ. Хоть я и противник ручного поиска этот скрипт единственное что я себе позволяю из ручного . (ну еще поиск Имен и Аббривеатур - если надо - выложу обновлённый). я его изменил под имеющиеся у вас словари все-всё (те что у меня были - поменяйте на свои если были изменения).
Скрипт удаляет все абзацы в тексте в текущем окне, кроме абзацев содержащих слово "все" и применяет к ним только словари меняющие все на всЁ.
После отработки скрипта нужно сравнить два окна на предмет изменений через
Сервис - Статистика - Сравнение файлов - Вкладок (навигация удобна стрелками)
Это как раз покажет насколько нужно или не нужно применить ваши словарь замен все на всЁ к конкретной книге.
- tonio_k
- V.I.P.
Скрипты для Demagog
внес небольшие изменения. Теперь в конце выводит подсчёт сколько в тексте слов все/всё было до применения словаря и сколько стало
Строчку
Код: Выделить всё
--Удаляем словосочетания которые гарантировано заменяются без ошибок на всЁ
s = RexRepl(s,{[[\b(все таки|на всем|все равно|все-таки|всё таки|всё-таки)\b=_$1]]}) -- добавляем гарантированные исключения
- flegont
- V.I.P.
Скрипты для Demagog
В нем отображаются подсказки о назначении элементов интерфейса, при наведении на них мышью.поле под что-то зарезервировано?