今天在测试通过UAP2100调用科大迅飞TTS语音合成播报功能时,总是一会能放语音,一会不能放,没有规律。最初是怀疑TTS有问题,咨询科大迅飞工程师后,重装TTS、修改配置均未果。郁闷之余,仔细读华为IVR的日志,发现放音失败的,总是在c:\tts目录下生成了包含语音内容的文本文件,而且是在调用TTS之前。显然,问题应该是出在华为平台方面。
在华为的技术支持网站上搜索,终于发现华为IVR在调用TTS时,缓冲区为128个字节。对于超过128个字节的文字,IVR生成文本文件,然后通过VP。VP在其能访问的目录下获取文本文件,再调用TTS播放。而默认配置下,IVR存贮文件的盘符为C:\,而VP台通过NFS共享的盘符为F:。进一步测试,凡是文本长度不超过128字节的文字,都可以顺利播放,而一旦超过128个字节,放音失败。显然,VP台无法读取IVR生成的语音文件。郁闷的是,用juction将c:\tts连接到f:\tts目录下,仍然未能播放超过128字节的文本。
华为实施工程师进一步研究中。

