首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何提取音频的mfcc特征并将其传递给cnn以训练模型?

如何提取音频的mfcc特征并将其传递给cnn以训练模型?
EN

Stack Overflow用户
提问于 2019-09-24 20:27:54
回答 1查看 2.2K关注 0票数 0

如何使用MFCC算法提取音频特征,并将其与卷积神经网络一起使用来训练模型?

我已经使用MFCC提取了音频的特征,并且文件包含浮点列,但我无法区分这些列?

代码语言:javascript
运行
复制
for filename in os.listdir(directoryName):
    if filename.endswith('.wav'): # only get MFCCs from .wavs

        (rate,sig) = wav.read(directoryName + "/" +filename)


        mfcc_feat = mfcc(sig,rate)


        fbank_feat = logfbank(sig,rate)


        outputFile = resultsDirectory + "/" + os.path.splitext(filename)[0] + ".csv"
        file = open(outputFile, 'w+')
        numpy.savetxt(file, fbank_feat, delimiter=",")
        file.close() # close file

The values contained in the csv file like this.

7.01E+00    5.94E+00    5.28E+00    5.25E+00    5.24E+00
5.87E+00    3.53E+00    3.61E+00    2.32E+00    2.13E+00
5.68E+00    8.36E-01    1.75E-01    -8.48E-01   1.77E+00
7.96E+00    6.12E+00    5.47E+00    4.66E+00    4.34E+00
6.29E+00    4.34E+00    3.51E+00    3.15E+00    2.30E+00
6.37E+00    5.34E+00    4.76E+00    3.98E+00    3.77E+00
4.72E+00    1.62E+00    3.09E+00    1.66E+00    1.37E+00
6.14E+00    5.82E+00    5.12E+00    4.11E+00    3.76E+00
7.49E+00    3.79E+00    2.25E+00    5.03E+00    5.69E+00
5.89E+00    4.88E+00    5.88E+00    6.22E+00    6.19E+00
EN

回答 1

Stack Overflow用户

发布于 2019-09-30 00:45:15

音频信号的MFCC特征是时间序列。如果你的输入音频是10秒的44100 kHz和1024个样本跳跃大小(大约23ms)的MFCC,那么你将得到430frame,每个帧都有MFCC系数(可能是20)。

为了使用卷积神经网络对其进行分类,您需要将其划分为实际大小的固定大小的分析窗口。例如,43个MFCC帧窗口将对应于大约1秒。然后输入到CNN的形状为43x20x1。如果你想要重叠的分析窗口(可以提高性能,以增加计算时间为代价)-那么在计算下一个窗口时提前不到43帧。

这是an answer with example Python code。它显示在mel频谱图中,但只需将对librosa.feature.melspectrogram()的调用替换为librosa.feature.mfcc()即可适用于MFCC。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58080346

复制
相关文章

相似问题

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