1. 读取WAV声音文件


% wavread(filename) 读取一个WAVE文件,并返回采样数据到向量y中,Fs表示采样频率, bits表示采样位数   

 

  [y, Fs, bits] = wavread('drum.wav');   

 

    

 

  %假设声音文件有两个声道,我们只分析第一个声道,如果要分析第二个声道可以改为:ft=y(:,2);   

 

  ft = y(:,1);   

 

  sigLength = length(ft); %获取声音长度   

 

    

 

  %可以使用sound函数来播放声音   

 

  sound(y, Fs, bits)   

 
 
 
 

  >> left = y(:,1); 

 

  >> leftSigLength = length(left) 

 
 
 
 

  leftSigLength = 

 
 
 
 

        106764 

 
 
 
 

  >> sound(y, Fs, bits) 

 

  >> ydown10=y./10; 

 

  >> sound(ydown10, Fs, bits) 

 

  >> yup10=y.*10; 

 

  >> sound(yup10, Fs, bits) 

 

  >> sound(ydown10, Fs, bits) 

 

  >> sound(y, Fs, bits) 

 

  >> sound(yup10, Fs, bits) 

 

  >> sound(y, Fs, bits) 

 

  >> sound(ydown10, Fs, bits) 

 

  >> yleftHirightLow=[yup10(:,1);ydown10(:,1)]; 

 

  >> yleftHirightLow=[yup10(:,1),ydown10(:,1)]; 

 

  >> sound(yleftHirightLow, Fs, bits) 

 

  >> sound(yleftHirightLow, Fs, bits) 

 

  >> yleftLowrightHi=[ydown10(:,1),yup10(:,1)]; 

 

  >> sound(yleftLowrightHi, Fs, bits) 

 

  >> 

 

  >> wavwrite(ydown10,Fs,'ydown10.wav'); 

 

  >> wavwrite(yup10,Fs,'yup10.wav'); 

 

  Warning: Data clipped during write to file:yup10.wav 

 

  > In wavwrite>PCM_Quantize at 248 

 

    In wavwrite>write_wavedat at 272 

 

    In wavwrite at 114 

 

  >> wavwrite(yleftHirightLow,Fs,'yleftHirightLow.wav'); 

 

  Warning: Data clipped during write to file:yleftHirightLow.wav 

 

  > In wavwrite>PCM_Quantize at 248 

 

    In wavwrite>write_wavedat at 272 

 

    In wavwrite at 114 

 

  >> wavwrite(yleftLowrightHi,Fs,'yleftLowrightHi.wav'); 

 

  Warning: Data clipped during write to file:yleftLowrightHi.wav 

 

  > In wavwrite>PCM_Quantize at 248 

 

    In wavwrite>write_wavedat at 272 

 

    In wavwrite at 114 

 

  >>