分段语音数据,将其另存为.wav文件并在Matlab中播放

时间:2014-03-26 10:47:16

标签: matlab speech

我有语音数据,我将其分成若干部分。我正在尝试为每个分段数据创建一个.wav文件并播放此.wav文件。

例如,假设语音数据是名为1x1000的{​​{1}}数组。我使用data索引将此数据分为4个部分。

seg_data

代码:

seg_data
    1     250
    251   500
    501   750
    751   1000

首先我需要创建一个文件夹,其中存储了在每次迭代中创建的for i=1:size(seg_data(:,1)) w(i)=data(seg_data(i,1): seg_data(i,2)); wavwrite(w(i),'file_%d \n ',i); end 文件。然后,我可以逐个阅读存储的文件并播放它。

1 个答案:

答案 0 :(得分:2)

如果您不知道采样频率 Fs ,则必须使用reference网站中提供的签名wavwrite(y,filename)

for i=1:size(seg_data(:,1))
    w(i,:)=data(seg_data(i,1): seg_data(i,2));
    wavwrite(w(i,:),['file_',num2str(i)]);
end
BTW,文档建议改为使用audiowrite