在 Ubuntu 18.04 上,我~/.festivalrc
(voice.select 'en1_embrola)
其工作符合预期。
然而升级到 20.04 后我的默认声音是kal_diphone
在节日的交互式 shell 上(voice.select 'en1_embrola)
做了正确的事情所以我知道 embrola 声音已正确安装。
我还可以(!set variable-name 'to-value)
在我的~/.festivalrc
全新交互式 shell 中看到该值,因此我知道我的配置文件已被评估。
然而current-voice
在一个新的交互式 shell 中总是kal_diphone
。
voice-locations
顺便说一句,我注意到我的 Ubuntu 18.04 和 20.04 安装的值之间存在差异:
在 18.04 上它是:
((kal_diphone . "/usr/share/festival/voices/english/kal_diphone/")
(en1_mbrola . "/usr/share/festival/voices/english/en1_mbrola/"))
而在 20.04 上则顺序相反:
((en1_mbrola . "/usr/share/festival/voices/english/en1_mbrola/")
(kal_diphone . "/usr/share/festival/voices/english/kal_diphone/"))
有任何想法吗?
答案1
这非常是一种黑客行为,虽然它解决了我眼前的问题,但我不认为这是一个解决方案。
可以set_voice_default
通过(sudo)编辑/usr/share/festival/voices.scm
文件并在(set! voice_default 'voice_en1_embrola)
该文件的底部附近添加来覆盖对的调用,如下所示:
--- a/usr/share/festival/voices.scm
+++ b/usr/share/festival/voices.scm
@@ -437,4 +437,5 @@
(set_voice_default default-voice-priority-list)
+(set! voice_default 'voice_en1_embrola)
(provide 'voices)