V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wahyd4
V2EX  ›  分享创造

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

  •  1
     
  •   wahyd4 ·
    wahyd4 · 2017-06-28 16:37:16 +08:00 · 4996 次点击
    这是一个创建于 2704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    缘由

    不知道各位是不是和我有一样的痛点,有时候不知道一个英语单词怎么发音。尝试把这个单词在命令行里面用 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 相比好在哪里了。

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

    10 条回复    2017-06-28 17:34:05 +08:00
    cxbig
        1
    cxbig  
       2017-06-28 16:42:34 +08:00 via iPhone
    Mac 内置的语音库都是单语言的,对于合成句的处理不够好。
    wahyd4
        2
    wahyd4  
    OP
       2017-06-28 16:44:00 +08:00
    @cxbig 它的单词发音也不够自然
    cxbig
        3
    cxbig  
       2017-06-28 16:51:18 +08:00 via iPhone
    @wahyd4 不是所有语音库都好,英语的确实一般。德语法语都还不错。
    est
        4
    est  
       2017-06-28 16:54:21 +08:00
    可以继续整合 bing 和 google 的。
    wahyd4
        5
    wahyd4  
    OP
       2017-06-28 16:57:03 +08:00
    @est 我首要考虑的还是使用方便,google 可能暂时不回考虑,毕竟还是翻 墙。我去了解下 bing 的
    est
        6
    est  
       2017-06-28 17:11:01 +08:00
    hsmocc
        7
    hsmocc  
       2017-06-28 17:11:12 +08:00 via iPhone
    感觉 say 默认读中文还不错啊,导出成 aac 也很方便,最重要是离线的。
    wahyd4
        8
    wahyd4  
    OP
       2017-06-28 17:25:06 +08:00
    @est cn 是可以用,但是这个本身也不是对外公开的 API 吧。
    wahyd4
        9
    wahyd4  
    OP
       2017-06-28 17:26:07 +08:00
    @hsmocc 我的 mac 咋不能阅读中文, 难道是因为我系统设置的是英文?
    hsmocc
        10
    hsmocc  
       2017-06-28 17:34:05 +08:00 via iPhone
    @wahyd4 应该是,不换语言时你下载个中文的语音库 say 命令加-v 语音库名 就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1919 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:16 · PVG 00:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.