解决音频波形图与均方根能量图时间轴对不齐的问题

解决方法

由于初学音频处理,今天在绘制音频波形图与均方根能量图时发现它俩的时间轴怎么都对不齐,如下图:
image-20240711173729317

一番debug发现原来是我的均方根能量图的时间尺度出了问题

原来是这么写的time_scale=librosa.frames_to_time(frame_scale)

经过测试发现传入librosa.frames_to_time所需要的另外两个可选参数:采样率sr以及时移hop_length就能够与我的原始波形的时间对齐了。

image-20240711175037980

librosa.frames_to_time的实现原理

那么librosa.frames_to_time是如何实现从帧的尺度到正确的时间尺度的呢?

定义帧索引i, 时移hop_length, 采样率sr, 帧i对应的起始时间\(t_s\)

根据公式可得

\[t_s = \frac{i * hop\_length}{sr} \]

librosa.frame_to_time实际上也是实现的这个公式。

posted @ 2024-07-11 18:40  Texley  阅读(57)  评论(0)    收藏  举报