У меня есть несколько сценариев, которые необходимо преобразовать в сгенерированные (TTS) закадровые сообщения. За исключением определенных частей, которые должны оставаться в тексте, но не записываться в аудио.

Я использую Balabolka, которая предоставляет множество функций, за исключением редкой документации и отсутствия официальной или общественной поддержки.

Я обнаружил, что могу сделать однострочные комментарии, если добавить их в качестве атрибута тега SAPI:<silence msec="50" txt="This'll be but a breath." />

Или поддельный тег XML:<comment txt="This is totally a comment." />

Или даже:<http://dontread.me>

Это даже работает для блоков текста, что мне нужно:

<
It grows in bunches,
I've got my hunches
>

За исключением случаев, когда текст внутри тега содержит пунктуацию в конце фразы ([.?!]), Пустую строку или пробел в начале, кажется, что Балаболка будет разделять тег и текст после разделения будет прочитайте, так с этим:

<
It's the best!
Beats the rest.
>

Бьется, остальное читается. Даже если я уберу восклицательный знак, эта точка заставит последний> читаться как запятая.

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

Таким образом, я мог бы массировать весь свой текст, чтобы обойти глюки, но я бы предпочел не ... было бы намного проще с рабочим тегом комментария, в Balabolka или другом приложении.

Спасибо за любые указатели.

1 ответ1

0

Илья (разработчик) любезно предоставил ответ:

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

Я могу посоветовать вам не комментировать, а удалить ненужный текст из документа (попробуйте создать 2 варианта текста - читать вслух и просматривать).

Или вы можете добавить новое правило в словарь коррекции произношения: специальное регулярное выражение для поиска комментариев.

Найдите что (как регулярное выражение):

/\*(.|[\r\n])*?\*/

Заменить:

(пустая строка)

Примените правила к тексту, прежде чем преобразовать его в аудиофайл (пункт главного меню «Параметры | Исправление произношения | Просмотр измененного текста»).


Совет: рекомендуется открывать угловую скобку и закрывать угловую скобку внутри того же абзаца. Также попробуйте разместить начальный тег и конечный тег одинаково. Это увеличит возможность для Balabolka правильно обрабатывать теги.

Он одобряет комментарии в стиле C (/* ... */). Регулярное выражение можно адаптировать и быстро протестировать, добавив к нему% rex% в поиске или замене (vg %rex%/\*(.|[\r\n])*?\*/ .

Большое спасибо Илья!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .