Скрипты для Demagog

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

Модератор: flegont

Ответить
Аватара пользователя
regacaty
Интересующийся

Скрипты для Demagog

#351

Сообщение regacaty » 30 июн 2019 16:33

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 книг записываю иногда за один раз.

Аватара пользователя
regacaty
Интересующийся

Скрипты для Demagog

#352

Сообщение regacaty » 30 июн 2019 16:37

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

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

Скрипты для Demagog

#353

Сообщение wasyaka » 30 июн 2019 17:59

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

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

Скрипты для Demagog

#354

Сообщение wasyaka » 30 июн 2019 18:39

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

Аватара пользователя
good_cat
Администратор

Скрипты для Demagog

#355

Сообщение good_cat » 01 июл 2019 13:25

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

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

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

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

Скрипты для Demagog

#356

Сообщение wasyaka » 01 июл 2019 16:19

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

Аватара пользователя
good_cat
Администратор

Скрипты для Demagog

#357

Сообщение good_cat » 01 июл 2019 17:08

из 380 омографов из словаря omograph.rar -169 "вредные" омографы из краткого словаря омографов truncated.hmg, в котором 523 омографа.

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

Скрипты для Demagog

#358

Сообщение tonio_k » 01 июл 2019 19:48

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

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

#359

Сообщение wasyaka » 01 июл 2019 22:14

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

Аватара пользователя
good_cat
Администратор

Скрипты для Demagog

#360

Сообщение good_cat » 01 июл 2019 22:37

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

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

Скрипты для Demagog

#361

Сообщение tonio_k » 03 июл 2019 00:21

Вопрос.
Пример запускаемый скрипт (схематично):
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

#362

Сообщение tonio_k » 03 июл 2019 01:18

Сам сообразил. :boy_blushed:
В запускаемом скрипте задаю переменные:
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

#363

Сообщение tonio_k » 03 июл 2019 01:38

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

#364

Сообщение flegont » 03 июл 2019 09:59

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

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

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

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

Скрипты для Demagog

#365

Сообщение tonio_k » 07 июл 2019 08:01

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

-- печать всех строк текста из окна 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 не предполагает точного количества тактов цикла

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

Скрипты для Demagog

#366

Сообщение flegont » 07 июл 2019 14:02

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

-- печать всех строк текста из окна 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 можно взять за теоретически возможный максимум.

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

Скрипты для Demagog

#367

Сообщение tonio_k » 08 июл 2019 02:10

Функция сортировка таблицы "по убыванию":

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

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

#368

Сообщение flegont » 08 июл 2019 09:33

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

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

#369

Сообщение tonio_k » 08 июл 2019 13:19

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

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

Скрипты для Demagog

#370

Сообщение flegont » 08 июл 2019 13:44

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

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

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

Скрипты для Demagog

#371

Сообщение tonio_k » 08 июл 2019 13:58

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

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

Скрипты для Demagog

#372

Сообщение flegont » 08 июл 2019 13:59

Понятно :smile1:

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

Скрипты для Demagog

#373

Сообщение tonio_k » 08 июл 2019 14:27

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

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

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

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

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

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

Скрипты для Demagog

#374

Сообщение flegont » 08 июл 2019 15:00

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

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

Скрипты для Demagog

#375

Сообщение tonio_k » 08 июл 2019 15:48

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

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

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

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

Скрипты для Demagog

#376

Сообщение flegont » 08 июл 2019 18:09

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

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

Скрипты для Demagog

#377

Сообщение tonio_k » 10 июл 2019 20:35

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

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

Скрипты для Demagog

#378

Сообщение balaamster » 10 июл 2019 21:28

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

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

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

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

Скрипты для Demagog

#379

Сообщение lplee » 10 июл 2019 21:58

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

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

Скрипты для Demagog

#380

Сообщение tonio_k » 11 июл 2019 14:31

Мне вот любопытно, почему 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?

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

Скрипты для Demagog

#381

Сообщение flegont » 11 июл 2019 15:28

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

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

Скрипты для Demagog

#382

Сообщение tonio_k » 11 июл 2019 15:33

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

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

Скрипты для Demagog

#383

Сообщение flegont » 11 июл 2019 15:43

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

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

Скрипты для Demagog

#384

Сообщение tonio_k » 11 июл 2019 15:54

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

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

Скрипты для Demagog

#385

Сообщение flegont » 11 июл 2019 16:52

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

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

Скрипты для Demagog

#386

Сообщение flegont » 11 июл 2019 16:56

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

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

Скрипты для Demagog

#387

Сообщение tonio_k » 12 июл 2019 01:10

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

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

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

Скрипты для Demagog

#388

Сообщение flegont » 12 июл 2019 09:53

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

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

Скрипты для Demagog

#389

Сообщение tonio_k » 12 июл 2019 13:44

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

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

Скрипты для Demagog

#390

Сообщение lplee » 12 июл 2019 14:44

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

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

Скрипты для Demagog

#391

Сообщение tonio_k » 12 июл 2019 15:05

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

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

Скрипты для Demagog

#392

Сообщение lplee » 12 июл 2019 20:07

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

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

Скрипты для Demagog

#393

Сообщение tonio_k » 12 июл 2019 20:25

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

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

Скрипты для Demagog

#394

Сообщение lplee » 12 июл 2019 20:57

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

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

Скрипты для Demagog

#395

Сообщение tonio_k » 12 июл 2019 21:02

$.cfg удалите и откройте Демагог заново. Будут настройки по умолчанию.

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

Скрипты для Demagog

#396

Сообщение wasyaka » 12 июл 2019 21:44

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

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

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

Скрипты для Demagog

#397

Сообщение flegont » 12 июл 2019 21:54

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

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

Скрипты для Demagog

#398

Сообщение tonio_k » 12 июл 2019 23:24

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

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

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

Скрипты для Demagog

#399

Сообщение tonio_k » 13 июл 2019 12:21

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

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

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

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

Скрипты для Demagog

#400

Сообщение flegont » 14 июл 2019 19:18

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

Ответить

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