600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > pythoncqt_Librosa常数Q变换(CQT)在谱图的开始和结束处都存在缺陷

pythoncqt_Librosa常数Q变换(CQT)在谱图的开始和结束处都存在缺陷

时间:2021-03-29 00:53:58

相关推荐

pythoncqt_Librosa常数Q变换(CQT)在谱图的开始和结束处都存在缺陷

考虑以下代码

import numpy as np

import matplotlib.pyplot as plt

from librosa import cqt

s = np.linspace(0,1,44100)

x = np.sin(2*np.pi*1000*s)

fmin=500

cq_lib = cqt(x,sr=44100, fmin=fmin, n_bins=40)

plt.imshow(abs(cq_lib),aspect='auto', origin='lower')

plt.xlabel('Time Steps')

plt.ylabel('Freq bins')

当你仔细观察光谱图的开头和结尾时,你会发现其中有一些缺陷。

当只绘制第一个和最后一个时间步长时,可以看到频率不正确。

plt.plot(abs(cq_lib)[:,0])

plt.ylabel('Amplitude')

plt.xlabel('Freq bins')

plt.tick_params(labelsize=16)

最后一帧和第二帧比较

plt.plot(abs(cq_lib)[:,-1])

plt.plot(abs(cq_lib)[:,-2])

plt.legend(['last step', '2nd last step'], fontsize=16)

plt.ylabel('Amplitude')

plt.xlabel('Freq bins')

plt.tick_params(labelsize=16)

据我所知,这应该是由于填充和放置

stft

cqt

不支持这个论点

center=False

cq_lib = cqt(x,sr=44100, fmin=fmin, n_bins=40,center=False)

TypeError:cqt()获得意外的关键字参数“center”

我做错什么了吗?如何制作

在里面

cqt

?

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。