【问题标题】:How can i load multiple audio files in Matlab?如何在 Matlab 中加载多个音频文件?
【发布时间】:2018-06-17 23:39:00
【问题描述】:


我有一个 Matlab 项目。我必须创建一个神经网络,我必须训练它来识别数字 (0-9) ..
出于这个原因,我想为随机说数字的人导入 1520 个 .wav 文件。如何导入所有 1520 个 wav 文件?

【问题讨论】:

  • 到目前为止您尝试过什么?我想您应该一次处理一个文件,而不是一次全部导入。

标签: matlab neural-network load wav


【解决方案1】:

下面的代码可以扫描当前目录并将所有.wav文件读入一个单元格数组,但是如果你的文件是用一些规则命名的,例如像sound1.wav & sound2.wav 这样的东西,你可以只生成一个表示每个文件名称的单元格数组,然后通过一个循环读取它们。

clc; clear;
%Scan all the files in the current library
S=dir;
%Search for .wav files and read them
p=1;
WavY={};
WavFs={};
for ii=1:length(S)
  if (~isempty(findstr('.wav',S(ii).name)) && (S(ii).isdir == 0)) 
    [WavY{p},WavFs{p}]=audioread(S(ii).name);  
    p=p+1;
  end
end

【讨论】:

  • 当我运行这个时,我遇到了这个错误:来自非结构数组对象的结构内容引用。 test_foni 中的错误(第 9 行) if (~isempty(strfind('.wav',S(ii).name)) && (S(ii).isdir == 0))
  • 我尝试了其他方式,我再次收到此消息“来自非结构数组对象的结构内容引用”
  • 但是我的 Matlab2015b 上没有弹出任何内容,一定是某个地方存在细微的版本差异,并且这样的错误消息表示您的 Matlab 教导您以错误的方式调用了某些单元阵列,不幸的是。请您确定是哪一行导致了错误,好吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-02
  • 2015-01-06
  • 1970-01-01
相关资源
最近更新 更多