八度函数 wavread 无法打开 wav 文件
octave function wavread cannot open wav file
我正在尝试使用 Octave 将 .wav 文件读入向量数组以进行其他分析,但是当我尝试 运行 脚本时,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打不开文件。
我 运行正在 ubuntu 使用 Dell XPS。
如有任何帮助,我们将不胜感激。我应该尝试重新安装 Octave 吗?
感谢社区
文件snare.wav
是否与文件analysis_1.m
在同一个目录下并不重要。重要的一点是,wave 文件在 "current directory" 中,当用 'snare.wav'
调用 waveread 时。如果您在脚本中使用 cd
更改目录,或者使用实际路径调用脚本和函数或通过 addpath
添加它们,这一点很重要。我将向您展示最后一个作为示例。
考虑以下结构:
.
└── foo
├── bar.m
└── myfile
文件bar.m只包含stat myfile
如果您现在使用 cd
导航到 foo
并调用 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)
找不到文件。
所以要调试您的代码,只需在 waveread
之前直接添加 pwd
和 ls
并检查它们是否符合您的期望或添加 keyboard
并从此
进行调试
我正在尝试使用 Octave 将 .wav 文件读入向量数组以进行其他分析,但是当我尝试 运行 脚本时,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打不开文件。
我 运行正在 ubuntu 使用 Dell XPS。
如有任何帮助,我们将不胜感激。我应该尝试重新安装 Octave 吗?
感谢社区
文件snare.wav
是否与文件analysis_1.m
在同一个目录下并不重要。重要的一点是,wave 文件在 "current directory" 中,当用 'snare.wav'
调用 waveread 时。如果您在脚本中使用 cd
更改目录,或者使用实际路径调用脚本和函数或通过 addpath
添加它们,这一点很重要。我将向您展示最后一个作为示例。
考虑以下结构:
.
└── foo
├── bar.m
└── myfile
文件bar.m只包含stat myfile
如果您现在使用 cd
导航到 foo
并调用 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)
找不到文件。
所以要调试您的代码,只需在 waveread
之前直接添加 pwd
和 ls
并检查它们是否符合您的期望或添加 keyboard
并从此