文字转语音的尾巴处理

无意之中,发现用文字转换语音转出来的语音,有点点瑕疵

大家都知道,文字转语音是比较方便的,往往大家都是用朗读女的工具进行转换

但不知是我的朗读女版本问题还是本身就存在bug,转换出来的语音在结尾处有一点 刺耳的声音(尖锐的声音,感觉很突兀)

在Windows PC端用常规播放器播放是听不到的,但在linux下,用aplay 就有点明显

还有,用百度转出来的语音,前面有一点“be de”的声音,也很奇怪

 

开始时,怀疑代码写错了,比如说把文件头当成音频数据处理。经过检查,代码是OK的,读取位置、长度都正常

后来又怀疑,开关播放器的问题,改成不开关音频设备,有数据就播放之后,问题仍然存在

 

因此,开始怀疑语音本身问题。但问题是Windows 播放 本身是没有问题

 

怀疑归怀疑,实验还是得做

下载了一个goldwave,编辑语音,将后面的数据都改成静音数据,然后保存

 

结果一播放,那烦恼的异常声音没有了,真好。

 

个人猜测,这个由于转换软件是用免费的,估计故意留一些bug。还好可以通过其他工具就行修复,当然这样操作麻烦一些

 

PS:收回上面的个人猜测,具体原因是ACM与PCM不同格式导致的。

用了GoldWave 的确把原先ACM转换成PCM了,所以就好了。

实际也是代码问题,由于播放代码是自己重新写的,而且实际运用中就只有用到一种语音格式,所以除了第一次读取文件并设置参数,后面的都没有进行重新设置。

所以导致如果先播放PCM的,那么就先设成PCM的格式;然后再播放ACM的时候,格式没有重新设置,导致细节上不一致,这个问题还不容易发现。

 

但两种格式都能播放,只是有细微差别,这些细节问题的确也是种坑,不注意的话还不知道。

posted @ 2020-04-20 14:44  小刚学长  阅读(211)  评论(0编辑  收藏  举报