file - Octave 功能wavread无法打开wav文件

标签 file audio octave wav

我试图使用 Octave 将.wav文件读入 vector 数组以进行其他分析,但是当我尝试运行脚本时, Octave 无法打开该文件。

代码是:

[S,fs] = wavread('snare.wav');
plot(S);

运行脚本后,出现以下错误:
error: audioinfo: failed to open file snare.wav
wavread at line 91 column 8
analysis_1 at line 1 column 7

我的'snare.wav'文件与脚本文件'analysis_1.m'位于同一目录,因此编译器应该能够找到.wav文件。只是 Octave 无法打开文件。

我在Dell XPS上运行ubuntu。

任何帮助,将不胜感激。我应该尝试重新安装 Octave 音阶吗?

谢谢社区

最佳答案

文件snare.wavanalysis_1.m是否在同一目录中都没有关系。重要的是,当使用'snare.wav'调用waveread时,wave文件位于“当前目录”中。如果您在脚本中使用cd更改目录,或者使用实际路径调用脚本和函数,或者通过addpath添加它们,则这一点很重要。我将以最后一个为例。

考虑以下结构:

.
└── foo
    ├── bar.m
    └── myfile

文件bar.m仅包含stat myfile
如果现在使用foo导航到cd并调用bar,您将得到结果
octave:1> bar
ans =

  scalar structure containing the fields:

    dev =  2065
    ino =  5672946
    mode =  33188
    modestr = -rw-r--r-- 
    nlink =  1
    uid =  1000
    gid =  1000
    rdev = 0
    size =  6
    atime =    1.5196e+09
    mtime =    1.5196e+09
    ctime =    1.5196e+09
    blksize = 0
    blocks =  8

但是,例如,如果您使用addpath,而您不在foo之外:
octave:1> addpath ("foo")
octave:2> bar
ans = [](0x0)

找不到文件。

因此,要调试代码,只需在pwd之前直接添加lswaveread并检查它们是否符合您的期望,或者添加keyboard并从中进行调试

关于file - Octave 功能wavread无法打开wav文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981312/

相关文章:

iphone - AudioToolbox/OpenAL ExtAudioFile 播放压缩音频

javascript - Internet Explorer中的pcm数据支持

Octave 运行正常但绘图不显示?

matlab - Matlab 中的 DST 变换与 FFTW3

C++ 将变量添加到 vector 列表时出现问题

java - 如何从文件系统中的相对路径找到绝对路径

java - 在java中打开和关闭mp3文件

java - 搜索扩展名为 .java 的文件

android - 错误: Audio Priority Boost

c++ - 在 C++ 中使用 Octave