语音合成技术和文本语音转换 - Synthetic voice and Text to Speech technology - Синтетический голос и технологии преобразования текста в речь
 
TTS книги  Проверялка  ФорумФорум  RSS  ПоискПоиск  РегистрацияРегистрация  ВходВход  

Словарь коррекции текста

Предыдущая тема Следующая тема Перейти вниз
АвторСообщениеСловарь коррекции текста
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Пн Сен 20 2010, 19:43
Пн Сен 20 2010, 19:43

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

В словаре используются правила на основе регулярных выражений работающие одинаково по стандарту VBScript и PCRE. Данный словарь предназначен для использования в программах для чтения вслух и записи в аудиофайл текстовых файлов с использованием пакетов речевых функций SAPI4\SAPI5.

В зависимости от нужных функций в словаре предусмотрен расширенный выбор правил. Для исключения нужного правила используйте символ #(решетка) в начале нужной строки.

Для лучшей расстановки замен в программе "балаболка" в настройках нужно выбрать опцию "Применять правила к большим по размеру частям текста"


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

Особенности словаря:
  • Ошибки распознавания текста. Используется для текста содержащего латинские буквы одинаковые по начертанию с кириллицей содержащиеся в русских словах. Данное правило существенного замедляет работу для большого по объему текста.
  • Замена звездочек паузой. Данное правило актуально только для голоса Acapela-Group Alyona (Алёна) с подключенным лексиконом для запрета чтения разделительных знаков. Для остальных голосов предусмотрено использовать аналогичную замену через SAPI4\SAPI5 теги, предварительно закомментировав правило №8.
  • Удаление лишних звездочек в тексте. Все разделители в тексте, как правило, три звездочки можно заменить паузой, все остальные удаляет данное правило.
  • Удаление ссылок и html-мусора в тексте.
  • Замена тире и дефиса. Только для голоса Acapela-Group Alyona (Алёна) (словарь corector.rex) производится удаление тире и дефиса. Для приведения к стандарту словаря замен, использующегося для разметки омографов в тексте, все знаки тире и дефиса в тексте удалены!
  • Дубликаты символов. Данное правило удаляет более одного идущего подряд символа для любителей злоупотреблять в тексте конструкциями вида: «---------------------», «===========», «!!!???» и т.п.
  • Удаление букв через дефис в словах, напр. Ура-а-а-а! А-а-а-а! и т.п.
  • Разрыв строки внутри абзаца. Удаляет переносы строк внутри абзаца. Актуально для текста обработанного программой «Книгодел». Аналогична функциям форматирования текста в программах «Балаболка» и «Демагог».
  • Замена нескольких пустых строк одной. Удаляет лишние пустые строки в тексте.
  • Удаление текста в скобках {}[]<>. Для использования в тексте SAPI4\SAPI5 тегов данное правило необходимо закомментировать.
  • Удаление более одного пробела. Удаляет в тексте лишние пробелы.
  • Пробел между буквой и цифрой. Корректирует правильную расстановку пробелов между буквой и цифрой согласно правилам набора текста.
  • Пробел между буквой и знаком препинания. Корректирует правильную расстановку пробелов возле знаков препинания согласно правилам набора текста.
  • Коррекция ошибок произношения (только для голоса Acapela-Group Alyona (Алёна)). Правила для исправления ошибок произношения.
  • Коррекция произношения слов с частицей "-то" образующей особые формы слов.
  • Коррекция ошибок произношения при произношении сложносоставных слов с числительными вида 123слово.
  • Замена ударных гласных. Нужно только для использования со словарями от голосового движка «Алена» для других голосов. Замена производится в два этапа: на первом этапе необходимо подключить словари corector-olga.ini и omograph.dic (словарь замен Аленки), на втором словарь-фильтр alenka-to-olga.dic для Ольги или alenka-to-nikolai_SAPI4.dic для Николая соответственно. В самом тексте, сначала производится замена всех ударных гласных на строчные, затем производится поиск и расстановка ударений для омографов, и на последнем этапе, замена ударных гласных формата Аленки к формату Ольги или Николая соответственно.

    Как альтернативу можно использовать словари-фильтры alenka-to-olga.dic для Ольги или alenka-to-nikolai_SAPI4.dic непосредственно на словаре omograph.dic (словарь замен Аленки) приведя его к нужному формату и затем использовать как основной словарь замен. Кому как удобнее.

Словарь коррекции текста для Acapela-Group (Алёна) (зеркало)
Словарь коррекции текста для Loquendo Olga (Ольга)
Словарь коррекции текста для IVONA Tatyana (Татьяна) & Maxim (Максим) (зеркало)

По мере добавления новых правил описание будет обновляться.
Все найденные ошибки и замечания пишем сюда.

Вернуться к началу Перейти вниз
Андрей28
Участник


Сообщений : 74
Репутация : 8

 Андрей28 :: Вс Янв 23 2011, 14:11
Вс Янв 23 2011, 14:11

В словарях .rex есть такая строчка:
([\x20])+=$1
эта строчка меняет каждую встречную группу пробелов на один пробел.
Штука в том, что каждый одиночный пробел она - тоже меняет на один пробел. (потеря времени)
Рекомендую:
(\x20)\x20*=$1
Эта строка будет менять - только два и более пробелов на один.

Вернуться к началу Перейти вниз
al2055
Постоялец


Сообщений : 95
Репутация : 23

 al2055 :: Вс Янв 23 2011, 14:51
Вс Янв 23 2011, 14:51

Андрей28 пишет:
(\x20)\x20*=$1
Эта строка будет менять - только два и более пробелов на один.
Совершенно верно. Я использую то же самое, но чуть проще запись:
Код:
(\x20){2,}=$1
Но об этом, наверное, не здесь.

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Вс Янв 23 2011, 23:56
Вс Янв 23 2011, 23:56

Андрей28, al2055, ага, спасибо исправим ruku
а какой вариант лучше?warry

Вернуться к началу Перейти вниз
Андрей28
Участник


Сообщений : 74
Репутация : 8

 Андрей28 :: Вс Янв 23 2011, 23:58
Вс Янв 23 2011, 23:58

evilone_ пишет:
а какой вариант лучше?

Лучше вариант - al2055

(\x20){2,}=$1

Вернуться к началу Перейти вниз
al2055
Постоялец


Сообщений : 95
Репутация : 23

 al2055 :: Пн Янв 24 2011, 12:55
Пн Янв 24 2011, 12:55

Есть у кого-нибудь варианты коррекции слов с повторяющимися буквами? Типа
Код:
да-а-а-а; н-е-е-ет; ну-с-с-с-с; ого-о-о-о и т.д.
Словарями замен не очень получается. Разные авторы разное кол-во букв пишут и т.д. Я делаю так:
Код:
-?(а)(-а)+-?([^а]|\b)=$1$3
И такое правило для каждой буквы, кот. надо отследить. Но тут возникает проблема. Приходится предварительно записать правила, убирающие дефис в словосочетаниях типа
Код:
так-как; год-другой; еле-еле; из-за; тут-то и т.п., довольно большой список.
Может имеется более изящное решение?

Вернуться к началу Перейти вниз
Андрей28
Участник


Сообщений : 74
Репутация : 8

 Андрей28 :: Пн Янв 24 2011, 17:29
Пн Янв 24 2011, 17:29

al2055,

Более того... Написание этого мусора - тоже имеет некоторые разновидности:
приве-е-е-е-е-е-ет
прив-е-е-е-е-е-е-ет
приве-е-е-е-е-е-е-т
прив-е-е-е-е-е-е-е-т


Есть варианты, которые исправлять - не берусь, поскольку могут и другие слова пострадать.
Вот такие:
приве-ет
прив-е-т
прив-ет
приве-т


Все остальное - имеет следующие варианты(кроме количества повторов):
приве-е-ет
прив-е-ет
приве-е-т
прив-е-е-т


Для них - предлагаю четыре строчки:
([^\x2D])([А-яЁё])(\x2D\2){2,}([^\x2D])=$1$2$4
(\x2D)([А-яЁё])(\x2D\2)+([^\x2D])=$2$4
([^\x2D])([А-яЁё])(\x2D\2)+(\x2D)=$1$2
(\x2D)([А-яЁё])(\x2D\2)+(\x2D)=$2


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

Вернуться к началу Перейти вниз
al2055
Постоялец


Сообщений : 95
Репутация : 23

 al2055 :: Пн Янв 24 2011, 20:16
Пн Янв 24 2011, 20:16

Согласен, Ваш способ быстрее и менее трудоемок, мой точнее и более универсален. Проверте на
Код:
приве-ет
например.

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Пн Янв 24 2011, 20:47
Пн Янв 24 2011, 20:47

Андрей28, :loveshower:
:offtopic:
al2055, а какая вероятность попадания такого слова в тексте?
это правда, очень часто попадаются слова вида: Бр-р-р-р, М-м-м-м, Ага-а-а-а и т.п. но слова "приве-ет" очень редкие, мне кажется нету смысла так сильно на них зацикливаться, хотя если много свободного времени... Smile

Вернуться к началу Перейти вниз
Андрей28
Участник


Сообщений : 74
Репутация : 8

 Андрей28 :: Пн Янв 24 2011, 20:55
Пн Янв 24 2011, 20:55

al2055 пишет:
Проверте на
приве-ет

Вообще-то я - специально исключил эти слова, поэтому не буду проверятьWink
Могу все поубирать, но тогда пострадает слово: "верхне-егунево" какое-нибудь...
Без этих исключений правило было бы проще...

Андрей28 пишет:


Есть варианты, которые исправлять - не берусь, поскольку могут и другие слова пострадать.
Вот такие:
приве-ет
прив-е-т
прив-ет
приве-т

Вернуться к началу Перейти вниз
al2055
Постоялец


Сообщений : 95
Репутация : 23

 al2055 :: Пн Янв 24 2011, 20:57
Пн Янв 24 2011, 20:57

evilone_ пишет:
мне кажется нету смысла так сильно на них зацикливаться
Да мы и не зацикливаемся именно на этомSmile. Но, кажется, остальные, в том числе, указанные Вами варианты успешно разруленыSmile. Просто мне было интересно, какие еще варианты есть. На все хорошее всегда найдется лучшееSmile).

Вернуться к началу Перейти вниз
Андрей28
Участник


Сообщений : 74
Репутация : 8

 Андрей28 :: Пн Янв 24 2011, 21:01
Пн Янв 24 2011, 21:01

al2055 пишет:
На все хорошее всегда найдется лучшее).

beer

Точно - просто спорт, не более))))))

Вернуться к началу Перейти вниз
szasz
Посетитель
avatar


Сообщений : 34
Репутация : 28

 szasz :: Вс Янв 08 2012, 16:28
Вс Янв 08 2012, 16:28

Может кому пригодится.
Замена нумерации частей текста, отделенных пустыми строками, на паузы.
Код:
(\r\n)\d\d(\r\n)=$1<silence msec="2000"/>$1
(\r\n)\d(\r\n)=$1<silence msec="2000"/>$1
Удаление сносок и текста внутри вместе со скобками [].
Код:
(\[)(.*)(\])=
Пауза перед новой частью или главой с нумерацией.
Код:
(\r\n)(Книга\s\d|Часть\s\d|Глава\s\d)=$1<silence msec="2000"/>$1$2
Обозначение начала и конца сноски с добавлением паузы.
Код:
(\[\d\d)=. Сноска, <silence msec="1000"/>
(\[\d)=. Сноска, <silence msec="1000"/>
(\])= <silence msec="1000"/> Конец сноски. <silence msec="1000"/>
Пауза на месте пустой строки
Код:
(\r\n)(\r\n)+=$1<silence msec="3000"/>$1

Вернуться к началу Перейти вниз
vova0
Наблюдатель


Сообщений : 1
Репутация : 0

 vova0 :: Вт Фев 21 2012, 08:13
Вт Фев 21 2012, 08:13

Всё это хорошо но ни словом ни пол словом не сказано как и куда прикручивать этот словарь например в той же Балаболке

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Вт Фев 21 2012, 13:06
Вт Фев 21 2012, 13:06

vova0, смотрите условные обозначения вот тут, там же описаны установка и подключение словарей для программы "балаболка", сейчас ini это rex, просто изменилось название, программа сама его переименует, должна Rolling Eyes

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Сб Дек 07 2013, 18:29
Сб Дек 07 2013, 18:29

обновление только для голоса Acapela-Group Alyona (Алёна) Like a Star @ heaven
evmir пишет:
  • Для приведения к стандарту словаря замен, использующегося для разметки омографов в тексте, все знаки тире и дефиса в тексте (только между словами) будут удалены!

  • Для приведения к стандарту словаря замен, использующегося для разметки омографов в тексте, все буквы в словах кроме аббревиатур будут заменены строчными.

  • Коррекция произношения слов с частицей "-то" образующей особые формы слов.

  • Коррекция ошибок произношения при произношении сложносоставных слов с числительными вида 123слово (четырёхсоткратный, пятисотваттный, четырёхсотвосьмидесятипятилетний и т.п.)

Вернуться к началу Перейти вниз
fabe
Новичок


Сообщений : 11
Репутация : 0

 fabe :: Сб Сен 12 2015, 21:38
Сб Сен 12 2015, 21:38

как их подключить в textaloud 3 ?

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Пт Окт 23 2015, 23:22
Пт Окт 23 2015, 23:22

nordost9, мы обновили корректор попробуйте проверить с ним на наличие ошибок
теперь знаки препинания должны сохраняться :surender:

Вернуться к началу Перейти вниз
nordost9
Посетитель
avatar


Сообщений : 37
Репутация : 1

 nordost9 :: Вт Окт 27 2015, 13:38
Вт Окт 27 2015, 13:38

Цитата :

nordost9, мы обновили корректор попробуйте проверить с ним на наличие ошибок
теперь знаки препинания должны сохраняться
Этот сбой идет с включенными, обновленными словарями коррекции текста, от 25.09.2015:
- corector_ivona_ru.rex
- corector_ivona_ru_maxim.rex

Вернуться к началу Перейти вниз
wasyaka
Опытный
avatar


Сообщений : 170
Репутация : 20

 wasyaka :: Вт Окт 27 2015, 20:28
Вт Окт 27 2015, 20:28

evilone_ пишет:
nordost9, мы обновили корректор попробуйте проверить с ним на наличие ошибок
теперь знаки препинания должны сохраняться


В прихожей стояли ещё пятеро, не менее благообразные. Rolling Eyes

после корректора
В прихожей стояли ещё пятероъ , не менее благообразные. help

Вернуться к началу Перейти вниз
evilone_
Участник «online словари»
avatar


Сообщений : 859
Репутация : 317

 evilone_ :: Чт Окт 29 2015, 15:58
Чт Окт 29 2015, 15:58

wasyaka, судя по всему, единственно "правильный" вариант устранения сбоя это удаление а не замена, так что вернули как было - обновите, но знаки будут удалены medic

Вернуться к началу Перейти вниз
Спонсируемый контент




 Спонсируемый контент ::


Вернуться к началу Перейти вниз

Словарь коррекции текста

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

Создать форум | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении
Создать форум | © phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Создать ваш бесплатный блог