ESpeakNG 语音合成器(在 PowerShell 中)无法识别 UTF-8 文本

ESpeakNG voice synthesiser(In PowerShell) not perceiving UTF-8 text

我正在尝试使用 ccs/ka(格鲁吉亚语)语言来合成 UTF-8 编码的文本:

გამარჯობა

我尝试 运行:

espeak-ng -v ka გამარჯობა

但是没有声音。

但是当我创建文件时 e.x。 file.txt然后在里面写გამარჯობა,读取播放没问题

我的最终目标是 运行 无需从文件中读取它。我正在尝试在 Python 中实现它,通过使用 pip 的包装器或使用 subprocess 模块对 运行 shell 命令在我的项目中使用它。

尝试过:

$OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8

让UTF-8可以输入powershell

值得注意的事情:

$text = Get-Content .\file.txt
espeak-ng -v ka $text

如果我在 Powershell 中 运行 这样做,它会读取文件并播放声音。 $text 打印为 გჃ›áƒƒ ჯáƒ。我不确定这是什么编码或如何将其转换为可读形式。知道如何将格鲁吉亚文本转换成这种文本对我来说就足够了,所以至少我可以随便写这个文本并让它播放。

程序还有编码参数

espeak-ng -b 1

这意味着输入的文本将是UTF-8 格式。然而,当我通过它时,什么都没有改变。

修复:

管道文本使其工作:

“你好” | espeak-ng -v ka