问题1:在阿里语音AI请问这种"AH121212","EH121212"证件号码的文案,英文字母部分sdk会直接发音成单词,而不是读成单个字母,这种有办法解决吗?不让发音成单词,就一个字母一个字母的读。问题2:如果使用ssml的话,Android这边除了nuisdk,还需要再引入ssml的sdk吗?
问题1:在阿里语音AI中,如果您输入的文本包含英文字母,TTS技术会根据上下文和语音模型自动判断是否需要将英文字母读成单个字母或者单词。如果您希望将英文字母读成单个字母,可以尝试在输入文本中使用空格或者其他符号来分隔英文字母,这样TTS技术就会将英文字母读成单个字母。另外,您也可以尝试使用SSML(Speech Synthesis Markup Language)来控制TTS技术的发音方式,具体可以参考问题2的回答。
问题2:如果您希望在Android应用中使用SSML来控制TTS技术的发音方式,您需要引入支持SSML的T SDK。除了阿里语音AI的NUI SDK之外,您还可以考虑使用Android自带的TTS引擎或者第三方的T SDK,例如Google的Text-to-Speech引擎或者iFlytek的讯飞语音SDK等。这些TTS引擎和SDK都支持SSML,可以帮助您更加灵活地控制TTS技术的发音方式。
针对问题1的回答:建议用一下SSML的say-as id的标签。https://help.aliyun.com/document_detail/101645.html?spm=a2c4g.11186623.6.598.7a4344cdBMNk9i 针对问题2的回答:此回答整理自钉群“阿里语音AI【6群】”
可以在调用语音合成API时,使用特殊符号来实现单个字母的读法。例如,使用 A 来表示英文字母A,这样就可以让SDK按照字母读法来发音。
如果使用ssml,Android端需要引入支持ssml解析的库。目前,Android平台已经内置了ssml解析功能,可以直接使用,不需要额外引入库。如果需要在代码中动态生成ssml语音合成请求,可以使用Android提供的android.speech.tts.TextToSpeech类,并调用其speak方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。