将绘图保存为音频文件Matlab

时间:2016-05-30 09:56:47

标签: matlab plot

我在Matlab中有一个音频信号,我用绘图调整了它的大小。因此,我用x和y值修改了轴,只显示我想要的信息。现在,我想知道是否可以将此绘制的信号保存为新的.wav文件。

以下是我的情节写法:

plot(t1,y1);
axis([T1-0.1 T1b-0.1 min(y1) max(y1)]);

这是我的文件阅读方式:

file1 = 'C:\myfile.wav';
[y1,fs1] = audioread(file1);
N1 = length(y1);
t1 = linspace(0, N1/fs1, N1);

以下是我可视化问题的信号(第一个是原始信息,第二个是我要保存的信息):

enter image description here

1 个答案:

答案 0 :(得分:1)

使用audiowrite()以下参数:filename,y,Fs

其中y是变换后的信号,Fs是fs1。例如,传递y1fs1只会创建原始文件的副本。文件名显然是一个字符串。确保在转换后定义y2并将y2作为y传递。

要获得y2,您需要在不使用axis命令的情况下转换信号。首先,你必须弄清楚原始长度和起点:

% start = goes here
% original_length = goes here
length_in_ms = original_length - 0.1 * original_length
samples = round(length_in_ms * Fs);

y2 = y1(start:samples)
audiowrite(filename, y2, fs1)

代码未经过测试,但这是基本想法。