|
| Пожелания по развитию программы | |
| |
Автор | Сообщение | Пожелания по развитию программы |
---|
balabolka V.I.P.
Сообщений : 1228
| balabolka | :: Ср Ноя 03 2010, 17:40 | Ср Ноя 03 2010, 17:40 | |
| al2055 Подумаю, что тут можно сделать.
Проблема с такими подстановочными символами в том, что не всегда можно договориться, что именно считать "словом": только лишь сочетание букв, или буквы и дефис ("когда-нибудь"), или буквы, дефис и цифры ("3-ье"), и т.д. В некоторых языках вообще нет пробелов, так что там весь текст - это одно сплошное слово. То есть, я хочу сказать, не все так однозначно. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Сб Ноя 06 2010, 19:30 | Сб Ноя 06 2010, 19:30 | |
| al2055 Выложил на сайт версию 1.37 программы "Балаболка"; в ней изменен формат словарей омографов таким образом, как Вы и просили: в выражениях для автоматической замены теперь можно использовать подстановочный символ "*" (вместо целого слова или вместо нескольких букв в начале или в конце слова). Например:
- Код:
-
у правого берега=бЕрега у *ого берега=бЕрега у * берега=бЕрега При этом пришлось внести в формат словаря еще одно изменение: в правой части таких выражений должен находиться только лишь текст, который заменяет слово-омограф.
Для преобразования словарей омографов из старого формата в новый можно использовать эту утилиту. |
|
| | | al2055 Постоялец
Сообщений : 95
Репутация : 23
| al2055 | :: Вс Ноя 07 2010, 00:00 | Вс Ноя 07 2010, 00:00 | |
| balabolka Все отлично работает. Спасибо. Правда, попутно появились некоторые нюансы в связи со вторым изменением формата словарей. Раньше можно было в правилах вносить и другие изменения обрамляющего омограф текста. Например, проставлять "ё", корректировать произношение некоторых словосочетаний и тд. Затем можно было все hmg словари конвертировать в dic формат, таким образом я, собственно, и сформировал свои словари замен. Но плюсы изменений перевешивают эти минусы - теперь можно охватить гораздо больше словосочетаний с омографами. Основная проблема другая. Есть масса выражений, содержащих два и даже три омографа. Например:
- Код:
-
из окна замка=из окнА зАмка окна замка выходили=Окна зАмка выходИли Раньше было достаточно отловить все такие фразы для первого во фразе омографа, в данном случае "окна". Теперь придется вносить для всех. Для поиска омографов в новых текстах это просто увеличит время обработки, а вот с уже готовыми словарями - беда. Все придется вносить вручную. Ваша утилита-конвертер в таких случаях не поможет. Можно ли здесь что-нибудь сделать? Или, может, хотя бы на время, предусмотреть возможность пользования любым форматом на выбор, до полного "устаканивания"? |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вс Ноя 07 2010, 00:46 | Вс Ноя 07 2010, 00:46 | |
| - al2055 пишет:
- Можно ли здесь что-нибудь сделать? Или, может, хотя бы на время, предусмотреть возможность пользования любым форматом на выбор, до полного "устаканивания"?
Не вижу способа решить эту проблему программным способом. Правьте словари омографов.
|
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вс Ноя 07 2010, 02:15 | Вс Ноя 07 2010, 02:15 | |
| al2055 Обновил утилиту для словарей омографов. Теперь она будет создавать еще один текстовый файл - список тех строк из старого словаря, в которых встречаются два и более омографа. Надеюсь, это поможет. |
|
| | | al2055 Постоялец
Сообщений : 95
Репутация : 23
| al2055 | :: Вс Ноя 07 2010, 12:05 | Вс Ноя 07 2010, 12:05 | |
| - balabolka пишет:
- Надеюсь, это поможет.
Да, спасибо. Теперь можно пройтись по этим спискам и отловить все значения. |
|
| | | LLL-81 Наблюдатель
Сообщений : 1
Репутация : 1
| LLL-81 | :: Пн Дек 27 2010, 16:02 | Пн Дек 27 2010, 16:02 | |
| Доброго времени суток. У меня есть пара маленьких предложений, ежели о ни появлялись сильно не пинайте! В общем было бы хорошо если есть возможность добавить в программу отключаемую функцию перехвата текста из буфера. ( т.е. в компьютере к примеру реализовано авто копирование выделенного текста, тогда программа будет его проговаривать без дополнительных нажатий клавиш) И еще автоматическое добавление текста из буфера в программу. (т.е. каждый скопированный текст автоматически добавляется в конец заданной страницы, а программа проговаривает его по порядку. Допустим есть очень длинная и интересная статья, выделили текст, программа начала бухтеть, отвлеклись, прослушали – придется искать нужный абзац, а так пока бухтится одна статья можно будет дополнительно скопировать другую, пропустить часть не нужного текста и.т.д.)
П.С. Программа очено хорошая и удобная. Перепробовал уйму разных отечественных и буржуйских, остановился на вашей – спасибо за труд.
|
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пн Дек 27 2010, 19:18 | Пн Дек 27 2010, 19:18 | |
| LLL-81 Время от времени задумываюсь над функцией "слежения" за буфером обмена, но пока не собираюсь добавлять ее в свою программу. Буду думать еще; спасибо за идею и добрые слова о "Балаболке". |
|
| | | Rus Новичок
Сообщений : 12
Репутация : 3
| Rus | :: Вт Дек 28 2010, 13:55 | Вт Дек 28 2010, 13:55 | |
| Здравствуйте! Спасибо за программу. Замечательно работает. Кстати, Вы отношения к программе "Балагур" (сборник анекдотов и прочего веселья) не имеете? .. А можно ли реализовать в программе функцию назначения приоритетов выбранным словарям? Для этого как мне кажется, можно копировать во временную папку cesh или tmp, переименовывать имеющиеся и выбранные словари соответственно назначенному приоритету 1_имя_файла.ini, 2_имя_файла.ini или 1_имя_файла.dic, 2_имя_файла.dic. Приоритет задавать выпадающим списком с права от имени словаря в панели словарей и ограничить, ну например пятью. К контекстному меню добавить "Обновить приоритеты". Или как то иным путем, добавив и присвоив переменную имени словаря, которую и будет обрабатывать программа. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вт Дек 28 2010, 15:09 | Вт Дек 28 2010, 15:09 | |
| - Rus пишет:
- Кстати, Вы отношения к программе "Балагур" не имеете?
Нет.
- Rus пишет:
- А можно ли реализовать в программе функцию назначения приоритетов выбранным словарям?
Если речь идет о правилах, хранящихся в файлах с расширением INI, - списки правил считываются из файлов в зависимости от алфавитного порядка имен файлов. То есть, первым в списке будут все правила из файла 1_имя_файла.ini, затем все правила из файла 2_имя_файла.ini и т.д.
В случае с правилами из словарей DIC всё совсем не так. Создается общий список всех правил из всех словарей DIC, а затем этот список правил сортируется специальным образом, в зависимости от длин шаблонов правил. Таким образом, к тексту в первую очередь будут применяться самые длинные правила, и лишь затем более короткие. Этот алгоритм применения правил придумал автор программы "Говорилка", все остальные русскоязычные программы используют такой же способ (чтобы правила из словарей применялись одинаково во всех программах).
"Балаболка" сначала применяет правила из INI-словарей, затем правила из DIC-словарей.
Менять что-либо в порядке применения правил я НЕ намерен. Во-первых, существует уже предостаточно словарей, которые создавались и рассчитаны именно на текущий способ применения правил. Если изменить тут даже какую-то мелочь, часть правил может перестать работать так, как надо; пользователи программы с этим уже сталкивались, и некоторые из них остались очень недовольны.
Во-вторых, не вижу особой необходимости еще больше усложнять процесс работы со словарями. Имеющегося инструментария (в первую очередь, поддержки регулярных выражений в INI-словарях) более чем достаточно для решения самого широкого круга задач. Выбирая между универсальностью и простотой, я выбираю простоту. |
|
| | | sokir Новичок
Сообщений : 13
Репутация : 0
| sokir | :: Ср Янв 12 2011, 12:15 | Ср Янв 12 2011, 12:15 | |
| Что нужно сделать, что бы программа озвучила русско-английский текст? Вставляю к примеру: run бежать - произносит либо только англ. либо рус. текст, в зависимости какой голос выбран, а мне надо оба. Я хочу словарь озвучить. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Ср Янв 12 2011, 13:25 | Ср Янв 12 2011, 13:25 | |
| - sokir пишет:
- Что нужно сделать, что бы программа озвучила русско-английский текст?
Существует несколько способов.
- В программе "Балаболка" воспользоваться пунктом главного меню Текст | Иностранные слова. С его помощью можно для всех слов, написанных латинскими буквами, добавить теги SAPI 5 (что такое теги SAPI 5 - читайте в файле справки программы). С помощью этих тегов программа будет переключаться с одного голоса на другой при чтении русских и английских слов.
- Использовать специальный словарь Я_Билингва_SAPI5.rex, созданный автором программы "Демагог" Венедиктом Ли. Скачайте этот словарь и поместите в папку 'Мои документы\Balabolka'. В этом словаре нужно прописать имя Вашего английского голоса; подключить словарь можно поставив "галочку" напротив имени файла в панели словарей "Балаболки".
- Можно установить платную программу "mp3book2005", которая позволяет использовать два голоса (один для чтения русских букв, второй для латинских).
|
|
| | | sokir Новичок
Сообщений : 13
Репутация : 0
| sokir | :: Сб Янв 15 2011, 23:58 | Сб Янв 15 2011, 23:58 | |
| - balabolka пишет:
- В программе "Балаболка" воспользоваться пунктом главного меню Текст | Иностранные слова. С его помощью можно для всех слов, написанных латинскими буквами, добавить теги SAPI 5 (что такое теги SAPI 5 - читайте в файле справки программы). С помощью этих тегов программа будет переключаться с одного голоса на другой при чтении русских и английских слов.
Использовать специальный словарь Я_Билингва_SAPI5.rex, созданный автором программы "Демагог" Венедиктом Ли. Скачайте этот словарь и поместите в папку 'Мои документы\Balabolka'. В этом словаре нужно прописать имя Вашего английского голоса; подключить словарь можно поставив "галочку" напротив имени файла в панели словарей "Балаболки". Получилось. Но вот только громкость каждого голоса разная. Как громкость можно выровнять?
Впринципе Алёна и по английски говорит, вот только все буквы читает. Никак нельзя алёнку заставить по правильной транскрипцией говорить? Тогда и 2 голоса не понадобилось бы. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вс Янв 16 2011, 02:16 | Вс Янв 16 2011, 02:16 | |
| - sokir пишет:
- Как громкость можно выровнять?
Если Вы осуществляете смену голосов при помощи тегов SAPI 5 (пункт меню "Текст | Иностранные слова" в "Балаболке"), то на закладке "Дополнительные настройки" можно задать значение громкости для речевого движка, который будет читать английские слова (от 0 до 100).
В этом случае текст будет выглядеть так: - Код:
-
<voice required="Name=Microsoft Sam"><volume level="85">word</volume></voice>
- sokir пишет:
- Впринципе Алёна и по английски говорит, вот только все буквы читает. Никак нельзя алёнку заставить по правильной транскрипцией говорить?
Не думаю, что это можно реализовать. Голос "Алёна" просто напросто не содержит данных для чтения английских текстов - только отдельные фонемы для чтения латинских букв.
Но, теоретически, такие двуязычные голоса существуют; насколько я помню, китайские и японские голоса умеют правильно читать тексты как на "родном" языке, так и на английском. |
|
| | | sokir Новичок
Сообщений : 13
Репутация : 0
| sokir | :: Вс Янв 16 2011, 12:16 | Вс Янв 16 2011, 12:16 | |
| - balabolka пишет:
- Если Вы осуществляете смену голосов при помощи тегов SAPI 5 (пункт меню "Текст | Иностранные слова" в "Балаболке"), то на закладке "Дополнительные настройки" можно задать значение громкости для речевого движка, который будет читать английские слова (от 0 до 100).
Чёта я её сразу не заметил - торможу. Так как громкость англ. меньше рус., а выше 100% громкость сделать нельзя, то я иностранным сделал русский. Я заметил, что качество голоса,после такого преобразования, сильно падает. Такое ощущение, что программа снижает частоту голоса до 8 кГц. Мне конечно явно важнее качество англ., но сильно уж слух режут рус. слова. Могу ли я как-нибудь это исправить? |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вс Янв 16 2011, 18:22 | Вс Янв 16 2011, 18:22 | |
| sokir Не совсем понятно: речь идет о чтении вслух или о записи аудиофайлов? При записи аудиофайлов за "основу" берется частота основного голоса (насколько я помню). Так что, если в качестве английского голоса используется Microsoft Sam, который заметно хуже по качеству, чем более новый голос "Алёна", то частота результирующего аудиофайла будет ниже, чем по умолчанию у "Алёны", и звук будет искажен.
Я не большой специалист в аудоформатах и обработке звука, так что не смогу дать Вам подробную консультацию на этот счет. Мой совет будет прост: используйте более новые и более качественные английские голоса, причем с той же частотой, что и русский голос. Английских речевых движков существует очень много, от разных фирм (ссылки на них есть на этом форуме), так что есть из чего выбрать.
И, разумеется, я рекомендую приобретать эти компьютерные голоса легально, в online-магазинах. |
|
| | | sokir Новичок
Сообщений : 13
Репутация : 0
| sokir | :: Пн Янв 17 2011, 01:06 | Пн Янв 17 2011, 01:06 | |
| - balabolka пишет:
- Не совсем понятно: речь идет о чтении вслух или о записи аудиофайлов
Речь шла о чтении вслух. Получается, что основной голос нормального качества, а тот что в тегах явно искажён. Попробую найти англ. речевой движок, работающий на той же частоте. Кстати, а как узнать на какой частоте они работают? Я в программе нигде не увидел.
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Вт Янв 18 2011, 03:58 | Вт Янв 18 2011, 03:58 | |
| Спасибо за программу.
Поработал на ней с "Аленкой" ну и само-собой не обошлось без того, чтобы не внести коррекцию в произношение. Очень много приятных функций, таких как... Примененные правила, измененный текст, операции с заглавными буквами, поиск имен, тяжелая артиллерия .rex файл (супер). Я за многими вещами - перестал в "Ворд" ходить.
Но звучание некоторых слов пришлось поправлять - в лексиконе. А как вы смотрите на то, если бы лексикон можно было бы поправить из "балаболки"? Ну, может и не стоит так круто (голосов много)... Но, если бы была функция вставки фонем в текст, то можно было бы отредактировать звучание и потом все внести в лексикон разом. Может - какими то знаками обнести его, чтобы было (программе) понятно, что это на голосовой движок информация.
Например:
Корабль был <#p V t o1 p l' $ n> вчера.
Что-то вроде, как вставка блока низкоуровневого языка в программу на языке высокого уровня.
Не знаю, возможна ли отправка таких сообщений на движок, но было бы здорово. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Вт Янв 18 2011, 05:11 | Вт Янв 18 2011, 05:11 | |
| Ну и, если такое - принципе - возможно, то можно эти фонемы - вставлять в словарь замен. И. тогда - либо вообще не лазить в лексикон, либо - переконвертировать словарь замен - в лексикон (точнее в файл для импорта). |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Вт Янв 18 2011, 13:13 | Вт Янв 18 2011, 13:13 | |
| - Андрей28 пишет:
- А как вы смотрите на то, если бы лексикон можно было бы поправить из "Балаболки"?
Теоретически это возможно: существует SDK для Acapela Multimedia TTS; там, например, описывается функция BabTTS_DictAddWord, которая добавляет транскрипцию слова в лексикон. Но, конечно, в свою программу я такую опцию добавлять не стану: разобраться в SDK будет сложновато; реализовывать это для голосов лишь одного производителя мне не кажется необходимым; нет гарантий, что набор функций не изменится в следующих версиях голосов Acapela. Но самая главная причина - нет уверенности, что не возникнет проблем с лицензированием; не изучал досконально этот вопрос. |
|
| | | evilone_ Участник «online словари»
Сообщений : 859
Репутация : 317
| evilone_ | :: Вт Янв 18 2011, 19:59 | Вт Янв 18 2011, 19:59 | |
| - Андрей28 пишет:
- Но, если бы была функция вставки фонем в текст, то можно было бы отредактировать звучание и потом все внести в лексикон разом.
можно использовать sapi теги, аленка поддерживается теги транскрипции для sapi4: \Prn=p r $ v e1 t\ \Prn=p r $ v e1 t _ k @ k _ d $ l A1\ ... только как показала практика чтение текста с транскрипциями отвратительное лучше добавлять транскрипции в лексикон
|
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Ср Янв 19 2011, 17:53 | Ср Янв 19 2011, 17:53 | |
| Как в .rex файлах в поле "заменить на" вставить перевод строки или шестнадцатеричный код символа?
Еще интересует синтаксис применения модификаторов в регулярных выражениях. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 20 2011, 12:38 | Чт Янв 20 2011, 12:38 | |
| Отмечу сразу, что в данном посте не идет речь о том, чем считать знаки препинания или о порядке записи словосочетаний с двумя омонимами. Речь о том, чтобы привести все блоки программы к однотипной работе. А они в данном примере - показывают противоречивую информацию.
Текст: бело-красно-голубой
Правила: бело-красно=бЕло-красно бело-красно=бело-крАсно
Статистика замен: бело-красно=бЕло-красно бело-красно=бело-крАсно
Примененные правила: бело-красно=бЕло-красно бело-красно=бело-крАсно
Измененный текст: бело-красно-голубой
Пары правил: нет |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Чт Янв 20 2011, 13:12 | Чт Янв 20 2011, 13:12 | |
| - Андрей28 пишет:
- Речь о том, чтобы привести все блоки программы к однотипной работе.
Спасибо за наблюдательность; действительно, это ошибка в программе: в одном случае дефис "приравнен" к буквам, в другом нет. Приведу к единому виду. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Чт Янв 20 2011, 13:23 | Чт Янв 20 2011, 13:23 | |
| balabolka,
Мне кажется, что дефис нужно прировнять к букве. Поиграйтесь с этим текстом и вы поймете, что движок (Алена) лучше реагирует без правил, чем с ними.... Но и в поиске омонимов - тоже дефис - не буква....
P.S. Это - не наблюдательность. это - простой анализ. Мне - очень понравилась ваша программа и я начал просматривать ее, дабы знать, на что рассчитывать, а на что - нет... |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Пт Янв 21 2011, 19:08 | Пт Янв 21 2011, 19:08 | |
| Поработал с поиском омографов... Отличный инструмент. Жаль раньше не нашел. Остался - в полном восторге
1. Знак препинания - в конце фразы с омографом - не позволяет распознавать эту фразу. А правила в словарях замены - поддерживают это. При этом начинаться фраза - может со знака препинания (даже с запятой), а в словарях с запятой - не может. 2. Можно ли ограничить текст, который выводится для выбора фразы границами предложения? (не сильно мешает) 3. При ручном наборе (или вставки из буфера обмена) словосочетания, которое, уже имеется - высвечивать его для предотвращения дублей. 4. Было бы не плохо меть возможность произвести все замены (которые имеются) без остановок на новых (не присутствующих в правилах). 5. При этом можно и подсветить все сделанные замены другим цветом. Так было бы проще проверить правильность выбранных фраз. 6. Неплохо бы подсказку на исправленные (подсвеченные другим цветом) омографы, какое из правил сработало. 7. Про сочетания нескольких омографов... два дубликата, переведутся в два правила замены, которые перекроют друг друга и одно слово останется неисправленным. А по новой методе - можно поменять написание - одного слова в одной фразе. 8. Ну и, конечно, если бы все словосочетания могли бы браться из какого либо (указанного) словаря .dic и вноситься туда - автоматически - просто здорово бы было....
|
|
| | | al2055 Постоялец
Сообщений : 95
Репутация : 23
| al2055 | :: Пт Янв 21 2011, 19:42 | Пт Янв 21 2011, 19:42 | |
| Я помню, сколько копий было сломано, чтобы убедить вас сделать то, что мы имеем сейчас. А именно, дефис-не буква, а разделитель. Вижу, что сейчас тенденция к откату. Т.е. многое из наработанного придется выбросить в корзину, а вместе с этим и достигнутый компромисс и универсальность. Ведь в конструкциях типа - Код:
-
"слово"-"слово" гораздо больше пространства для маневра, чем если считать это за одно слово. Это ж сколько новых правил надо написать, и сколько изменить! А при ручном поиске омографов... все омографы, написанные через дефис не отлавливаются опять? Шаг вперед-два шага назад! Убедительная просьба: если Вы все же решите вернуться к старому, оставьте нынешнее положение хотя бы как опцию. Спасибо. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Янв 21 2011, 23:24 | Пт Янв 21 2011, 23:24 | |
| Андрей28 Обещаю подумать над Вашими замечаниями и предложениями. Спасибо.
Пункт 1 (знак препинания в конце выражения с омографом) - это, скорее всего, ошибка; поправлю в следующей версии программы.
Пункт 4 (возможность произвести все замены) - такое предложение звучало уже неоднократно; полагаю, стоит согласиться. Добавлю кнопку для автоматического применения всех выражений с омографами (игнорируя тем самым те омографы, для которых нет выражений). Мне не очень нравится такой подход к проблеме слов-омографов, но это может пригодиться в тех случаях, когда нет времени на более тщательную правку. "Подсветить" при этом сделанные замены другим цветом не получится - так как пришлось бы хранить в памяти компьютера все места таких замен; это излишнее усложнение программы, на мой взгляд. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Сб Янв 22 2011, 00:38 | Сб Янв 22 2011, 00:38 | |
| - balabolka пишет:
- Мне не очень нравится такой подход к проблеме слов-омографов, но это может пригодиться в тех случаях, когда нет времени на более тщательную правку.
Ну. не соглашусь с вами. я - тщательно тексты разбираю. Но мне - легче, что ли, когда лишнее не светится. Не всегда хорошо - следовать по тексту.
- balabolka пишет:
- "Подсветить" при этом сделанные замены другим цветом не получится - так как пришлось бы хранить в памяти компьютера все места таких замен; это излишнее усложнение программы, на мой взгляд.
Думаю - вовсе не нужно все держать в памяти. Программа должна пройтись по списку словосочетаний и подсветить то, что подойдет под него. Точно также, как и сами омографы подсвечиваются. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Сб Янв 22 2011, 13:43 | Сб Янв 22 2011, 13:43 | |
| - Андрей28 пишет:
- Думаю - вовсе не нужно все держать в памяти. Программа должна пройтись по списку словосочетаний и подсветить то, что подойдет под него. Точно также, как и сами омографы подсвечиваются.
Нет, "подсветить" также, как омографы, не получится. Две причины; первая - излишняя нагрузка на процессор. "Подсветка" должна осуществляться мгновенно (например, при прокрутке текста в окне программы); обрабатывается весь видимый в данный момент текст (и даже еще часть текста до и после). Придется искать измененные омографы и проверять выражения для них; фраз с омографом может быть очень много - словари омографов растут в размерах. Причем, речь идет не о простом сравнении одного текста с другим, а о более сложном процессе: подстановочный символ "*" может заменять целые слова. То есть, хочу сказать, что программа будет "тормозить", если "подсвечивать" измененные омографы.
Вторая причина - не все измененные омографы на самом деле были изменены программой. Например, слово "всё": если текст содержит слово "все" - это омограф, если слово "всё" - это вовсе не значит, что слово было обработано программой; вполне возможно, что текст изначально был написан с буквой "ё". Другими словами, программа будет "подсвечивать" то, что выделять нет необходимости (текст, который не был изменен программой).
---
У каждого пользователя своё мнение по поводу того, как должна осуществляться обработка омографов в программах для чтения вслух. Пока какого-то определенного алгоритма или интерфейса для этого не предложено; поэтому предпочитаю очень осторожно вносить изменения в то, что касается омографов в "Балаболке". Буду думать дальше.
Очень интересны идеи, предложенные посетителем форума Лёва: использовать морфологический анализ текста для автоматического выбора нужного омографа (плюс возможность замен при помощи правил). Правда, есть определенные сомнения в гарантии 100%-ной правильности результата; но автоматизация процесса того стоит. Если данный способ реализовать в виде плагина (библиотеки или консольной утилиты), авторы и пользователи программ будут признательны за такую функцию. |
|
| | | Лёва V.I.P.
Сообщений : 134
Репутация : 173
| Лёва | :: Сб Янв 22 2011, 17:48 | Сб Янв 22 2011, 17:48 | |
| - Цитата :
- Правда, есть определенные сомнения в гарантии 100%-ной правильности результата;
Тут ситуация следующая: Возможность замен при помощи правил введена, потому что сделано по принципу изложенному тут https://mytts.forum2x2.ru/t260-topic , а такой принцип предполагает большой процент ошибок. Пробовал сделать по принципам изложенным здесь https://mytts.forum2x2.ru/t183-topic и здесь http://www.dictum.ru (все их исходники могу выложить, так как на сайтах их не осталось) В этих методах меньший процент ошибок, хотя тоже большой, но у всех у них одна болезнь - вообще не обрабатываются те предложения , в которых встречаются слова не вошедшие в словарь Зализняка или АОТ или сокращения и аббревиатуры. Поэтому реализован комбинированный метод. Процент ошибок - порядка 5% - 7%, связанно это с тем, что не всегда есть возможность сделать синтаксический разбор начиная со сказуемого. Вот эти 5-7% и компенсируются правилами.
- Цитата :
- Если данный способ реализовать в виде плагина (библиотеки или консольной утилиты)
Думаю, что смогу сделать модуль в виде dll, конечно для этого потребуются большие переделки. Сейчас выгребаю ошибки. |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Сб Янв 22 2011, 18:18 | Сб Янв 22 2011, 18:18 | |
| - balabolka пишет:
- Нет, "подсветить" также, как омографы, не получится. Две причины; первая - излишняя нагрузка на процессор. "Подсветка" должна осуществляться мгновенно (например, при прокрутке текста в окне программы);
На моём неслабом компьютере "подсветка" тормозит прокрутку текста. Это одна из причин, почему я перешёл на предобработку текста словарями замен. |
|
| | | Андрей28 Участник
Сообщений : 74
Репутация : 8
| Андрей28 | :: Сб Янв 22 2011, 18:54 | Сб Янв 22 2011, 18:54 | |
| подсветка необходима - только при ручном поиске новых форм с омографами. При этом - тормознутость - вполне оправдана поставленной задачей.
Мы же не станем сравнивать (по времени) просмотр фильма и его перекодировку...
- evmir1 пишет:
- На моём неслабом компьютере "подсветка" тормозит прокрутку текста.
У меня не тормозит. Сама подсветка немного запаздывает. |
|
| | | al2055 Постоялец
Сообщений : 95
Репутация : 23
| al2055 | :: Ср Фев 16 2011, 14:41 | Ср Фев 16 2011, 14:41 | |
| Есть такая просьба, если возможно. Из тех же соображений, что при сортировке в словарях hmg все правила, начинающиеся со "*", переносятся в конец списка (частные правила обрабатываются раньше общих), реализовать это и внутри блока правил со "*" в середине правила. Т.е. при сортировке как бы принимаем, что "*" в конце табл. симв. Спасибо. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Ср Фев 16 2011, 23:11 | Ср Фев 16 2011, 23:11 | |
| al2055 Согласен, изменю способ сортировки фраз в следующей версии. |
|
| | | kisa1971 Интересующийся
Сообщений : 7
Репутация : 0
| kisa1971 | :: Чт Фев 17 2011, 18:10 | Чт Фев 17 2011, 18:10 | |
| balabolka, простите, а будет ли увеличена скорость записи в mp3? |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Чт Фев 17 2011, 18:51 | Чт Фев 17 2011, 18:51 | |
| - kisa1971 пишет:
- balabolka, простите, а будет ли увеличена скорость записи в mp3?
Нет, не будет.
Запись аудиофайла осуществляется так: программа дает команду голосу начать чтение в звуковой файл; компьютерный голос сохраняет речь как файл WAV во временной папке; после окончания сохранения WAV моя программа конвертирует его в MP3 при помощи кодека LAME.
Повлиять на компьютерный голос (на скорость записи данных в WAV) я не могу. Также, пока не планирую заменять кодек LAME на что-либо другой (для конвертирования WAV в MP3). Поэтому скорость записи звуковых файлов в программе "Балаболка" в ближайшее время увеличена не будет. |
|
| | | kisa1971 Интересующийся
Сообщений : 7
Репутация : 0
| kisa1971 | :: Чт Фев 17 2011, 19:17 | Чт Фев 17 2011, 19:17 | |
| Жаль... В принципе, я имею легкое представление, о работе подобных программ. Просто у меня ранее стояла Ice_book_rearder,достаточно шустрая в обработке в mp3. Но я не уверена, что она совместима с нынешними словарями Алены. Раньше она читала и тире, и всевозможные знаки препинания... Может, я так и не сумела её правильно настроить... |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Фев 17 2011, 20:04 | Чт Фев 17 2011, 20:04 | |
| - kisa1971 пишет:
- Просто у меня ранее стояла Ice_book_rearder,достаточно шустрая в обработке в mp3. Но я не уверена, что она совместима с нынешними словарями Алены.
Если Вы привыкли записывать Ice_book_rearder, то сначала обработайте текст словарями в Балаболке, а затем пишите в mp3. |
|
| | | kisa1971 Интересующийся
Сообщений : 7
Репутация : 0
| kisa1971 | :: Чт Фев 17 2011, 20:18 | Чт Фев 17 2011, 20:18 | |
| Это очень, очень долго... Проще дождаться результата от "Балаболки". Но все равно - СПАСИБО. И за программу автору - ОГРОМНЕЙШАЯ БЛАГОДАРНОСТЬ! |
|
| | | evilone_ Участник «online словари»
Сообщений : 859
Репутация : 317
| evilone_ | :: Чт Фев 17 2011, 21:08 | Чт Фев 17 2011, 21:08 | |
| - balabolka пишет:
- Повлиять на компьютерный голос (на скорость записи данных в WAV) я не могу.
в TextAloud есть какая-то настройка в Options-Voices and File Options называется она Write to File Speed там значения от 1 до 150 она имеет какое-то отношение к скорости записи в wav или это совсем к другому? вот что про нее написано - Цитата :
- This setting controls the speed at which TextAloud attempts to save to a file, 1x means reading is done at the same speed as reading aloud. 10х means reading to file takes 1 tenth the time.
This setting is configurable because it determines the amount of cpu the speech engine will use. At high settings it can cause system wide problems, particularly if you're actively using other applications. We recommend starting with a value of 10, and if you want to increase it, do it gradually. т.е. чем выше тем больший приоритет задается при записи файла сейчас при 150 файл объемом в 1.6-1.8 Гб пишется за 8-10 минут, хотя наверно эта скорость зависит от конкретного компьютера |
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Чт Фев 17 2011, 21:29 | Чт Фев 17 2011, 21:29 | |
| Прошу прощения за офф-топик, но вот выдержка из файла справки
- Спойлер:
"ICE Book Reader Professional позволяет запускать несколько копий процесса модуля синтеза речи (мульти thread режим) для увеличения скорости создания WAV/MP3 книг. Различные части текста "произносятся" параллельно и одновременно. Потом они собираются в единый звуковой файл. Этот процесс может сильно уменьшить время, необходимое для для создания WAV/MP3 книг. Однако, использование более чем одного процесса может быть потенциально опасным. Некторые модули синтеза речи позволяют использовать несколько процессов параллельно без ограничений (большинство SAPI5 модулей синтеза речи). Некоторые модули позволяют использовать не более 2-4 процессов (большинство SAPI4 модулей синтеза речи). Некоторые модули позволяют использовать только один процесс (некоторые старые модули синтеза речи, такие как Digalo). ============================================= Если Вы используете несколько процессов, то могут возникнуть нештатные ситуации. ICE Book Reader Professional может зависнуть или Windows может информировать об ошибке в ICE Book Reader Professional или что-то подобное. Это не ошибка в ICE Book Reader Professional. Внутренние ошибки модулей синтеза речи вызывают эти ошибки. Это происходит потому, что большинство модулей синтеза речи никогда не тестируются для работы в мульти thread режиме. Хотя ICE Book Reader Professional делает всё возможно, чтобы избежать такие ситуации, только авторы модулей синтеза речи могут решить эту проблему полноценно. Обычно не нужно использовать более 4-8 процессов, даже если Вы используете мульти процессорную систему. Попробуйте не использовать большое число процессов с начала. Попробуйте увеличивать число процессов постепенно, начиная с 2 процессов. Если Вы видите, что система стабильна, Вы можете попробовать увеличить число процессов. Тестовый текст"ALICE'S ADVENTURES IN WONDERLAND" - 115859 букв Модуль синтеза речи - Microsoft Mary - SAPI4 Формат файла: 22кГц - Моно - MP3 64kbit Приложение Режим Время создания ICE Book Reader Professional 1 процесс 06:55 ICE Book Reader Professional 2 процесса 04:26 ICE Book Reader Professional 3 процесса 03:48 TextAloud v2.147 Speed x150 08:26 AudioBookMaker v1.5.2 Speed x100 31:06 Модуль синтеза речи - Microsoft Mary - SAPI5 Формат файла: 22Khz - Mono - MP3 64kbit Приложение Режим Время создания ICE Book Reader Professional 1 thread 04:57 ICE Book Reader Professional 8 threads 02:30 TextAloud v2.147 Speed x150 06:33 Мне особенно понравилось; "ICE Book Reader Professional может зависнуть или Windows может информировать об ошибке в ICE Book". Главное оптимистично. |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Фев 18 2011, 01:59 | Пт Фев 18 2011, 01:59 | |
| У меня сейчас нет планов по добавлению в программу многопоточности (о чем и идет речь в приведенной справке "ICE Book Reader"), то есть когда осуществляется запись нескольких звуковых файлов одновременно, в разных потоках. Также, пока не собираюсь изменять приоритет процесса при создании звукового файла (это то, о чем, насколько я понимаю, идет речь в TextAloud; правда, мне непонятно, откуда взялось значение "150" как максимум - возможно, это настройка скорости для старых голосов SAPI4, она есть и в "Балаболке").
Сейчас "Балаболка" пишет аудиоданные в одном потоке, с обычным приоритетом. Возможно, когда-нибудь добавлю больше настроек для процесса аудиозаписи; пока не готов этим заниматься.
---
evilone_, о какой версии TextAloud идет речь? У меня стоит версия 3.0.2; настройку "Write to File Speed" не нашел. В окне "Advanced Settings" есть две "галочки": "Raise processing priority when speaking aloud" и "Raise processing priority when writing audio files" ("Повысить приоритет процесса при чтении вслух" и "Повысить приоритет процесса при записи аудиофайлов"). По умолчанию "галочка" стоит лишь в первом пункте.
Цитата из файла справки TextAloud 3.0.2:
"Повысить приоритет процесса при чтении вслух Эта настройка контролирует приоритет процесса для TextAloud во время чтения вслух. Когда настройка активна, система отдает TextAloud приоритет перед другими процессами и позволяет центральному процессору предоставлять более длинные интервалы по сравнению с процессами нормального уровня. По умолчанию настройка включена, что предотвращает задержки при чтении вслух на медленных компьютерах.
Повысить приоритет процесса при записи аудиофайлов Эта настройка идентична предыдущей, с той лишь разницей, что применяется при записи звуковых файлов. Повышенный приоритет процесса обычно не требуется, когда записываются аудофайлы, так что по умолчанию настройка отключена." |
|
| | | kisa1971 Интересующийся
Сообщений : 7
Репутация : 0
| kisa1971 | :: Пт Фев 18 2011, 13:31 | Пт Фев 18 2011, 13:31 | |
| txt.документ, обьемом 1,5 МБ "Балаболка" обрабатывала в mp3 более двух часов.... Компьютер - динозавр, его сородичи, практически вымерли... |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Пт Фев 18 2011, 14:44 | Пт Фев 18 2011, 14:44 | |
| kisa1971 Сочувствую. Могу посоветовать несколько способов "борьбы" с этим.
- То, что уже предлагалось выше, - подготавливать текст в "Балаболке", а записывать в аудиофайл этот подготовленный текст в ICE Book Reader.
- Делить текст на части и конвертировать в MP3 по частям (формально, времени уйдет столько же, но психологически это не так "напрягает").
- Использовать "Балаболку" только для записи файлов в формате WAV, а затем конвертировать звуковые файлы WAV в MP3 при помощи какой-нибудь другой утилиты (подобных программ много, и не все из них используют кодек LAME).
- Сохранять файлы в другом формате, не MP3; я не проводил замеры скорости, но можно поэкспериментировать с настройками форматов OGG, WMA или MP4. Соверменные плееры умеют воспроизводить все эти форматы.
|
|
| | | kisa1971 Интересующийся
Сообщений : 7
Репутация : 0
| kisa1971 | :: Пт Фев 18 2011, 15:32 | Пт Фев 18 2011, 15:32 | |
| Спасибо, огромное за советы! Попробую поэкспериментировать, вдруг, что и получиться! |
|
| | | evilone_ Участник «online словари»
Сообщений : 859
Репутация : 317
| evilone_ | :: Пт Фев 18 2011, 19:27 | Пт Фев 18 2011, 19:27 | |
| - balabolka пишет:
- о какой версии TextAloud идет речь
это в 2.303, в последней версии эту настройку упразднили - Цитата :
- The write to file speed option you're referring to only works with older sapi4 voices, it is ignored in Sapi5. In TA3, we decided to set this at fairly high value and removed the option since it was causing some confusion. For Sapi4 voices, we default the setting to 100x.
|
|
| | | evmir_troll-hunter Admin
Сообщений : 616
Репутация : 208
| evmir_troll-hunter | :: Пт Фев 18 2011, 20:02 | Пт Фев 18 2011, 20:02 | |
| - balabolka пишет:
- Делить текст на части и конвертировать в MP3 по частям (формально, времени уйдет столько же, но психологически это не так "напрягает").
Согласен, я напр. записываю текст по 5МБ. Это около 5-6 минут проигрывания. |
|
| | | ILkoR Наблюдатель
Сообщений : 1
Репутация : 0
| ILkoR | :: Ср Фев 23 2011, 13:06 | Ср Фев 23 2011, 13:06 | |
| А можно бы сделать так, чтобы Балаболка как TextAloud , могла иметь возможность читать почту или веб страницы (отдельный толбар), т.е. открыл страницу нажал на панельке читать и она читает. Автору спс за программу, удобная, я недавно обновил её стала еще лучше, при выборе сапи4 или сапи5 не возникают ошибки |
|
| | | balabolka V.I.P.
Сообщений : 1228
Репутация : 986
| balabolka | :: Ср Фев 23 2011, 15:27 | Ср Фев 23 2011, 15:27 | |
| ILkoR У меня нет планов по созданию плагинов для браузеров или почтовых программ. |
|
| | | SkyFox Наблюдатель
Сообщений : 4
Репутация : 1
| SkyFox | :: Вс Мар 06 2011, 05:11 | Вс Мар 06 2011, 05:11 | |
| Большое спасибо за программу!
Добавьте пожалуйста опции для форматирования текста, когда программа должна видеть что начался новый абзац. Большинство текстов что я слушал имели чуть ли не после каждого предложения пустую строку, а там где на самом деле начинался новый абзац 3 пустых строчки. Поэтому приходится полностью убирать паузу между абзацами.
И ещё одна идея: нельзя ли распознавать диалоги но не просто автор-диалог а с возможностью привязки разных голосов к разным именам ( например если в строке стоит "сказал/крикнул/прошептал [имя]" или если в самом диалоге стоит имя оппонента ) с возможностью выделенный текст вручную привязывать к разным голосам |
|
| | | | Пожелания по развитию программы | |
| Пожелания по развитию программы |
---|
| |