FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS
- [0、 界面预览](#0、 界面预览)
- 1、注册百度AI开放平台,开通语音识别服务
- [2、获取AppID/API Key/Secret Key](#2、获取AppID/API Key/Secret Key)
- [3、 安装百度语音合成sdk](#3、 安装百度语音合成sdk)
- 4、合成代码
- 5、在PBX中使用百度TTS
- 6、音乐文件-TTS
- 7、拨号规则-tts_command
0、 界面预览
用户名:admin,密码:admin
FreeSWITCH界面安装参考:https://blog.csdn.net/jia198810/article/details/132479324
以前通过百度提供的url链接,直接使用get进行tts,貌似百度tts免费接口get不到了,尝试使用百度SDK进行tts,不是免费的,新用户会赠送额度。
1、注册百度AI开放平台,开通语音识别服务
2、获取AppID/API Key/Secret Key
如下图:
3、 安装百度语音合成sdk
百度帮助:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b
安装python sdk
bash
pip install baidu-aip-sdk
pip install baidu-aip
4、合成代码
python
from aip import AipSpeech
filename="tts.mp3"
""" 你的 APPID AK SK """
tts_engine=dict(app_id="百度appid",api_key="百度api_key",secret_key="百度secret_key")
APP_ID = tts_engine["app_id"]
API_KEY = tts_engine["api_key"]
SECRET_KEY = tts_engine["secret_key"]
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
res = client.synthesis(data.text, 'zh', 1, {'vol': 5})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(res, dict):
with open(filename, 'wb') as f:
f.write(res)
# 简单判断一下结果是不是音频
mime_type, encoding = mimetypes.guess_type(filename)
print(f"TTS文件是:{mime_type}")
if not mime_type.startswith("audio"):
print("转换失败")
else:
print("转换成功")
5、在PBX中使用百度TTS
依次点击PBX设置-TTS引擎-添加百度TTS,优先级为最大,如下图:
6、音乐文件-TTS
依次点击PBX设置-音乐文件-TTS,输入要转换的文字,进行TTS,如下图:
7、拨号规则-tts_command
在拨号规则中,使用speak应用,播放文字,如下图: