wavwrite 函数用法,Octave

wavwrite 函数用法,Octave

嘿,为了继续这个话题,我想问你一些关于 wavwrite 的问题。我正在尝试播放一个 mat 文件 (T01DATA.mat)。尝试过但sound()没有实际解决方案;谢谢你,我明白了原因。修改它以将文件放入变量中,如下所示:

s = load("T01DATA.mat");

检查了 s,得到了一个相当不错的证据,证明该方法是成功的。然后我尝试将其转换为 wav 文件,结果出现了混乱。

wavwrite(s,"out.wav");

我明白了:

截屏

所以我这样做了:

wavwrite("T01DATA.mat","out.wav");

现在我得到了一个 wav 文件,但我不能 100% 确定信号是否正确写入。我得到的只是 0 秒的录音。

答案1

对于任何检查这一点的人来说:解决方案比我想象的要简单。通过将文件加载到 Octave:

load("filename.ext");

Octave 自动将其保存在变量“y”中。这是因为 Octave 可以从 .mat 文件中导入变量。加载文件时,Octave 会看到列和向量的名称,因此它会自动导入变量内的数据。

s = load("T01DATA.mat"); #Making this whole code unnecessary)

为了从 .mat 获取 .wav 文件,您只需使用“y”实现 wavwrite(),一切都会完美。

wavwrite(y,Fs,"out.wav");

这将在你正在处理的文件夹中创建 out.wav。你可以使用以下命令检查它

pwd

相关内容