微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中将音频频谱图转换为树皮频率标度

如何解决在python中将音频频谱图转换为树皮频率标度

要构建类似于RNNoise(https://jmvalin.ca/demo/rnnoise/)的降噪系统,我想将频谱图转换为“树皮频率标度”。 我做了下面的函数,但是很慢:

bark_scale = [100,200,300,400,510,630,770,920,1080,1270,1480,1720,2000,2320,2700,3150,3700,4400,5300,6400,7700,9500]
def convertToBark(spect,max_freq):
    band = max_freq/len(spect)
    bark = np.zeros((len(bark_scale)))
    current_freq = 0
    for i in range(0,len(bark_scale)):
        current_bark = []
        while current_freq * band < bark_scale[i] and current_freq<len(spect):
            current_bark.append(spect[current_freq])
            current_freq+=1
        bark[i] = tf.math.reduce_mean(current_bark)
    return bark

使用Numpy和Tensorflow函数,我认为有一个更快的解决方案,但我找不到。

我使用下一个网站获取树皮秤的值: https://ccrma.stanford.edu/~jos/bbt/Bark_Frequency_Scale.html

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。