Лучший способ комментировать текст в 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)*?"
как ничего. После, я:
- Скопируйте исходный текст из Word или Writer (импорт Балаболки не поддерживает управление версиями)
- Применить автоформат (Control+F)
- Просмотр исправлений (Control+T)
- Скопируйте исправленный текст и замените неотправленный (иначе анализатор XML по-прежнему разбивает теги, а исправления не отображаются в субтитрах)
и у меня все готово!