synthesize.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:jrm_ssl 作者: Fhrozen 项目源码 文件源码
def add_noise(gen_audio, nsfile=None, snrlevel=None):
    chns = gen_audio.shape[1]

    if not ((nsfile is None) or (nsfile==-1)):
        _, noise= wavfile.read(nsfile) 
        noise = noise[0:gen_audio.shape[0]]

    if not (snrlevel is None or snrlevel=='Clean'):
        if nsfile is None:
            noise = np.random.uniform(-1.0, 1.0, (gen_audio.shape[0],)) 
        if nsfile == -1:
            noise = np.random.uniform(-1.0, 1.0, (gen_audio.shape[0], chns)) 
        else:
            noise = np.tile(noise[:,np.newaxis], [1, chns])
        noise = noise.astype(np.float32)/np.amax(np.absolute(noise.astype(np.float32)))
        noise = noise/LA.norm(noise) * LA.norm(gen_audio) / np.power(10,0.05*float(snrlevel))

        gen_audio= gen_audio+noise

    gen_audio /=np.amax(np.absolute(gen_audio))  #Normalized Audio

    return gen_audio
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号