python - 如何在 librosa specshow 中显示节拍数而不是时间?
问题描述
我正在使用 librosa 来计算和显示一个色谱图,其中帧是按节拍周期聚合的。
chromagram = librosa.feature.chroma_cqt(y=y_h[in_range], sr=sr)
beat_chroma = librosa.util.sync(chromagram, beat_frames, aggregate=np.median)
fig,ax = plt.subplots()
librosa.display.specshow(beat_chroma, x_axis='time', y_axis='chroma')
ax.set(title='Chromagram aggregated by beats');
x 刻度值是错误的,它们应该是 0、1、2、3 等节拍数,而不是根据默认采样率 22k 计算的时间。我没有在x_axis
选项中看到简单显示索引号的可能性。我能做的最好的就是隐藏轴。如何
我可以显示索引而不是时间吗?我必须在 pyplot 中手动设置 xticks 和 xlabels 吗?
解决方案
推荐阅读
- ios - 从 Podfile 等更改 XCode Target > Build Settings > Architecture
- javascript - 如何在 Svelte 中的不同事件上触发相同的功能
- github - 使用新服务器创建新的 SSH 密钥,还是使用现有密钥?
- python - 如何使用 tf.keras.preprocessing.image.ImageDataGenerator ( TENSORFLOW 2.0 ) 更改某些样本的标签
- c# - WinAppDriver:是否可以通过 AccessibilityId(自动化 ID)的实例创建
- python - 快速移动鼠标时跳过单元格
- c++ - MFC Win32 | 单击工具栏按钮后未收到 LButtonUp (CMFCToolBarButton::OnClick)
- node.js - 在生产中使用experimentalFileCaching(webpack/ts-loader)可以吗?
- excel - 输入框不断在excel中弹出
- c - 如何修复C中日期字符串数组中的垃圾值?