在 Balabolka 中评论文本的更好方法,或者支持块评论的替代 TTS 应用程序?

在 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
>

除此之外,每当标签内的文本包含任何短语结束标点符号 ([.?!])、空行或开头的空格时,Balabolka 似乎都会拆分标签,并且拆分后的文本将被读取,因此使用以下代码:

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

胜过其他读作。即使我删除感叹号,点也会使最后一个 > 读作逗号

更糟糕的是,我想启用换行后开始新的短语在阅读参数中,因为如果没有它,标题、列表和其他没有结束标点符号的文本将不间断地阅读。但如果我启用它,那么带标点符号的单行注释就会中断,而且每个新行也会打破沉默,使多行注释变得不可能。在我禁用它之后,Babaloka 会出现故障,并会在任何标点符号上抛出 XML 解析器错误。

因此,我可以修改所有文本来解决故障,但我宁愿不这样做...在 Balabolka 或其他应用程序中使用可用的评论标签会容易得多。

谢谢您的指点。

答案1

Ilya(开发者)慷慨地给出了答案:

现在我不打算为 Balabolka 创建高级 XML 解析器(也支持注释符号)。抱歉。

我建议您不要发表评论,而是从文档中删除不必要的文本(尝试创建 2 种文本变体 - 大声朗读和查看)。

或者您可以为发音纠正词典添加新规则:用于查找注释的特殊正则表达式。

查找内容(如正则表达式):

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

用。。。来代替:

(空行)

在将文本转换为音频文件之前,先对文本应用规则(主菜单项“选项|发音校正|查看修改后的文本”)。


提示:建议在同一段落内打开尖括号并关闭尖括号。此外,尝试以相同的方式放置开始标签和结束标签。这将增加 Balabolka 正确处理标签的可能性。

他偏爱 C 风格的注释 ( /* ... */)。可以通过在搜索或替换时在正则表达式前面添加 %rex% 来调整正则表达式并快速测试它 (vg %rex%/\*(.|[\r\n])*?\*/.

非常感谢 Ilya!

--

更新:我坚持我的 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 复制原始文本(Balabolka 的导入不处理版本控制)
  2. 应用自动格式 (Control+F)
  3. 查看修正 (Control+T)
  4. 复制更正后的文本并替换未更正的文本(否则 XML 解析器仍然会破坏标签,并且更正不会显示在字幕中)

我一切就绪!

相关内容