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 代码相同的任务。谢谢
解决方案
推荐阅读
- c++ - Eigen中的C ++静态数据成员初始化错误
- asp.net - 在后台代码 ASP.net 中使用条件时使用甜蜜警报确认
- reactjs - Typescript React 17 Tailwind CSS 2.0 安装
- java - java方法中二维数组行中条目的总和
- java - React Native 生产构建不起作用(Android)
- python - Python:如何将在执行 A 期间创建的变量从脚本 A 导入到脚本 B?
- java - 在 JFrame 中显示 java 程序中生成的 pdf 文档的内容,无需创建 pdf 文件
- validation - Oracle ADF 页面生命周期以及如何执行验证检查
- unit-testing - 如何告诉 Makemaker 并行运行测试?
- stanford-nlp - 为什么 ConceptNet Numberbatch 词嵌入对类比查询的结果很差?