1

我正在努力改进 Emacs 上的 Festival。阅读句子时,我需要更好地控制 Festival。基本上,我需要两件事:

  1. 显示正在阅读的单词。
  2. 改变正在阅读的内容的速度(可能还有音高)。

理想情况下,Festival 会输出一些数据结构,将偏移/长度(通常是单词的开头/长度)与输出 WAV 文件(甚至是 wav 文件中的位置)联系起来。然后我可以使用 mplayer 之类的东西来构建一个播放列表,并以某种方式告诉我下一个单词何时播放以及该单词在缓冲区中的位置。

我也希望有一些简单的命令来改变正在阅读的内容的速度。但是,mplayer 可以为我做到这一点,所以如果我能让#1 工作,这没什么大不了的。

4

1 回答 1

1

请参阅此处的手册,尤其是有关“text2wave”脚本的部分。我不清楚这是一个单独的可执行文件还是只是一个您必须调用的方案脚本。无论哪种情况,它看起来都应该给你一些关于如何做到这一点的灵感。在我看来,您可以将整个缓冲区发送到该命令,该命令将生成一个 .wav 文件,然后您可以通过 mplayer 控制该文件。当然,这意味着您不知道当前正在播放哪个句子,因此您可以将每个句子输出为 .wav 文件,然后在 mplayer 中排队(或重复调用 mplayer)。如果 text2wave 是一个可执行文件,我不确定它在 Windows 上是否可用,但您应该能够使用 Festival 的方案脚本完成同样的事情。

编辑:text2wave 确实是一个脚本,但您应该能够轻松地修改它以使用脚本作为参数调用节日(path/to/festival --script text2wave)。我不知道 Windows 二进制文件是否包含这个,但它应该可以从主要的节日网站或 *nix 发行版中获得(它肯定在 Ubuntu 中)。

于 2010-01-02T16:59:50.757 回答