Страница 8 из 13

Скрипты для Demagog

Добавлено: 30 июн 2019 16:33
regacaty
wasyaka писал(а):
30 июн 2019 14:05
Вы заблудились... В трёх соснах темах.
Ок, но в профильной теме по яндекс.ттс есть инструкция работы с 4мя программами.
wasyaka писал(а):
30 июн 2019 14:05
На ВСЕ ваши вопросы есть ответы на форуме - прочитать лень?
прочел форум - он маленький)
wasyaka писал(а):
30 июн 2019 14:05
Слишком много вопросов...
Вопросов всего 2:
1. на сколько вам хватает пробного (или для разработчика) ключа от яндекс.клауд? сколько часов можно записать?
wasyaka писал(а):
30 июн 2019 14:05
Ну и мне лениво... сенокос
не делайте выводы вместо меня) просто пытаюсь разобраться, хочеться послушать вариант обработаный сборкой Demagog-Yandex, вчера вот пробовал записать кусочек текста без предварительной обработки в Balabolka, не понравилось. Николай плюс mp3book2005 на голову выше, плюс скорость записи тоже много значит - по 10-12 книг записываю иногда за один раз.

Скрипты для Demagog

Добавлено: 30 июн 2019 16:37
regacaty
tonio_k писал(а):
30 июн 2019 02:22
Самое простое: готовая сборка Демагога, где все необходимые скрипты уже включены в сборку. Пара щелчков мыши - и запись началась. В архиве есть дополнительная инструкция. Сборка периодически обновляется.
Спасибо, уже пробую.

Скрипты для Demagog

Добавлено: 30 июн 2019 17:59
wasyaka
regacaty писал(а):
30 июн 2019 16:33
1. на сколько вам хватает пробного (или для разработчика) ключа от яндекс.клауд? сколько часов можно записать?
► Показать
regacaty писал(а):
30 июн 2019 16:33
прочел форум - он маленький)
Ну да - если искать не хочется...
► Показать
regacaty писал(а):
30 июн 2019 16:33
не делайте выводы вместо меня
Я и не делаю см. выше этого поста
СЛИШКОМ МНОГО ВОПРОСОВ

Скрипты для Demagog

Добавлено: 30 июн 2019 18:39
wasyaka
tonio_k писал(а):
30 июн 2019 14:34
в том, что словари имеют тенденцию увеличиваться.
Несколько месяцев проводил эксперемент:
Добивал омографы вручную через Homograph. Те которые по умолчанию звучат правильно - не изменялись - если дома(дОма) не менялось, а только если домА и т.д.
До обработки список фраз и после - удалил дубликаты - остались те которые обработались.
Сохранял сумируя далее через прогу
Sim Word Sorter 1.0.zip
(151.63 КБ) 763 скачивания
сделал статистику.
Оказалось, что из 1700 поисковых слов омографов
омо.rar
(11.81 КБ) 737 скачиваний
более 2-х раз изменялось только 380 слов...
omograph.rar
(2.85 КБ) 704 скачивания
Полтора месяца добиваю вручную этот укорот - всего несколько раз встретилось то что неучитывалось.
Наращивать словари надо осторожно - а лучше от 100 до 300 (не обработанных) пробить вручную - 5-15мин...

Скрипты для Demagog

Добавлено: 01 июл 2019 13:25
good_cat
wasyaka писал(а):
30 июн 2019 18:39
Наращивать словари надо осторожно
Да, это так. Я бы даже сказал очень осторожно.
Под спойлером выборка из omograph.rar, где "омографы" - совсем не омографы.
► Показать
Некоторые словоформы встречаются в стихотворениях для рифмы:

волосА - у Корнея Чуковского в "Мойдодыре",
клапанА - у Владимира Высоцкого.

Ну на то они и поэты ... :smile1:

Скрипты для Demagog

Добавлено: 01 июл 2019 16:19
wasyaka
good_cat писал(а):
01 июл 2019 13:25
Под спойлером выборка из omograph.rar, где "омографы" - совсем не омографы.
Это из омо.rar
В omograph.rar это как раз и отсеялось :howdoyoudo:

Скрипты для Demagog

Добавлено: 01 июл 2019 17:08
good_cat
из 380 омографов из словаря omograph.rar -169 "вредные" омографы из краткого словаря омографов truncated.hmg, в котором 523 омографа.

Скрипты для Demagog

Добавлено: 01 июл 2019 19:48
tonio_k
Выкладываю Помощник по созданию несложных правил для словарей REX.
Принцип похож на создание правил для словарей DIC со звездочками за некоторыми исключениями.
Звезды конвертация в REX.zip
(642 байт) 743 скачивания
Важный момент - Все звездочки в левой и правой части правил должны быть зеркальными.
Скрипт срабатывает к текущему окну.

Пример 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змЕю

Скрипты для Demagog

Добавлено: 01 июл 2019 22:14
wasyaka
good_cat писал(а):
01 июл 2019 13:25
клапанА - у Владимира Высоцкого
Совсем не омографы как раз для художественной литературы, где бухАют мусорА...
Я например ни разу не слышал чтоб говорили застучали клАпана или клАпана отрегулировать...

Скрипты для Demagog

Добавлено: 01 июл 2019 22:37
good_cat
Клапаны множественное число от клапан, так по правилам орфографии.
КлапанА - это профессиональный жаргон, так же как и искрА, компАс, инженерА, принтерА.
Может быть в будущем и будут литературной нормой, а пока это жаргонизмы или просторечье.
Признак "принадлежности" к профессии, так сказать.

Скрипты для Demagog

Добавлено: 03 июл 2019 00:21
tonio_k
Вопрос.
Пример запускаемый скрипт (схематично):
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

Скрипты для Demagog

Добавлено: 03 июл 2019 01:18
tonio_k
Сам сообразил. :boy_blushed:
В запускаемом скрипте задаю переменные:
lev = -5
prav = 5
mess = "Книга "..schetchik.." из "..#a0
param = 2


А в самой функции указываю:
if lev then
TextOut(lev,prav,mess,param) -- берем глобальные переменные из основного скрипта
end

Добавил проверку на существование любой одной из переменных - на случай если в запускаемом скрипте отсутствует необходимость в TextOut. Тогда не будет выходить сообщения об ошибке.

Скрипты для Demagog

Добавлено: 03 июл 2019 01:38
tonio_k
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
Почему при запуске с каждым циклом строки разбегаются относительно друг друга, если координаты неизменны?
► Показать

Скрипты для Demagog

Добавлено: 03 июл 2019 09:59
flegont
Не усложняйте.
Есть задача: отобразить счетчик сериалов, а ниже - счетчик книг очередного сериала.
Для корректного эффекта анимации, вся информация для очередного кадра должна быть "нарисована" одновременно. При этом надо еще поддерживать один и тот же масштаб каждого кадра.
Как-то так:

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

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
Примечание: если закомментировать Area(-100,-100,100,100), то увидим эффект "плавающего" масштаба. Т.к. рабочая область не задана, то каждый раз она рассчитывается так, чтобы изображение занимало всё окно Инфографики.

Скрипты для Demagog

Добавлено: 07 июл 2019 08:01
tonio_k

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

-- печать всех строк текста из окна 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
Скажите пожалуйста, в этот цикл есть возможность как то внедрить индикатор "бегущая строка" Gauge(i)?
Без определения исходного GaugeInit(max) никак не получается. Цикл while k > 0 do не предполагает точного количества тактов цикла

Скрипты для Demagog

Добавлено: 07 июл 2019 14:02
flegont

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

-- печать всех строк текста из окна 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)
Примечание. k - каждый раз в конце цикла равно позиции, где оканчивается очередное найденное. То есть k постепенно растет, но никогда не станет больше длины текста. Значит #s можно взять за теоретически возможный максимум.

Скрипты для Demagog

Добавлено: 08 июл 2019 02:10
tonio_k
Функция сортировка таблицы "по убыванию":

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

-- сортировка 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)
Но вот с цифрами не все так просто. Пример текста:
► Показать
Результат работы функции:
► Показать
Вопрос, как сделать "цифровую" сортировку строк?

Скрипты для Demagog

Добавлено: 08 июл 2019 09:33
flegont

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

-- сортировка 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)

Скрипты для Demagog

Добавлено: 08 июл 2019 13:19
tonio_k
flegont, :thank:
Теперь смог закончить скрипт
ЧАСТОТА СЛОВ В ТЕКСТЕ.zip
(13.18 КБ) 701 скачивание
Для текущего окна - берет все слова присутствующие в тексте, подсчитывает частоту повторений для каждого слова, сортирует по частоте повторений.
Подсчет слов - чувствительный к регистру (например слова: "нет" или "Нет" - будет считать как разные слова и подсчитает повторяемость отдельно для каждого слова). Поэтому предусмотрены варианты: перевести все слова в нижний регистр, не менять регистр, перевести в нижний регистр только первую букву в словах.
Так же можно исключить из подсчета все слова из 1-2 буквы

Скрипты для Demagog

Добавлено: 08 июл 2019 13:44
flegont
Исключать из подсчета короткие слова не надо. Есть гипотеза, что именно частота употребления коротких, т.н. служебных слов характеризует автора текста. Вот (не уверен, что полный) список служебных слов русского языка:
predlog = 'в|на|с|за|к|по|из|у|от|для|во|без|до|о|через|со|при|про|об|ко|над|из-за|из-под|под'
sojuz = 'и|что|но|а|да|хотя|когда|чтобы|если|тоже|или|то есть|зато|будто'
chastica = 'не|как|же|даже|бы|ли|только|вот|то|ни|лишь|ведь|вон|*-нибудь|уже|либо'

P.S. А вот сама гипотеза

Скрипты для Demagog

Добавлено: 08 июл 2019 13:58
tonio_k
flegont писал(а):
08 июл 2019 13:44
Исключать из подсчета короткие слова не надо.
скрипт задаст вопрос исключить слова из 1-2 буквы? (Да/Нет). Так что это на выбор пользователя. :wink:

Скрипты для Demagog

Добавлено: 08 июл 2019 13:59
flegont
Понятно :smile1:

Скрипты для Demagog

Добавлено: 08 июл 2019 14:27
tonio_k
Строки скрипта можно записать в одну строку для визуального уменьшения полотна текста скрипта используя разделитель точка с запятой:

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

a=1; a=a+1; print(a)
Вопрос, а как можно вставить комментарий?
Например мне нужно

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

a=a+1 -- прибавим один

Скрипты для Demagog

Добавлено: 08 июл 2019 15:00
flegont
Ответ: никак.
Комментарий начинается в любом месте с двойного дефиса -- и длится до конца строки.

Скрипты для Demagog

Добавлено: 08 июл 2019 15:48
tonio_k
flegont писал(а):
08 июл 2019 15:00
Ответ: никак.
оказывается есть вариант! :dance3: вот тут в комментариях один чел написал:
Это может быть и --[[ внутристрочный ]] комментарий, аналогично /* такому */ (закомментирован может быть любой участок кода); "--" перед "]]" ставят просто для украшения.

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

a=1; a=a+1--[[прибавим один]]; print(a)

Скрипты для Demagog

Добавлено: 08 июл 2019 18:09
flegont
Да, действительно, слона-то я и не приметил :wink:
Но читабельность кода это не улучшает.

Скрипты для Demagog

Добавлено: 10 июл 2019 20:35
tonio_k
balaamster писал(а):
10 май 2019 21:41
1. Для настройки голоса запускаем через Ctrl+F2 "YaTTS_configure.lua" выбираем голос, темп речи, эмоциональную окраску, количество потоков для скачивания, длительность аудиофрагмента.
а как можно сделать "склеить все файлы в один файл MP3" ? - Что бы на выходе был один огромный файл

Скрипты для Demagog

Добавлено: 10 июл 2019 21:28
balaamster
tonio_k писал(а):
10 июл 2019 20:35
а как можно сделать "склеить все файлы в один файл MP3" ?
Demagog+YandexTTS.zip
(28.37 КБ) 733 скачивания
Для опции "Длительность аудиофрагмента" добавлен вариант "неограниченная"

Вот по этому вопросу так и не придумал как нормально реализовать решение:
wasyaka писал(а):
13 июн 2019 23:44
Если в логах сбойный файл не в числе нескольких последних - то повторный запуск - ОК
По возможности, при таких сбойных фрагментах, отправьте мне логи.
Они хранятся по пути %temp%\tmp_doc\log (если записывался фрагмент из несохранённой вкладки) или %temp%\имя_файла_книги\log
Перейти во временный каталог можно просто скопировав в адресную строку проводника: %temp% и нажав "enter" (хотя, при неполностью завершённой, загрузке папка с временными файлами должна открыться скриптом в проводнике)

upd. по подсказке tonio_k добавил проверку на применение скрипта к пустой вкладке, которое вызывало ошибку.

Скрипты для Demagog

Добавлено: 10 июл 2019 21:58
lplee
Простите, хочу использовать программу в связке с Яндекс TTS, какие словари и какую обработку делать как минимум? Спасибо.

Скрипты для Demagog

Добавлено: 11 июл 2019 14:31
tonio_k
Мне вот любопытно, почему 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?

Скрипты для Demagog

Добавлено: 11 июл 2019 15:28
flegont
WFilter() не "открывает" словарь, а просто читает его строки непосредственно из файла в служебный массив в памяти. Такая процедура намного быстрее, чем загрузка текста в стандартный компонент редактирования RichEdit, который применяется в Демагоге для "визуализации" текста.
Так что WFilter() - это и есть "способ ускорения загрузки dic-словаря" :smile1:

Скрипты для Demagog

Добавлено: 11 июл 2019 15:33
tonio_k
flegont писал(а):
11 июл 2019 15:28
не "открывает" словарь, а просто читает его строки непосредственно из файла в служебный массив в памяти.
а служебный массив и в переменную это совсем разные вещи? Аналогично в переменную нельзя?

Скрипты для Demagog

Добавлено: 11 июл 2019 15:43
flegont
Служебный "словарный массив" в памяти Демагога поддерживает юникод. А в памяти интерпретатора юникоду тут же наступит кирдык. Именно поэтому WFilter работает отдельно от интерпретатора. Интерпретатор только запускает ее, и никак не вмешивается потом в ее работу.
Если полученный измененный текст (пусть он в окне 0) содержит юникод, то при s = WText(0) юникода в s уже не будет.

Скрипты для Demagog

Добавлено: 11 июл 2019 15:54
tonio_k
А если меня устраивает что в переменную попадет ANSI? :yes:
flegont писал(а):
11 июл 2019 15:43
юникоду тут же наступит кирдык
или имеется в виду, если допустим текст на русском, но файл в Юникоде, то файл вообще не откроется с ошибкой неизвестный формат?

Скрипты для Demagog

Добавлено: 11 июл 2019 16:52
flegont
Средствами Lua можно открыть любой файл, как последовательность байтов. И юникодный файл в том числе. Получится некоторая переменная, строкового типа. Но, если ее попытаться отобразить визуально, например print(s), то получим абракадабру вместо осмысленного текста.

Скрипты для Demagog

Добавлено: 11 июл 2019 16:56
flegont
Единственное исключение, файлы в кодировке utf-8. Я как то уже приводил примеры. И загрузить файл в строку можно, и сохранить обратно в файл. И это - всё. Но явно присвоить в скрипте s = 'строка с символами юникода' не выйдет. Ибо сам текст скрипта должен содержать только символы ansi. Остальные превратятся в знак "?"

Скрипты для Demagog

Добавлено: 12 июл 2019 01:10
tonio_k
Только сейчас сообразил, что если в скрипте забыть обнулить окно (-1), то при запуске другого скрипта можно "подцепить" из предыдущего скрипта текст застрявший в окне (-1). Это сохраняется на всю сессию работы Демагога.

К стати, операция к окнам: "Все новые" и "Все новые, кроме текущего" - окно (-1) не очищает.

Скрипты для Demagog

Добавлено: 12 июл 2019 09:53
flegont
если в скрипте забыть обнулить окно (-1)
Да, внутренний текстовый буфер сохраняет информацию, пока не получит команду ее забыть. Или до конца сессии.
к окнам: "Все новые" и "Все новые, кроме текущего" - окно (-1) не очищает
Внутренний буфер - это не окно, и его эти опции не касаются.

Скрипты для Demagog

Добавлено: 12 июл 2019 13:44
tonio_k
Скажите пожалуйста,это поле у вас под что-то зарезервировано?
► Показать
спрашиваю на предмет возможности выводить в это поле через скрипт текстовые сообщения.

Скрипты для Demagog

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

Скрипты для Demagog

Добавлено: 12 июл 2019 15:05
tonio_k
lplee, я вам в ЛС и ссылки давал на готовую сборку и инструкции. Там все базовое присутствует и пакетная обработка сразу нескольких книг. Вопросов по ней от вас не поступало. Зато на форуме вы задаёте вопросы будто я другому человеку всё это разжёвывал. Ещё и копируете одни и те же сообщения меняя преамбулу. Если вы все равно не читаете и не пробуете что вам предлагают, то зачем форум засорять? Дождетесь бана :bdsm:

Скрипты для Demagog

Добавлено: 12 июл 2019 20:07
lplee
regacaty писал(а):
30 июн 2019 16:33
я вам в ЛС и ссылки давал на готовую сборку и инструкции
Сорри, грешен, но только от отчаяния. Скачал одну из сборок, даже рискнул запустить (хотя это моветон - запускать программу с непроверенного источника), защитник Win заблокировал программу, за что ему спасибо.
Поэтому несмотря на сборки приходится все самому собирать, так надежнее, но больше вопросов

Скрипты для Demagog

Добавлено: 12 июл 2019 20:25
tonio_k
lplee писал(а):
12 июл 2019 20:07
защитник Win заблокировал программу, за что ему спасибо.
как вариант, могу предложить вам скачать Демагог с оф. сайта, самостоятельно найти и скачать ffmpeg.exe. Из сборки достать файлы со скриптами и словарями и добавить их в соответствующие папки. Сборка готова. Или Можно скачать с оф сайта Демагог и переписать им поверх сборки. Главное файл с настройками не потереть - иначе придётся самому настраивать кнопки, хотя на саму работу это не повлияет.

Скрипты для Demagog

Добавлено: 12 июл 2019 20:57
lplee
tonio_k писал(а):
12 июл 2019 20:25
могу предложить вам скачать Демагог с оф. сайта, самостоятельно найти и скачать ffmpeg.exe
Именно так и делаю
tonio_k писал(а):
12 июл 2019 20:25
Главное файл с настройками не потереть - иначе придётся самому настраивать кнопки, хотя на саму работу это не повлияет
Мм, а что значит "настраивать кнопки", о каких кнопках речь?

Скрипты для Demagog

Добавлено: 12 июл 2019 21:02
tonio_k
$.cfg удалите и откройте Демагог заново. Будут настройки по умолчанию.

Скрипты для Demagog

Добавлено: 12 июл 2019 21:44
wasyaka
tonio_k писал(а):скрипт...ОБРАБОТКА СЛОВАРЯМИ...
Предложение:
Дополнить на старте как
-- диалог...
--поиск всё (подсчёт)
С выбором
Подключить СПИСОК СЛОВАРЕЙ 2.lua с отключёнными словарями все-всё?

Слишком часто стали попадатся книги с проставленным ё... :thank:

Скрипты для Demagog

Добавлено: 12 июл 2019 21:54
flegont
Слишком часто стали попадаться книги с проставленным ё
И я заметил. Распространение аудиокниг влечет за собой возврат буквы ё ??! :scratch: !??

Скрипты для Demagog

Добавлено: 12 июл 2019 23:24
tonio_k
мне тоже такая мысль уже приходила
http://i91650e3.beget.tech/viewtopic.php?f=40&t=44&p=540#p532
но пока воздерживаюсь - на практике (из тех книг что мимо меня проходили не смотря на изобилие всЁ тем не менее, много этих всЕ оказываются в книгах без заслуженной Ё.
wasyaka писал(а):
12 июл 2019 21:44
Подключить СПИСОК СЛОВАРЕЙ 2.lua с отключёнными словарями все-всё?
я сейчас наоборот стараюсь не плодить несколько вариантов скриптов, а стараюсь объединять в один с добавлением диалога выбора в начале.
Так как у вас "индивидуальный" порядок скриптов, скиньте мне ваш текущий рабочий скрипт с файлом СПИСОК СЛОВАРЕЙ.lua - я настрою как надо с подсчетом

wasyaka, В рамках все/всё просьба протестировать вот этот скрипт. Это некий аналог ручного поиска омографов но только для для одного слова всЁ. Хоть я и противник ручного поиска этот скрипт единственное что я себе позволяю из ручного :jokingly: . (ну еще поиск Имен и Аббривеатур - если надо - выложу обновлённый). я его изменил под имеющиеся у вас словари все-всё (те что у меня были - поменяйте на свои если были изменения).
Скрипт удаляет все абзацы в тексте в текущем окне, кроме абзацев содержащих слово "все" и применяет к ним только словари меняющие все на всЁ.
После отработки скрипта нужно сравнить два окна на предмет изменений через
Сервис - Статистика - Сравнение файлов - Вкладок (навигация удобна стрелками)
Это как раз покажет насколько нужно или не нужно применить ваши словарь замен все на всЁ к конкретной книге.

Скрипты для Demagog

Добавлено: 13 июл 2019 12:21
tonio_k
tonio_k писал(а):
12 июл 2019 23:24
wasyaka, В рамках все/всё просьба протестировать вот этот скрипт.
внес небольшие изменения. Теперь в конце выводит подсчёт сколько в тексте слов все/всё было до применения словаря и сколько стало
Строчку

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

--Удаляем словосочетания которые гарантировано заменяются без ошибок на всЁ
s = RexRepl(s,{[[\b(все таки|на всем|все равно|все-таки|всё таки|всё-таки)\b=_$1]]}) -- добавляем гарантированные исключения
можно заремарить. Она удаляет словосочетания из текста, в которых гарантировано вставляется всё это для уменьшения объема работы ручного просмотра. Но для анализа необходимости применения правил все-всё, эту строчку лучше заремарить

Скрипты для Demagog

Добавлено: 14 июл 2019 19:18
flegont
поле под что-то зарезервировано?
В нем отображаются подсказки о назначении элементов интерфейса, при наведении на них мышью.