matlab 中wavread函数怎么使用

2024-12-27 17:00:12
推荐回答(3个)
回答1:

  wavread函数
  函数语法
  y = wavread(filename)
  [y, Fs] = wavread(filename)
  [y, Fs, nbits] = wavread(filename)
  [y, Fs, nbits, opts] = wavread(filename)
  [...] = wavread(filename, N)
  [...] = wavread(filename, [N1 N2])
  [...] = wavread(..., fmt)
  siz = wavread(filename,'size')

  界面操作
  File,Import Data可打开导入向导。

  实例:
  oad handel.mat %载入MATLAB自带的示例音频数据mat文件
  hfile='Data_waveread.wav'; %准备写的音频数据文件
  wavwrite(y,Fs,hfile) %将y以Fs采样率写到文件中
  clear y Fs %清除载入的y以及Fs
  [y, Fs, nbits, readinfo] = wavread(hfile); %从声音文件中载入数据,y为从声音文件载入的数据,Fs为采样率,nbits为采样使用的位数,本例中readinfo仅有fmt字段
  sound(y, Fs); %播放声音
  pause(4) %暂停4秒,与后面的声音分隔开
  %读取前两秒的数据,并播放
  nsamples = 2 * Fs; %2秒内共采样的点数
  [y2, Fs] = wavread(hfile, nsamples); %只读取前两秒的采样点
  sound(y2, Fs); %播放声音
  pause(4) %暂停4秒
  %读并播放中间三分之一声音
  sizeinfo = wavread(hfile, 'size'); %获取声音文件的采样点数以及通道数
  tot_samples = sizeinfo(1); %采样点数
  startpos = tot_samples / 3; %1/3采样点
  endpos = 2 * startpos; %2/3采样点
  [y3, Fs] = wavread(hfile, [startpos endpos]); %读中间的1/3采样点数据
  sound(y3, Fs); %播放声音

回答2:

比如y=wavread('E:\威尼斯的泪.wav');
其中此歌曲(音频)必须是wav格式,并且是非压缩的。

回答3:

help wavread ,matlab帮助里解释的很清楚,只能读取.wav格式的音频文件,可以选取读取数据的位置范围,想要读取.mp3格式得转换,或者下一个读取mp3的函数