推导"y"矩阵和采样率作为音频写入函数的参数,即音频写入(文件名,y,Fs)



我有点迷茫地理解audiowrite函数如何派生"y"和"Fs",这是函数的最后两个参数。我查看了 Matlab 提供的一些示例,它们似乎工作正常。第一组代码是 Matlab 的一个示例,它返回 'y' 和 'Fs' 值。

load handel.mat filename = 'handel.wav'; audiowrite(filename,y,Fs);

现在,我已经编写了一组类似的代码来处理.csv文件。知道加载函数的输入参数只能是 .mat 格式,我用以下格式编写了一些代码。

csvread('bgst.csv');
save bgst.mat
load bgst.mat;
filename = 'bgst.wav';
audiowrite(filename,y,Fs);

但是,在这种情况下,我收到错误消息:未定义的函数或变量"y"(或者,如果我在带有csvread函数的行中定义了y,则为Fs(。那么,为什么音频写入不会像前面的情况那样创建"y"和"Fs"。顺便说一句,我的.csv文件是 999998x4 双精度。而且,任何可以帮助我的更多信息,请告诉我。

当你这样做时:

load handel.mat

您正在将包含变量的 MAT 文件加载到工作区中。这就是初始化yFs的原因,它们被用作audiowrite的输入参数。您可以使用whos函数查看正在创建的变量:

>> clear all        % Removes all current variables
>> load handel.mat
>> whos
Name          Size             Bytes  Class     Attributes
Fs            1x1                  8  double              
y         73113x1             584904  double             

变量y包含采样率Fs的音频数据矩阵。您必须自己为数据创建这些并将它们传递给audiowrite

最新更新