ttskit icon indicating copy to clipboard operation
ttskit copied to clipboard

对新增SDK返回numpy.array的方法的请求与个人解决方案

Open SFKgroup opened this issue 2 years ago • 0 comments

​ 如果要对获得的音频进行降噪、升调、降调等复杂处理,或者将多个speaker的返回内容拼合成一个音频的话,势必要用到numpy.array类型的音频数据,按目前的SDK只能将返回值写入文件,然后再读入,有些繁复,因此建议作者 加入直接返回numpy.array的SDK参数.(如果本来就有而我没找到的话,就抱歉了)

我目前对 sdk_api.py 文件内的函数 tts_sdk() 末尾(445行左右)做了如下修改以达到此功能

原代码 :

...
    return wav

更改后的代码 :

...
    wav_array = np.array(wav_out.get_array_of_samples())
    if kwargs.get('array', False):return wav_array
    else:return wav

使用示例 :

from ttskit import sdk_api
wav_array = sdk_api.tts_sdk(text='返回数组',array = True)

​ 有了这样的返回值后,就可以方便地对返回音频进行傅里叶变换等复杂处理了。我对这个库的代码编写不完全熟悉,因此不确定这个更改是否会产生未知错误。在我小数据量测试中,我的修改是稳定可行的,希望作者可以阅读我的代码,确定其安全有效后,将其更新入这个库中,谢谢!

SFKgroup avatar Jan 14 '23 05:01 SFKgroup