写了一个小工具,实现了 Mac 下面 say 的功能。语音更自然,还支持中文。诚邀试用

2017-06-28 16:37:16 +08:00
 wahyd4

缘由

不知道各位是不是和我有一样的痛点,有时候不知道一个英语单词怎么发音。尝试把这个单词在命令行里面用 say your-word ,然后你发现,不少复杂的单词,它的发音并不标准。而且它的语音太机器了。不够自然。

于是我想到了做这样一个小工具。我曾尝试讯飞有没有类似的语音合成 API, 结果发现讯飞只提供 Android 和 iOS 下面的 API,却没有提供 Restful 的。 最后发现百度语音有这样的 API,试了一下,感觉效果还不错,比较自然。百度语音发音最好的还是中文,而且还支持选择不同的人声(有浑厚的男声 -p 2 和嗲嗲的软妹子腔 -p 4 ),声调和语速。(当然这个功能我的工具也实现了。)

现在邀请大家来试用这个小工具。目前支持 Mac 和 Windows 平台。采用 Golang 编写,因此即使你没有安装 go 环境照样可以使用。

安装方式:

  1. 有 go 语言环境:

    go get -u github.com/wahyd4/say-it

  2. 没有 go 语言环境, 到https://github.com/wahyd4/say-it/releases 下载二进制包即可。 注意:windows 下面还需要安装 cmdmp3,详情参见 README: https://github.com/wahyd4/say-it

使用方式:

say-it "Hello 世界"

say-it -p 3 "春晓 孟浩然 春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。"

say-it -p 4 "Life is like riding a bicycle. To keep your balance, you must keep moving. ― Albert Einstein"

say-it --help #可以看看所有支持的属性

项目地址

https://github.com/wahyd4/say-it

欢迎大家来提 issue,提功能请求,贡献代码。 我的 go 写得很一般。

总的来说

强烈建议大家安装试用下。然后你就知道这个和 Mac 自带的 say 相比好在哪里了。

百度语音还是挺不错的,不过对于一些生僻的单词,百度语音会一个字母一个字母读出来。这个就很难堪了,希望后面可以加强。

4995 次点击
所在节点    分享创造
10 条回复
cxbig
2017-06-28 16:42:34 +08:00
Mac 内置的语音库都是单语言的,对于合成句的处理不够好。
wahyd4
2017-06-28 16:44:00 +08:00
@cxbig 它的单词发音也不够自然
cxbig
2017-06-28 16:51:18 +08:00
@wahyd4 不是所有语音库都好,英语的确实一般。德语法语都还不错。
est
2017-06-28 16:54:21 +08:00
可以继续整合 bing 和 google 的。
wahyd4
2017-06-28 16:57:03 +08:00
@est 我首要考虑的还是使用方便,google 可能暂时不回考虑,毕竟还是翻 墙。我去了解下 bing 的
est
2017-06-28 17:11:01 +08:00
hsmocc
2017-06-28 17:11:12 +08:00
感觉 say 默认读中文还不错啊,导出成 aac 也很方便,最重要是离线的。
wahyd4
2017-06-28 17:25:06 +08:00
@est cn 是可以用,但是这个本身也不是对外公开的 API 吧。
wahyd4
2017-06-28 17:26:07 +08:00
@hsmocc 我的 mac 咋不能阅读中文, 难道是因为我系统设置的是英文?
hsmocc
2017-06-28 17:34:05 +08:00
@wahyd4 应该是,不换语言时你下载个中文的语音库 say 命令加-v 语音库名 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371711

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX