weixin_49747246 2021-01-07 15:17 采纳率: 25%
浏览 137
已采纳

矩阵的维数问题(想统一不同市场音频mfcc的维数)。

def get_wav_mfcc(wav_path):#(wav_path)
    y,sr = librosa.load(wav_path)
    wav_feature = mfcc( y, sr, numcep=13, winlen=0.025, winstep=0.01,
                       nfilt=26, nfft=1024, lowfreq=0, highfreq=None, preemph=0.97)
    print(wav_feature.shape)
 输出:由于自己音频有的市场不同,所以shape有(80,13)、(99,13)(122,13)等
    total_mfcc = []
    d_mfcc_feat = delta(wav_feature, 1)
    print('一阶差分mfcc:', d_mfcc_feat.shape)
 输出:shape同上:(80,13)、(99,13)(122 ,13)等
    d_mfcc_feat2 = delta(wav_feature, 2)
    print('二阶差分mfcc:', d_mfcc_feat2.shape)
 输出:shape同上:(80,13)、(99,13)(122,13)等
    feature = np.hstack((wav_feature, d_mfcc_feat, d_mfcc_feat2))
    print(feature.shape)
 输出:shape:(80,39)(99,39)(122,39)等
    total_mfcc.extend(feature)
    total_mfcc = np.array(total_mfcc)
    print(total_mfcc)
 输出:(80,39)(99,39)(122,39)等形式的矩阵

最终想要实现,通过补0或者其他方式,使得输出的矩阵统一成(99,39),需要接下来加些什么代 码??????
下面是本人代码,想补0,没有成功
    data = list(np.array( total_mfcc))
    print('list:',data)#根据整个输出
    while len(data)>122:#修改此数值
        del data[len(waveData[0])-1]
        del data[0]
    # print(len(data))
    while len(data)<122:
        data.append(0)
    print('add0:',data)
    data=np.array(data)
    return data
  • 写回答

4条回答 默认 最新

  • bj_0163_bj 2021-01-07 15:59
    关注

    你的矩阵是numpy 格式吧。用这个函数试试?这个是我的例子

    d1=np.array([[1,2,3,4,5,1],[1,2,3,4,5,2],[1,2,3,4,5,3],[1,2,3,4,5,4],[1,2,3,4,5,5],[1,2,3,4,5,6],[1,2,3,4,5,7],[1,2,3,4,5,8]])
    d2=np.array([[1,2,3,4,5,1],[1,2,3,4,5,2],[1,2,3,4,5,3]])
    print("原始:")
    print(d1)
    print(d2)
    def reshape(d):
        m,n=d.shape
        if m>=5:
            return d[0:5,:]
        else:
            return np.row_stack((d,[[0]*n]*(5-m)))
            
    d1=reshape(d1)
    d2=reshape(d2)
    print("转换后:")
    print(d1)
    print(d2)
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢