OS 和 spd-say in python

OS and spd-say in python

这是我的代码:

import os
os.system("echo spd-say 'hello'")

为什么这不起作用?它只打印

spd-say hello

因为你echo命令后的每一件事.

我无法让 spd-say 工作。甚至不在 bash . os.system("echo 'hello' | spd-say -e")

...使用一些标点符号。程序echo有自己的规则,必须严格遵守python。 python 中的通用方法是 ...
var = """ "This is a test string". It's done. """

os.system("""echo "Hello, it's a test." | spd-say -e """)

说明 : echo 命令输出到标准输出(标准输出)。捕捉输出;使用管道,符号 | ,一条垂直线,位于键盘上的回车键上方,按住shift键并按下该键可获得| . 这会将输出直接放入 spd-say 命令。 Echo 转到 stdout 并被终端接收,因此它通过管道重定向到 spd-say 。 -t 是 spd-say 把输入当成文本的命令,spd-say -t,俗称开关,所以 spd-say -t 已经被切换为把文本作为输入。

Flite 是 spd-say 的默认文本到语音程序(默认输出模块)。可以直接用。

os.system(r"""echo "Hello. It's flite " | flite""")

os.system("""flite "Hello, it's flite." """)。最后三个双引号之前最后的 space 很重要,否则将不起作用。

这里有一些其他的选择:

Bash command :

sudo apt-get install gnustep-gui-runtime

say hello

say "Hello it's say, saying "hello" "

Python command :

os.system('say Hello')

os.system("""say "Hello it's say, saying "hello" " """)

Bash command:

sudo apt-get install festival

echo "hello" | festival --tts

Python command :

import os

os.system('echo "hello" | festival --tts')

Bash command :

sudo apt-get install espeak

espeak "hello"

Python command :

import os

os.system('echo "hello" | espeak')