Балаболка TTS

Программа "Балаболка" предназначена для воспроизведения звуков человеческого голоса с использованием любого речевого синтезатора, установленного на компьютере.

Модератор: balabolka

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

Балаболка TTS

#301

Сообщение balabolka »

levm
Хорошо, подумаю, что можно сделать.

Аватара пользователя
ivse
Прохожий

Балаболка TTS

#302

Сообщение ivse »

Hi,
при использовании CLI balcon, если указать параметры типа -fr/-ch/-bt совместно с -m, то информация выводится по нулям:

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

Number of channels: 0
Samples per second: 0
Bits per sample: 0

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

Балаболка TTS

#303

Сообщение balabolka »

ivse
Спасибо за сообщение. Выложил исправленный вариант программы на сайт.

Аватара пользователя
ivse
Прохожий

Балаболка TTS

#304

Сообщение ivse »

спасибо, теперь всё нормально :)

Аватара пользователя
Speranskiy
Прохожий

Балаболка TTS

#305

Сообщение Speranskiy »

Здравствуйте!
Подскажите, пожалуйста, как выбрать в качестве голосового движка Yandex Speech Kit? Все настройки облазил-ничего не нашёл. Версия 2.15.0.715

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

Балаболка TTS

#306

Сообщение balabolka »

Speranskiy
Пункт главного меню Сервис|Сохранить аудиофайл (Google TTS).

Поддержка онлайн-сервисов для синтеза речи была добавлена в программу лишь в тестовых целях. Меня в основном интересуют те сервисы, которые можно использовать бесплатно (Google, Baidu, IBM Watson и др.).

Аватара пользователя
Nxtpr
Постоялец

Балаболка TTS

#307

Сообщение Nxtpr »

А что за сервис Google? C WaveNet или какой-то другой?

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

Балаболка TTS

#308

Сообщение balabolka »

Nxtpr писал(а):
23 окт 2019 21:56
А что за сервис Google? C WaveNet или какой-то другой?
Это не WaveNet (WaveNet платный, и там нужна авторизация).

Это бесплатный сервис синтеза речи, который используется в онлайн-переводчике Google.

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

Балаболка TTS

#309

Сообщение wasyaka »

2019-10-27_162353.png
2019-10-27_162353.png (5.55 КБ) 51446 просмотров
Опция "Сохранить"" - ну ни как не понятно сохранён файл или нет...
Если сохранён - Иконка потускнела. в несохранённом - звёздочка после...
Сами ж текстовыми редакторами пользуетесь...

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

Балаболка TTS

#310

Сообщение balabolka »

wasyaka
Кнопка Сохранить (и пункт меню) всегда будут доступны. Так стараюсь делать во всех своих программах, а в случае с "Балаболкой" это еще важно для слабовидящих пользователей (так как они вызывают пункты меню при помощи комбинаций клавиш).

Попробую в следующей версии добавлять какой-нибудь символ в заголовок окна, когда текст был изменен. Опять же, надо узнать реакцию слабовидящих пользователей на такое добавление, так как экранный диктор будет произносить этот символ при навигации между окнами.

Аватара пользователя
Manariel 64
Постоялец

Балаболка TTS

#311

Сообщение Manariel 64 »

Уважаемый Илья.
Вчера такая проблема была. Скачал последнюю 16-ю, как обычно установил поверх предыдущей. Но при добавлении книги, прога ушла, так сказать, в вечное добавление. Т.е. все остальное работает, а книга не добавляется. Просто пустое поле.
Ладно, удалил, почистил реестр, установил — тоже самое. Опять удалил, поставил 15-ю — все нормально! Мож я чего не так делаю?

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

Балаболка TTS

#312

Сообщение balabolka »

Manariel 64
Пришлите, пожалуйста, файл книги, который Вы пытались открыть в программе.

В окне "Общие настройки", вкладка "Текст": стоит ли "галочка" в пункте Форматировать текст после открытия файла?

Аватара пользователя
Manariel 64
Постоялец

Балаболка TTS

#313

Сообщение Manariel 64 »

balabolka,
Книги в формате fb2, я штук 5 пробовал, а галочка форматировать всегда стоит.
Но ведь сейчас стоит 15-я, и все прекрасно добавляется.

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

Балаболка TTS

#314

Сообщение balabolka »

Manariel 64
Исправленная версия программы доступна для скачивания. Спасибо за помощь.

Аватара пользователя
Manariel 64
Постоялец

Балаболка TTS

#315

Сообщение Manariel 64 »

17-я встала как родная. Спасибо! :thank: И вообще спасибо за Вашу прогу, если бы не она давно глаза сломал бы :reader:

Аватара пользователя
Толя-ля
Прохожий

Балаболка TTS

#316

Сообщение Толя-ля »

Вроде вышло обновление программы "Балаболка"!..
Можно-ли его разрешить качать, и что произойдёт, - слетят-ли какие-то голоса и словари и некие списки слов, к примеру, уничижительные и мат-слова, которые я собирал в корректор произношения... Собрал около 4 тыс. таких слов!.. Не слетит-ли всё это, и вообще, можно-ли как-то сохранить в облако этот собранный мной список этих слов с программными этими закорючками, а потом в пару кликов загрузить в новую систему, и чтоб функционировало как прежде!.. Слушаю в основном комментарии в сети, ютуб, ВК, и тд. и очень порой помогает смягчать запредельность озвученного комментария...
Не хотелось-бы терять и потом повторно заморачиваться с этим, как когда-то!
Останавливает только этот список собранных слов, который не хотелось-бы терять!
Есть-ли тут выход, и какая-то инструкция на этот счёт!
И ещё, какие-то мелкие функции перестали работать, может совсем тогда переустановить!?..

И я относительно недавно качал программу на другой комп, винда 8.1, и там было отличие, там была какая-то новая для меня возможность редактировать текст прямо в окне программы!.. И там почему-то совсем не сработал корректор произношения с тем голосом, который был от виндовс 8.1!
Я попытался в неё начат собират нехорошие слова, и ничего не получилось, как на виндовс 7

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

Балаболка TTS

#317

Сообщение balaamster »

Попробовал сделать озвучку субтитров через Балаболку.
Результат работы этого режима преобразования в речь очень понравился.

Решил для пробы сделать что-то короткое:
► Показать
Надеюсь за использование чужого видеоматериала и за Максима мне не прилетит :smile1:

Если будет время, попробую сделать что-то большее по длительности.

Аватара пользователя
denini
Наблюдатель

Балаболка TTS

#318

Сообщение denini »

balabolka
Здравствуйте. Большое вам спасибо за отличную программу, очень благодарен!)
Подскажите, пожалуйста. Я установил TTS, подключил к нему словари и настроил. Потом установил Балаболку, подключил словари к ней и настроил. Беру фрагмент текста и прослушиваю в самой Балаболке: звучание идеально, время 1:30. Но если сохраняю в аудиофайл, то получается что-то не то: звучание вроде тоже самое, но время 1:20, слишком быстро читает. Как мне сделать, чтобы аудиофайл был такой же, как сама программа. Заранее большое спасибо!: )

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

Балаболка TTS

#319

Сообщение balabolka »

denini
При чтении текста вслух выполняются различные дополнительные действия, которые замедляют процесс чтения:
  • "Балаболка" находит в текстовом файле очередную часть текста для чтения и применяет к ней правила коррекции произношения (чем больше подключено словарей, тем дольше придется ждать - как правило, здесь теряется основное время);
  • программа пересылает текст голосу: теоретически, это должно происходить за миллисекунды, но может "тормозить" операционная система, может "вмешаться" антивирус, который контролирует обмен данными между компонентами системы, и т.д.;
  • голос получает текст и тратит время на обработку: ищет теги SAPI, знаки препинания, делит на предложения, словосочетания, слова и т.д., подготавливая текст к преобразованию в речь; чем длиннее текст, тем больше потребуется времени;
  • голос конвертирует текст в речь; эта операция начнется не сразу и займет какое-то время;
  • закончив чтение, голос посылает сообщение об этом "Балаболке".
Каждая из этих операций занимает доли секунды, но в совокупности они и дают задержку. "Балаболка" читает текст по предложениям, поэтому все описанные действия выполняются после каждого предложения, снова и снова.

При сохранении звукового файла выполнение всех операций никак не сказывается на продолжительности создаваемого звукового файла. В файл будут добавлены только сами аудиоданные; а сколько на запись потребуется времени - это роли не играет. Можно записывать в файл хоть по одному байту в минуту, хоть по сто килобайт в секунду, звуковой файл получится один и тот же, в нем не будет лишних пауз.

Аватара пользователя
denini
Наблюдатель

Балаболка TTS

#320

Сообщение denini »

balabolka
Большое спасибо за такой развернутый ответ! И за программу!: )

Аватара пользователя
denini
Наблюдатель

Балаболка TTS

#321

Сообщение denini »

denini писал(а):
16 дек 2019 21:49
balabolka
Большое спасибо за такой развернутый ответ! И за программу!: )
Может кому пригодится)
После полного ответа, самым оптимальным решением мне показалось заменить знаки препинания в конце предложений, используя тег для паузы голоса. Поэтому я записал макрос в notepad++ с такими заменами:
...
на
...<silence msec="500"/>

?!
на
?!<silence msec="500"/>

.
на
. <silence msec="500"/>

?
на
? <silence msec="500"/>

!
на
! <silence msec="500"/>
Голос у меня SAPI5, 500 милисекунд написал для примера. Потом еще дополню знаком возврата каретки. Все стало как мне нужно, программа и аудиофайл звучат одинаково)

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

Балаболка TTS

#322

Сообщение tonio_k »

denini писал(а):
18 дек 2019 15:26
заменить знаки препинания в конце предложений, используя тег для паузы голоса.
а зачем создавать макросы в других программах? Если можно сразу сделать эти замены "на лету" добавив соответсвующие правила в словарях для балаболки? И ещё нюанс, ваш пример подходит далеко не для всех движков. Поэтому, желательно указывать для какого движка вы рекомендуете такие действия. Движки разные, а балаболка - одна. Ей можно много чего скормить, а вот проглотит ли это движок - вопрос :big_smile:

Аватара пользователя
denini
Наблюдатель

Балаболка TTS

#323

Сообщение denini »

tonio_k
Спасибо, что указали про возможность этого в словарях! Я не умею работать с ними, мою благодарность их создателям и еще автору Балаболки трудно переоценить: )
А так сделал в чем мог)

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

Балаболка TTS

#324

Сообщение balabolka »

denini
В программе "Балаболка" можно задать паузы между предложениями и между абзацами: пункт главного меню Настройки|Общие настройки, вкладка Паузы.

Также, у некоторых голосов есть свои собственные инструменты для редактирования настроек. У голоса "Алёна" есть Voice Manger, там можно задать паузы для этого речевого движка. (Ищите "Voice Manager" в меню кнопки "Пуск" операционной системы.)

Аватара пользователя
denini
Наблюдатель

Балаболка TTS

#325

Сообщение denini »

balabolka писал(а):
18 дек 2019 18:53
denini
В программе "Балаболка" можно задать паузы между предложениями и между абзацами: пункт главного меню Настройки|Общие настройки, вкладка Паузы.
Спасибо еще раз!)
Я сначала так и сделал: в Балаболке выставил паузы, но почему-то длительность не поменялась; поэтому подумал, что эта пауза только для чтения из программы, а для аудиофайла не действует. Но сейчас по вашей наводки сделал еще раз и работает. Наверное, первый раз сделал что-то не так. Большое спасибо!: )

Аватара пользователя
Drenan
Прохожий

Балаболка TTS

#326

Сообщение Drenan »

Доброго дня! И с наступающим Новым годом!
Давно пользуюсь программой, и она мне очень нравится. Автору большое спасибо за труды!
Есть некоторые предложения по улучшению программы:

1, Объединить кнопки Прочитать вслух и Приостановить. Так будет намного удобнее. Нажал кнопку - начинается чтение, еще раз – пауза. Честно говоря, давно такой реализации кнопок в программах не видел как в Балаболке. Во всех современных приложениях кнопки Плей и Пауза объединены в одну.

2, В настройках, вкладка “Общие”, раздел “Начинать чтение с” добавить пункт “с начала предложения”. Мне кажется, это весьма разумно.))

3, При запуске программы открывать только последний открытый документ, а не все по очереди, что занимает много времени. Другие открытые документы загружать только при клике по соответствующей вкладке. Да и при открытии книги лучше отключать отрисовку, так намного быстрее.

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

Балаболка TTS

#327

Сообщение balabolka »

Drenan писал(а):
30 дек 2019 08:13
1, Объединить кнопки Прочитать вслух и Приостановить.
Уже не помню, почему именно выбрал вариант с тремя кнопками, а не с двумя. Давно это было.

Вряд ли стану менять что-либо - я привык, пользователи привыкли. Кстати, если на клавиатуре есть мультимедийные кнопки (или, например, гарнитура наушников содержит такие кнопки), то программа будет обрабатывать нажатие кнопки "Старт/Пауза" корректно.
Drenan писал(а):
30 дек 2019 08:13
2, В настройках, вкладка “Общие”, раздел “Начинать чтение с” добавить пункт “с начала предложения”.
Да, можно попробовать добавить такую опцию. Спасибо за идею.
Drenan писал(а):
30 дек 2019 08:13
3, При запуске программы открывать только последний открытый документ, а не все по очереди, что занимает много времени.
Интересная идея, попробую реализовать.

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

Балаболка TTS

#328

Сообщение balabolka »

С Новым годом! :girl_elka:
Drenan писал(а):
30 дек 2019 08:13
1, Объединить кнопки Прочитать вслух и Приостановить.
Вспомнил, почему много лет назад решил использовать три кнопки вместо двух. Дело в том, что в "Балаболке" можно начать чтение вслух нажатием одной из кнопок:
  • Прочитать вслух
  • Прочитать выделенный текст
  • Прочитать текст из буфера обмена
Любая из трех кнопок запустит процесс чтения. А опции "Приостановить" и "Остановить" - общие для всех трех режимов; поэтому они были реализованы как отдельные кнопки.

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

Балаболка TTS

#329

Сообщение Piligrim »

:girl_elka: С Новым годом!
Буду очень признателен, если в программе появится возможность регулировать "Параметры голоса" более плавно (-0,25; -0,5; -0,75; и +0,25; +0,5; +0,75, например) как по скорости, так и по высоте звука. Да и саму громкость желательно увеличивать до 150%. Использую голосовой движок "Максим", так он звучит либо голосом Буратино на высоте звука 0, либо голосом Карабаса Барабаса на высоте звука -1 (я уже молчу об искажениях на параметрах +10; -10 - явный перебор). Та же история и со скоростью воспроизведения - при 0 спать хочется, а при +1 такая скороговорка, что только величиной пауз удаётся имитировать нормальную речь. Заранее благодарен!

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

Балаболка TTS

#330

Сообщение balabolka »

Piligrim писал(а):
05 янв 2020 06:55
Буду очень признателен, если в программе появится возможность регулировать "Параметры голоса" более плавно (-0,25; -0,5; -0,75; и +0,25; +0,5; +0,75, например) как по скорости, так и по высоте звука.
Microsoft SAPI 5 позволяет менять параметры только в диапазоне от -10 до 10 (для скорости) и от 0 до 100 (для громкости) с шагом 1. Высота звука регулируется только с помощью XML тегов, в диапазоне от -10 до 10. Так как "Балаболка" использует только интерфейсы SAPI 5, моя программа позволяет изменять параметры лишь в этих диапазонах.

Можно изменять параметры созданного звукового файла с речью при помощи дополнительных библиотек и утилит. Например, программа FFmpeg - там есть фильтры atempo для изменения скорости и asetrate для изменения тона.
Вот пример командной строки для увеличения скорости аудиофайла на 25%:

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

ffmpeg -i input.wav -f:a atempo=1.25 output.wav
Еще могу порекомендовать утилиту SoX, которая также обладает большими возможностями по обработке звуковых файлов. Важное замечание - нужно читать документацию, чтобы более тонко настроить изменение параметров.

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

Балаболка TTS

#331

Сообщение Piligrim »

balabolka писал(а):
05 янв 2020 16:14
Можно изменять параметры созданного звукового файла с речью при помощи дополнительных библиотек и утилит. Например, программа FFmpeg - там есть фильтры atempo для изменения скорости и asetrate для изменения тона.
Благодарю за совет. Вопрос тогда такой - а будет ли совпадать скорость звукового файла с автоматически созданными программой субтитрами?

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

Балаболка TTS

#332

Сообщение Piligrim »

Прошу прощения за беспокойство. Я решил проблему с помощью программы MAGIX SOUND FORGE Pro 13.0 Build 124 постобработкой звукового файла. К тому же там очень много утилит, улучшающих звучание. Спасибо за программу!

Аватара пользователя
Drenan
Прохожий

Балаболка TTS

#333

Сообщение Drenan »

Всех с Рождеством Христовым!

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

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

Балаболка TTS

#334

Сообщение balabolka »

Drenan
Спасибо за сообщение. Исправлю в следующей версии.

Аватара пользователя
Serg-lzn
Прохожий

Балаболка TTS

#335

Сообщение Serg-lzn »

Давно пользуюсь программой, все нравится. Автору большое спасибо!
Есть предложение\просьба по улучшению программы:

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

Но приходится ждать пока Балаболка дочитает текущий фрагмент до конца и только потом копировать следующий, так как если скопировать фрагмент текста раньше, то Балаболка начнет читать новый фрагмент не дочитав текущий.

Было бы хорошо если бы Балаболка начинала читать следующие фрагменты после прочтения предыдущих до конца, чтобы можно было копировать куски текста во время чтения, чтобы не терять время.

Можно было бы добавить новый пункт в настройках для этого, т.к. может кому то так как сейчас подходит больше.

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

Балаболка TTS

#336

Сообщение balabolka »

Serg-lzn
Спасибо за идею. Подумаю, что можно сделать.

Аватара пользователя
Serg-lzn
Прохожий

Балаболка TTS

#337

Сообщение Serg-lzn »

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

Аватара пользователя
Lecron
Специалист

Балаболка TTS

#338

Сообщение Lecron »

Прошу прощения, если этот вопрос уже обсуждался.
Русские голоса плохо озвучивают иностранный текст, который в книгах встречается нередко. От отдельных слов, до целых абзацев. Как его можно обрамить тегами подключения иного голоса "voice" при обработке текста? Подскажите регексп? Или есть другие варианты? Подойдет даже сторонняя консольная программа.

Аватара пользователя
Lecron
Специалист

Балаболка TTS

#339

Сообщение Lecron »

"Найти имена в тексте" -> "Не показывать слова из словарей", игнорирует регулярки, например Артемов*= Артёмов$1. В списке найденных имен, по прежнему останутся Артемович, Артемовна и собственно Артемов. Из-за чего происходит разрастание словаря добавлением множеством дублирующих позиций, когда такие имена будут найдены. Не зависит от словаря rex или bxd.
Это ошибка или сознательное поведение?

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

Балаболка TTS

#340

Сообщение tonio_k »

Lecron писал(а):
18 апр 2020 12:16
игнорирует регулярки, например Артемов*= Артёмов$1
очень странная у вас регулярка. Слева звездочка * - явно от словаря dic справа - $1 возврат захвата от регулярных выражений. Поэтому думаю, что это не ошибка или сознательное поведение, а логичное игнорирование.

Аватара пользователя
Lecron
Специалист

Балаболка TTS

#341

Сообщение Lecron »

tonio_k, Артемов* — это корректное регулярное выражение и главное, нормально заменяется на Артёмов$1 как в режиме "Показать измененный текст" (Ctrl-T), так и при тестировании применения правила в bxd-редакторе правил. Не надо искать проблему, там где ее нет. Или хотя бы проверять.

UPD. Замена на Артемов[а-я]* ситуацию не изменила.

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

Балаболка TTS

#342

Сообщение tonio_k »

Lecron писал(а):
18 апр 2020 13:10
Не надо искать проблему, там где ее нет. Или хотя бы проверять.
извините больше вникать в проблему пытаться не буду. Удачи!

UPD и уж тогда:
Артемов([а-я]*)=Артемов$1

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

Балаболка TTS

#343

Сообщение balabolka »

Lecron писал(а):
18 апр 2020 12:16
"Найти имена в тексте" -> "Не показывать слова из словарей", игнорирует регулярки, например Артемов*= Артёмов$1.
Да, сейчас это работает именно так. Программа проверяет лишь точное совпадение найденного в тексте имени с текстом в левой части правила из словаря. Это приводит к тому, что регулярное выражение не совпадает с найденным именем, если выражение содержит еще какие-либо служебные символы. (Важное уточнение: при поиске имен словари *.REX программой вообще не рассматриваются; только *.BXD и *.DIC).

То есть, в "Балаболке" нет какого-то сложного анализатора для проверки того, есть имя в словарях или нет. Проверка самая простая, на точное совпадение имени с текстом (для того, чтобы упростить программе этот процесс). Так что, для фамилии "Артёмов" придется добавить все ее словоформы в словари, - если не хотите, чтобы эти строки появлялась в окне "Найденные имена".

Кстати, хороший вопрос: а есть ли выгода от того, что фамилия "Артёмов" будет присутствовать в словарях как одно регулярное выражение (вместо восьми правил обычной замены, для склонения фамилии по родам и падежам)? Словарь будет компактнее, но будет ли такая замена работать быстрее? Не стоит злоупотреблять регулярными выражениями.

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

Балаболка TTS

#344

Сообщение tonio_k »

balabolka писал(а):
18 апр 2020 13:54
Словарь будет компактнее, но будет ли такая замена работать быстрее?
если словарь применять прямыми перебором, то меду одним правилом со звездочкой и его аналогом в виде перечисления всех вариантов слововорм разницы практически нет. А если правило со звёздочкой против быстрого алгоритма, то вариант с перечислением всех вариантов слововорм будет ощутимо быстрее, но эта разница будет ощущаться при большом объеме текста и большом размере словаря. Так что выгода в удобстве составления словаря

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

Балаболка TTS

#345

Сообщение balabolka »

tonio_k писал(а):
18 апр 2020 14:10
Так что выгода в удобстве составления словаря
На самом деле, мой вопрос был риторический. Очевидно, что в случае с фамилий "Артёмов" следует добавить только одно правило в словарь формата DIC:

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

$Артемов*=Артёмов
И это одно правило всегда будет работать быстрее, чем регулярное выражение.

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

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

Балаболка TTS

#346

Сообщение wasyaka »

Lecron писал(а):
18 апр 2020 12:16
игнорирует регулярки, например Артемов*= Артёмов$1... Из-за чего происходит разрастание словаря...
Найденный список Имён обработайте соответствующими словарями и исключите обработанные...

Аватара пользователя
Lecron
Специалист

Балаболка TTS

#347

Сообщение Lecron »

balabolka писал(а):
18 апр 2020 13:54
Так что, для фамилии "Артёмов" придется добавить все ее словоформы в словари, - если не хотите, чтобы эти строки появлялась в окне "Найденные имена".
Жаль. Сочетание падежей, числа, рода и пр., вполне может давать под два десятка вариантов. Например для "Ташкент" насчитал 18 (!) словоформ и не уверен, что ничего не пропустил. Для мужских имен, добавляются словоформы мужских и женских отчеств. Что может породить еще больше ("Артём" — 30 слоформ!). Все требуется прослушать и внести. На этом фоне процессорное время уже как-то не интересно.
С учетом, что это деятельность именно по проверке имен, т.е. словоформы гарантированы в большом количестве, усложнение алгоритма, могло сократить количество новых требующих внимания слов, с десятков до единиц на книгу.
balabolka писал(а):
18 апр 2020 15:35
Это одна из причин, почему "Балаболка" в окне "Найденные имена" не рассматривает словари с регулярными выражениями,
Согласен, обычно правила-со-звездочкой в dic, более чем достаточно. Но их программа тоже не обрабатывает.

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

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

Балаболка TTS

#348

Сообщение balabolka »

Lecron писал(а):
18 апр 2020 18:20
Жаль. Сочетание падежей, числа, рода и пр., вполне может давать под два десятка вариантов.
Могу посоветовать заносить найденные и обработанные имена и фамилии в отдельный текстовый файл. Программа будет исключать из найденных имен слова из такого списка.

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

Фамилия "Артемов" и ее словоформы попадают, например, под такие шаблоны:

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

арт*
*тем*
*мова*
Если программа будет проверять не точное совпадение, а то, соответствует фамилия шаблону или нет, могут произойти ложные срабатывания. Для меня главное избежать именно этого.
Lecron писал(а):
12 апр 2020 10:50
Русские голоса плохо озвучивают иностранный текст, который в книгах встречается нередко. От отдельных слов, до целых абзацев. Как его можно обрамить тегами подключения иного голоса "voice" при обработке текста?
Рекомендую использовать пункт главного меню "Текст|Иностранные слова", который обрамляет иностранные слова тегами SAPI 5. Тег "voice" делает в "Балаболке" то же самое (только, может быть, благодаря нему программа чуть надежнее парсит теги XML).

Сейчас я не планирую добавлять в программу инструменты для работы с тегом "voice". Судя по письмам пользователей, для них важнее теги SAPI 5, так как эти теги по-настоящему универсальные: текст с тегами SAPI 5 может быть прочитан в любой программе для работы с голосами.

Если важно использовать в тексте именно тег "voice", то добавьте в текст теги SAPI 5, а затем выполните массовую замену. Вместо закрывающего тега используйте этот:

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

{{Voice=}}

Аватара пользователя
Lecron
Специалист

Балаболка TTS

#349

Сообщение Lecron »

balabolka, Не понял ваших резонов. Задача — упростить подготовку с сохранением или даже улучшением качества.
Да, вероятность попадания под "чужое" шаблонное правило есть. Скажу больше, Артем*, если будет добавлен пользователем в таком виде, соответствует Артемону. Но это именно вероятность. И если примеры не придумывать, вероятность не такая большая. А обработка на порядок большего списка словоформ — данность!
Причем даже нынешнее поведение не гарантирует отсутствие ошибок, которых вы хотите избежать. В словарь заносятся только ошибки движка. Если при прослушивании Артемо́н произнесен правильно, а в словаре будет Артем*=Артём, то при применении словарей, будет внесена ошибка. Так какой тогда толк, от такой скрупулезности прослушивания? Плюс уже упомянутые возможные ошибки спорных ударений. Т.е. качество плюс-минус с моим вариантом.

Если я действительно не понимаю некоторых резонов, это не исключает весомости моих аргументов. В таком случае, могу предложить опциональную активацию. Под "Не показывать слова из словарей", поместить "Учитывать шаблонные правила".
balabolka писал(а):
19 апр 2020 01:37
Рекомендую использовать пункт главного меню "Текст|Иностранные слова", который обрамляет иностранные слова тегами SAPI 5.
Оно! Но интересует пакетная обработка книг. Аналогичная функция нужна в консольной blb2txt. В GUI только прослушиваю слова из одиночного файла, в который слиты тексты всех обрабатываемых книг.
Кстати, есть предложение :) Обрамлять, если найденная последовательность символов длинее N символов. Позволит избежать ошибок "5G", "Людовик XI", "множитель х5", "момент X".

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

Балаболка TTS

#350

Сообщение wasyaka »

Lecron писал(а):
19 апр 2020 10:55
а в словаре будет Артем*=Артём, то при применении словарей, будет внесена ошибка.Так какой тогда толк, от такой скрупулезности прослушивания?
Слова, которые начинаются на "артем"
► Показать
Если б вы скрупулёзно прослушивали то вопрос и не возник бы.
А так упростили, не включив даже регистрозависимость в извращённое правило Артемов*= Артёмов$1
(Илья должен в своей проге это учитывать?)
так не пробывали?
( $Артем*= Артём) dic
((@Артем(\w+)= Артём$1) rex
или досих пор на дедушкиной ПОБЕДЕ катаетесь?
Откажитесь от безграмотного применения ЗВЁЗД и всё наладится :thank:

Ответить

Вернуться в «Балаболка»