FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS

  • 0、 界面预览
  • 1、注册百度AI开放平台,开通语音识别服务
  • 2、获取AppID/API Key/Secret Key
  • 3、 安装百度语音合成sdk
  • 4、合成代码
  • 5、在PBX中使用百度TTS
  • 6、音乐文件-TTS
  • 7、拨号规则-tts_command

0、 界面预览

http://myfs.f3322.net:8020/
用户名:admin,密码:admin

FreeSWITCH界面安装参考:https://blog.csdn.net/jia198810/article/details/132479324


以前通过百度提供的url链接,直接使用get进行tts,貌似百度tts免费接口get不到了,尝试使用百度SDK进行tts,不是免费的,新用户会赠送额度。

1、注册百度AI开放平台,开通语音识别服务

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第1张图片

2、获取AppID/API Key/Secret Key

如下图:
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第2张图片

3、 安装百度语音合成sdk

百度帮助:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b
安装python sdk

pip install baidu-aip-sdk
pip install baidu-aip

4、合成代码

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,优先级为最大,如下图:
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第3张图片
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第4张图片

6、音乐文件-TTS

依次点击PBX设置-音乐文件-TTS,输入要转换的文字,进行TTS,如下图:
FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第5张图片

7、拨号规则-tts_command

在拨号规则中,使用speak应用,播放文字,如下图:

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS_第6张图片

你可能感兴趣的:(百度,tts,freeswitch,voip,ippbx)