разделить массив NumPy на равные части, когда размер массива не делится - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть файл 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), но в «data» есть конечные выборки.Мне нужно, чтобы мой код на Python выполнял те же задачи, что и код Matlab.спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...