Re: Общая тема

История версий
v2.12.0.652
Добавлен новый формат словарей для коррекции произношения. Формат BXD объединяет возможности форматов REX и DIC


а можно узнать, в чем его особенность?
По какой схеме в нем происходит обращение к правилам, последовательность?

Re: Общая тема

tonio_k пишет:

По какой схеме в нем происходит обращение к правилам, последовательность?


Работает как и обычный, последовательность по номеру (формат один) но сырой:
Ctrl+J = не отображает хотя  Ctrl+T срабатывает
Окно для редактирования рег выражений - таже полоска  -  а на некоторые реги и монитора мало... только через ... неудобно в смысле кнопкоёмко
Зато появилось окно тестирования - это +
Отсутствие поиска по словарю...
время обработки не сравнивал - для меня не основное
Это на вскидку - мануала по теме нет...
но словарь в виде плиты таблицы это правильно и перспективно... mytts/up
Удачи Balabolka

Re: Общая тема

последовательность по номеру

по номеру строки или номеру файла?

Re: Общая тема

tonio_k пишет:

по номеру строки или номеру файла?

номеру словаря...

Re: Общая тема

tonio_k
В словарях формата BXD для каждого правила должен быть задан его тип: обычная замена текста (как было в словарях DIC) или регулярное выражение (как в REX). Текст, которым будет заменен шаблон, может представлять собой набор фонем.

Правила применяются последовательно, одно за другим. Каждое правило можно отключить/включить. Для каждого правила можно задать описание (комментарий).

Для удобства редактирования рекомендуется использовать фильтр (пункт меню "Вид|Показать фильтр"). С его помощью можно быстро найти нужное правило.

От форматов DIC и REX постепенно буду отказываться. Не скоро, но их поддержка будет удалена из программы. Преобразовать словари из DIC/REX в BXD можно двумя способами:

  • щелкнуть правой кнопкой мыши на имени словаря в панели словарей и выбрать пункт контекстного меню "Переименовать"; после переименования в файл с расширением *.bxd программа преобразует данные в словаре;

  • создать новый словарь, открыть в редакторе и выбрать пункт меню "Файл|Вставить из файла".


wasyaka
"Статистика замен" (Ctrl+J) работает.

Правда, в окне отображается старый текст: "Правила из файлов с расширением *.REX будут применены к тексту в первую очередь." Это уже не так, первыми применяются правила из словарей *.BXD.

Поиск по словарю - с помощью фильтра (пункт меню "Вид|Показать фильтр").

Re: Общая тема

wasyaka пишет:

неудобно в смысле кнопкоёмко

У программы много пользователей, далеких от программирования. Очень далеких. Поэтому для них надо всё упрощать: не использовать специальных символов, предлагать ставить "галочки" и выбирать из готовых списков. Буду теперь применять такой подход.

(2018-04-16 02:08:17 отредактировано tonio_k)

Re: Общая тема

Словарь BXD может обрабатывать особые правила, которые являются "фишкой" demagog ?
*делать * уколов=делать укОлов
Сработает на:
Нужно будет сделать сорок укОлов в живот.

(2018-04-16 09:07:51 отредактировано wasyaka)

Re: Общая тема

balabolka пишет:

wasyaka
"Статистика замен" (Ctrl+J) работает.

Общая тема

Портабл версия. Словарь большой почти 7000 строк рег выражений

2

Re: Общая тема

wasyaka
Да, это ошибка в подсчете применения правил. Исправлю в следующей версии, спасибо.

(2018-04-16 22:49:55 отредактировано tonio_k)

Re: Общая тема

balabolka,
Такое пожелание:
Может добавить возможность разбивать текст на отрезки определенного размера, НО по абзацам? Это может понравится тем, кто слушает книги на плеере с озвучкой блоков. Тогда каждый номер блока будет означать, что основная мысль только что была озвучена, и с нового блока начинается следующее событие с нового абзаца, а не "разрывать" текущую мысль между несколькими предложениями, относящимся к одному абзацу.

Re: Общая тема

Основная мысль часто излагается десятками\сотнями абзацев, а новый абзац отнюдь не означает следующее событие...

Re: Общая тема

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

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

(2018-04-17 19:10:47 отредактировано tonio_k)

Re: Общая тема

MoppoH,

(?i)(?<=\b(пропах\w*|пропит\w+)\b[^\.,!?-]{0,5})\bпотом\b
если знак + дает поиск 1 или больше букв, то * дает поиск 0 или больше букв

в REX завожу так:

#пОтом
(\bпотом\b)[^\.!?-]{0,30}(\bпропах|\bпропит)=Ъ$&
(\bпропах|\bпропит)[^\.,!?-]{0,30}(\bпотом\b)=$&Ъ
Ъпотом=пОтом
потомЪ=пОтом

много строк, не элегантно, но зато наглядно, понятно, ищет в обе стороны от слова "потом"
срабатывает на таком примере:
потом рубашка пропахла
потом могла пропахнуть рубашка
пропиталась рубашка потом
пропах даже бушлат конским потом