原理很简单,调用官方 API 下载音频文件,然后使用 ffplay (FFmpeg) 或 afplay (MacOS 自带) 播放音频。未来计划调用 azure sdk 生成播放带口型的视频 (鸽鸽)。
官方的 API 每月免费额度 50 万单词,足够用了。注册帐号需要信用卡,国内信用卡可用。
功能特点:
- 依赖少,只调用了外部播放器
- 异步,下载和播放的时候不会卡住 Emacs
- 有缓存,相同的文本内容不会重复下载,省钱
- 用法简单,选中文本之后
M-x azure-tts-play-region
即可,行为非常容易预测
-
C-u
+ azure-tts-play-region
可以减速 20% 乘以 C-u
次数进行播放
- 单文件,纯 emacs lisp 实现,方便修改扩展
- 吹不下去了 …
欢迎试用 ~
链接:
https://gitee.com/blindingdark/BEmacs/raw/master/vendor/azure-tts.el
5 个赞
从我的研究看, 语音生成的时间是音频时间的2倍, Azure 的语音生成时间是多少呢?
挺快的,不过我这个还不是流式播放,所以大段内容需要全部下载下来才能播放,所以这样跟网速有关
1 个赞
你可以用 en-US-JennyMultilingualNeural,这个会 13 种语言,包括中日韩,第一语言是英语,不过除了英文别的语言不能调速。
如果你想注册 API 的话,注册地点记得选 美国东部 也就是 East US,这个地区支持最多的功能,比如别的地区可能不支持这个多语言的模型
1 个赞