当数组大小不可分割时,将numpy数组分成相等的部分

时间:2019-02-04 19:06:13

标签: python-3.x numpy

我有一个wav文件。我想将此音频拆分为20相等的片段,以读取和获取元信息。我已经在Matlab中完成了此操作,但我想在python3.6中执行此操作。 fs是代码中的采样频率。这是我工作的matlab代码;

    [y, fs] = audioread(file)
    windowsize=20*fs;
    trailingsamples=mod(length(y), windowsize);
    sampleframe=reshape(y(1:end-trailingsamples), windowsize, []);

    siz=size(sampleframe);
    nseg=siz(2);  % nseg=NumberOfSegments 

    for i=1:nseg  
            yseg=sampleframe(:,i);
      %extract meta info here...

我在python中尝试过

        from scipy.io import wavfile
        fs, data = wavfile.read(file)

        windowsize=20*fs;
        trailingsamples=len(data)%windowsize

这就是我被困住的地方。我以为使用np.split(data, windowsize),但“数据”中有尾随样本。我需要我的python代码执行与Matlab代码相同的任务。谢谢

0 个答案:

没有答案