首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFCC算法的Python实现

MFCC算法的Python实现
EN

Stack Overflow用户
提问于 2017-11-27 14:04:23
回答 1查看 2K关注 0票数 4

我有一个数据库,其中包含一个视频流。我想从图像和MFCC音频计算LBP特征,对于视频中的每一个帧,我都有一些注释。注释与视频帧和视频的时间内联。因此,我想映射从注释到mfcc结果的时间。我知道sample_rate = 44100

代码语言:javascript
复制
from python_speech_features import mfcc
from python_speech_features import logfbank
import scipy.io.wavfile as wav

audio_file = "sample.wav"
(rate,sig) = wav.read(audio_file)
mfcc_feat = mfcc(sig,rate)
print len(sig)        # 2130912
print len(mfcc_feat)  # 4831

首先,为什么mfcc的长度的结果是4831,以及如何在注释中以秒为单位映射它?视频的总持续时间是48秒。除了19-29秒的窗口外,视频的注释都是0,在哪里是1。如何从mfcc的结果中找到窗口(19-29)中的样本?

EN

回答 1

Stack Overflow用户

发布于 2017-11-29 14:54:16

代码语言:javascript
复制
 mfcc_feat.shape

你应该得到(4831,13)。13是您的MFCC长度(默认numcep为13)。4831是窗户。默认的winstep是10毫秒,这与声音文件的持续时间相匹配。若要到达对应于19-29秒的窗口,只需切片即可。

代码语言:javascript
复制
mfcc_feat[1900:2900,:]

记住,你不能听MFCC。它只是表示0.025秒的音频片段( winlen参数的默认值)。

如果你想进入音频本身,它是

代码语言:javascript
复制
sig[time_beg_in_sec*rate:time_end_in_sec*rate]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47512800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档