我在 Ubuntu 10.04 下使用 Festival 语音合成器,例如:
echo '(SayText "hello world")' | esddsp festival --pipe
这在 32 位系统上完美运行,但在 64 位机器上不可靠。通常,第一次运行正常,然后后续调用时声音完全乱码,我会收到此错误:
ERROR: ld.so: object '/usr/lib/esound/libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored.
我该如何修复它?我在 Google 上搜索过,似乎这不是一个新错误,但这个问题似乎出现在不同发行版的不同应用程序上,而且解决方案通常很复杂,需要重新编译整个音频堆栈。
答案1
对我来说很管用。如果你没有删除 Pulseadio(Ubuntu 的默认音频系统和 ESD 替代品),那么这样做可能会更成功:
pasdp 代替 esddsp:
echo '(SayText "hello world")' | padsp festival --pipe
Pulseaudio 的自动 alsa 吞咽器:
festival '(SayText "hello world")'