mac命令 say
可以指定与 -v 标志一起使用的语音。
say -v Alex "compile completed, put your swords down."
可在系统偏好设置/语音/文本到语音中看到可用的声音。如何以编程方式获取此列表?
答案 0 :(得分:89)
这是可用语音列表:
say -v '?'
答案 1 :(得分:23)
for voice in `say -v '?' | awk '{print $1}'`; do say -v "$voice" "Hello, my name is $voice."; done
答案 2 :(得分:9)
Python版,由Barry Wark提供:
from AppKit import NSSpeechSynthesizer
print NSSpeechSynthesizer.availableVoices()
答案 3 :(得分:8)
Shell版本,没有太便宜的黑客!
(实际上不要使用它,请改用python版本。)
ls /System/Library/Speech/Voices | sed 's/.SpeechVoice$//'
Agnes
Albert
Alex
BadNews
Bahh
Bells
Boing
...
答案 4 :(得分:6)
答案 5 :(得分:2)
在决定一个之前,值得经历几个声音。质量差异很大。
例如,汤姆听起来有点不耐烦,但比亚历克斯更现实。一些英国人的声音很棒。
用say -v'?'为您提供已安装语音的列表以及一些示例句子,让您了解对语音的期望。您必须通过首选项来安装大多数非常好的声音,但它们带有一个紧凑的语音文件,可让您在实际下载之前听到每种声音的声音。
答案 6 :(得分:2)
您可以使用以下方法采样所有可用的声音:
say -v '?' | awk '{$2=$3=""; printf "-v %s", $1; $1=""; print " \"" $0 "\""}'| xargs -L1 say
答案 7 :(得分:0)
for i in `say --voice=? | cut -f 1 -d' ' ` ; do
echo $i; say --voice=$i $i
done