百度AI接口开发文字转语音功能-符号错误

我们还是继续说一下百度AI语音合成,整体的功能上没有问题,但是在细节上需要注意符号问题,这也是在开发过程中实际遇到的,目前主要涉及到了三个符号“、”、——。

在我们拿到文字内容时先将空格进行去除,方式如下:

//替换空行   $content = strtr($content, [" " => '']);

然后将HTML代码进行去除,方式如下:

//去除标签   $content = strip_tags($content);

按照现有的方式,我们可以看到纯文字了,基本上满足了大多数文章了,但是在特殊文章上遇到了问题,一篇文章中含有“”——时,就会出现ldquo、rdquo、mdash读音。这是一个非常严重的问题,我们需要将其进行替换。方式如下:

//去除部分标点符号  $content = str_replace(['“', '”', "—"], [], $content);

这里说一下PHP的str_replace函数。支持数组形式进行替换,但是要求查询格式和替换格式均为数组形式。可对多个条件进行执行,目前我们知道了上面三个符号在读音上出现问题。

后续会继续更新百度AI语音合成文字及注意事项。