手机打电话时由对方DTMF响应切换多级IVR语音菜单
(话术脚本与实战)
--本地AI电话机器人
上一篇:手机打电话时由对方DTMF响应切换多级IVR语音应答(二)
下一篇:手机打电话时由对方DTMF响应切换多级IVR语音菜单(完结)
- 一、前言
接上一篇《手机打电话时由对方DTMF响应切换多级IVR语音应答(二)》,我们设计了“多级IVR的编辑界面列表”,允许手机用户对IVR菜单进行八个层级的嵌套,并可以对每个IVR菜单项单独录音或语音导入。
在这个篇章中,我们尝试规划一些经典的多级IVR导航的话术脚本,使用TTS来将这些文字脚本内容生成对应的语音文件。并将这些话术逻辑和语音数据整合到【蓝牙电话SDK示例App】中。(这个功能和能力跟SDK没有关系,主要就是上层示例App的逻辑。换句话说本篇的所有逻辑都是开源的,感兴趣的读者可以获取源代码,在这个基础上进行修改以适配自己的话术和逻辑。)
另外,由于多级IVR菜单的功能逻辑比较复杂,一上来就把它整合到打电话逻辑中,拨打电话时按下DTMF才可以调试和验证的话,感觉有点浪费电话费的嫌疑。本篇章中针对多级IVR层级菜单的逻辑调试,在界面中增加了【开启多级IVR按键测试】的复选框。
用户修改或编辑好自己的IVR语音导航菜单后,可以勾选该复选框后,依次点击示例App右上角的【设置】图标->【发送DTMF】,在弹出的DTMF发送的对话框中按键测试并收听IVR菜单的语音进行检验和对照修正。(此操作不需要打电话,即可正常收听和操作)
经示例App验证和修订完毕后,再插入USB蓝牙。供其它手机来电后,真实环境下试验手机拨号盘的数字按键来回复不同的IVR语音应答。
体验和下载地址:
智能拨号器App:http://120.78.211.195:8060/Dialer.apk
拨号器SDK示例app:http://120.78.211.195:8060/sdk/SdkDemo.apk
USB蓝牙配件购买路径(参考):https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986
- 二、话术和脚本
正常的IVR语音导航会在通话接通后主动播放一个简短的开场白(当然也可以没有),然后进入IVR的主菜单,提示对方按下不同的按键来实现不同的功能和服务。
本次设计的【多级IVR - 话术】示例如下:
开场白:欢迎致电SDK,400电话。普通话请按1,for english press two
按下1:请您按下1到9,访问不同的功能业务。重新听请按0,返回请按井号键。
按下2:how are you, fine, thank you, and you? i'm fine too.重新听请按0,返回请按井号键。
二级菜单按下1:您按下了1。
您按下了2。
您按下了3。
您按下了4。
您按下了5。
您按下了6。
您按下了7。
您按下了8。
您按下了9。
您按下了0。
您按下了星号键。
您按下了井号键。
例外:按键错误,请重新输入。
超时:您已长时间没有操作,系统即将挂机,欢迎您再次使用。。
- 三、在线TTS的网址和语料转换
有了上述的话术以及隐含的操作和响应逻辑,我们需要逐个句子的将这些文字转换为语音数据,用于在电话接通了之后能直接播放给对方收听。
(示例App后续也可以接入实时TTS,但个人不建议这么做,毕竟TTS转换一般都能听出一股机器人的口音。没有任何人希望打个电话或接个电话就听出对方是一个机器人的。)
为了简便操作,我们在网上找了个在线TTS的网址,用于将上述话术中每个句子,分别单独生成wav语音文件,网址如下:
【在线免费文字转语音网址:https://ttsmaker.cn】。
网址的操作界面如下图所示:
我们将句子粘贴进去后,直接点击【开始转换】,语音文件转换完成后会自动播放。如果觉得音色或句子等话术内容不合适,可以在这个过程不断的修订。
语音效果确认无误后,可以点击【下载文件到本地】,将网址生成的mp3文件,下载到本地电脑备用。如下图所示:
由于直接下载下来的mp3文件(示例中文件名为ttsmaker-file-2025-5-22-9-0-19.mp3),默认是【24000Hz单声道的mp3】数据。如下图所示:
但是我们SDK-Demo示例App能够导入和直接播放的是【8000Hz单声道的wav】数据,因此需要进行两次转换:先将“24000Hz采样率转为8000Hz”,再将“mp3格式数据转为wav”。对应于在GoldWave的操作,就是做两次【另存为】操作,界面效果分别如下:
经过两次“另存为”操作后,生成的最终的【ttsmaker-file-2025-5-22-9-0-19.wav】即为可以导入到手机正常播放的wav语音文件。
- 四、多级IVR菜单的创建
多级IVR菜单的创建和编辑操作,在上一篇《手机打电话时由对方DTMF响应切换多级IVR语音应答(二)》已经讲过,此处不再赘述。反正就是点左上角的+号,需要哪个DTMF下创建子IVR菜单就点击【子菜单】区域,在弹出的对话框中点击左上角的+号,创建即可。
点击左上角+号新增时,会先弹出【请先选择触发的DTMF值】的提示框。由于多级IVR导航菜单是依赖对方手机按下的DTMF按键操作来触发的,因此每个DTMF按键应只能有一个IVR菜单的响应。如下图所示:
- 五、IVR菜单语料的导入或录制
每一项的IVR菜单中,菜单项都有【导入】【录制】【播放】三个按钮,用户在IVR菜单编辑时,可以使用【录制】按钮来做人工语料的录制。也可以使用【导入】按钮,将前面章节中在线生成的wav文件,从手机中导入到示例App中使用。
在录制或导入完成后,可以使用【播放】按钮,在示例App中进行单个文件的播放,体验一下语音数据的音质效果。
- 六、多级IVR菜单的验算
如前文所述,由于多级IVR菜单的功能逻辑比较复杂,一上来就把它整合到打电话逻辑中,拨打电话时按下DTMF才可以调试和验证的话,感觉有点浪费电话费的嫌疑。
此处针对多级IVR层级菜单的逻辑调试,在界面中增加了【开启多级IVR按键测试】的复选框。
用户修改或编辑好自己的IVR语音导航菜单后,可以勾选该复选框后,依次点击示例App右上角的【设置】图标->【发送DTMF】,在弹出的DTMF发送的对话框中按键测试并收听IVR菜单的语音进行检验和对照修正。(此操作不需要打电话,即可正常收听和操作)
当对话框【按下发送DTMF字符(IVR测试)】界面弹出时,将自动播放“IVR引导提示语”(本篇话术中开场白为:欢迎致电SDK,400电话。普通话请按1,for english press two)
用户可以在对话框界面中按照提示的语音,依次按下界面不同的按钮,收听和体验不同的IVR菜单的功能。如果中途感觉IVR逻辑不合理,可以点击界面空白处,关闭该对话框。回到主界面【多级IVR语音片段-编辑】区域,重新调整IVR菜单的逻辑。
调整完毕的逻辑是实时生效的,调整完毕后可以再次打开对话框【按下发送DTMF字符(IVR测试)】界面进行效果的直接验证。
- 七、真实的打电话和多级IVR语音应答
上述“多级IVR菜单的验证”的响应逻辑,与真实打电话使用的DTMF响应逻辑,使用的是同一套代码。理论上,只要上章节中用户自己验算没有问题,那么在真实打电话时(来电或主动外呼)对方手机的拨号盘上按下的数字按键,收到的语音响应结果应该是没有区别的。
用户对多级IVR菜单调试和验算完毕后,可以放心的直接在手机上插入USB蓝牙,用其它手机去拨打当前这个手机号。真实的实际体验一下个人400电话IVR语音应答的效果。
- 八、总结
本篇中,我们通过预设的话术脚本,设计了自己的DTMF响应逻辑。并通过在线TTS和语料转换,实现将脚本文字转换为一段一段语音,并将它们成功导入了【蓝牙电话SDK示例App】中进行使用。
我们可以通过主界面中对多级IVR菜单的逻辑和响应内容进行编辑,并提供了不用打通电话就可以直接检验和验证IVR菜单的体验效果的途径。
另外,由于本篇章的所有的逻辑和代码均属于【示例App】的功能范畴,开源的。感兴趣的读者可以获取源代码,在这个基础上进行修改以适配自己的话术和逻辑。