Лучший способ комментировать текст в Balabolka, или альтернативное приложение TTS, которое поддерживает блочные комментарии?

У меня есть несколько сценариев, которые необходимо преобразовать в сгенерированные (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 ответ

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

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

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

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

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

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

Заменить:

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

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


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

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

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

-

Обновление: я придерживался своих комментариев XML:

<bit.ly/asdf>
<silence msec="4000" text="Chapter 2" level=2>
<screen only text="Sources:
    1. Foo
    2. Bar" />

и добавил исправление произношения, чтобы прочитать text="([^"]|\n\r)*?" как ничего. После, я:

  1. Скопируйте исходный текст из Word или Writer (импорт Балаболки не поддерживает управление версиями)
  2. Применить автоформат (Control+F)
  3. Просмотр исправлений (Control+T)
  4. Скопируйте исправленный текст и замените неотправленный (иначе анализатор XML по-прежнему разбивает теги, а исправления не отображаются в субтитрах)

и у меня все готово!

Другие вопросы по тегам