gpt4 book ai didi

python - 从使用 librosa.feature.mfcc 生成的 MFCC 获取计时信息

转载 作者:行者123 更新时间:2023-12-04 13:11:00 26 4
gpt4 key购买 nike

我正在使用 Librosa 的函数 (librosa.feature.mfcc) 从音频文件中提取 MFCC,并且我正确地取回了一个具有我预期形状的 numpy 数组:13 个 MFCC 值对应音频文件的整个长度,即 1292窗口(30 秒内)。

缺少的是每个窗口的计时信息:例如,我想知道 MFCC 在 5000 毫秒、5200 毫秒等时的样子。我必须手动计算时间吗?有没有办法自动获取每个窗口的准确时间?

:

最佳答案

“时间信息”不是直接可用的,因为它取决于采样率。为了提供此类信息,librosa 将创建自己的类。这反而会污染界面并使其互操作性降低。在当前的实现中,feature.mfcc 返回给您 numpy.ndarray,这意味着您可以轻松地将此代码集成到 Python 中的任何位置。

将 MFCC 与时序相关联:

import librosa
import numpy as np

filename = librosa.util.example_audio_file()
y, sr = librosa.load(filename)

hop_length = 512 # number of samples between successive frames
mfcc = librosa.feature.mfcc(y=y, n_mfcc=13, sr=sr, hop_length=hop_length)

audio_length = len(y) / sr # in seconds
step = hop_length / sr # in seconds
intervals_s = np.arange(start=0, stop=audio_length, step=step)

print(f'MFCC shape: {mfcc.shape}')
print(f'intervals_s shape: {intervals_s.shape}')
print(f'First 5 intervals: {intervals_s[:5]} second')

请注意,mfccintervals_s 的数组长度是相同的 - 这是我们在计算中没有出错的合理性检查。

MFCC shape: (13, 2647) 
intervals_s shape: (2647,)
First 5 intervals: [0. 0.02321995 0.04643991 0.06965986 0.09287982] second

关于python - 从使用 librosa.feature.mfcc 生成的 MFCC 获取计时信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65249690/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com