【发布时间】:2013-09-14 02:04:35
【问题描述】:
我正在尝试将文件末尾的流(通过 tail -f)发送到节日,这是一个文本到语音程序。 tail -f ./文件名 |节日 --tts 很适合这个。
这是我的问题: 我想更改来自 tail -f 的流,以便节日可以更好地合成它,并避免它说出整个时间戳。我知道像 sed 和 grep 这样的程序可以做到这一点。不幸的是 tail -f ./filename | sed 's/:/ 说/' | Festival --tts 不输出任何声音。
是的,我已经检查是否 tail -f ./filename | sed 's/:/says/' 输出任何东西,而且效果很好。
我也尝试过使用 grep 进行此操作,但在编辑我的信息流后,我无法让 festival --tts 说任何话。
任何允许我的流被编辑然后说出来的东西都会受到欢迎,我不受 sed 和 grep 的束缚。
【问题讨论】:
-
问题可能是 sed 缓冲 I/O 导致它在一段时间内不写入任何内容。您可以通过仅用 tail 命令替换 tail -f 来测试它。通常有改变缓冲的方法,但通常是特定于命令的。尝试
sed --help或sed -?看看是否有任何选项提到无缓冲输出等。
标签: unix sed grep piping festival