matlab wav文件

来源:百度知道 编辑:UC知道 时间:2024/06/19 13:11:42
请问,如何用matlab写wav文件,我被要求用matlab做computer music,要求必须可以play出两个短曲,阅读参考后知道要用一些波动的方程,然后加一些延时,再通过一些filter,可是琢磨了2天后,一点进展都没有,请问各位如何用matlab来写这个程序,(感觉其实这个computer music就是写一个特别长的vector,然后用waveplay()它,但是怎么写这个程序啊),希望大家帮助,小女谢过.
我第一次提问,不清楚怎么给分.
对不起,可能是你误解了,WAVWRITE我知道这个怎么用wavwrite(d6,8192,16,'d6.wav');但是我的问题是如何用MATLAB程序写出d6, d6 能表达一首歌曲并且能用MATLABplay呢?(就是怎么写这个 d6的程序)

WAV为微软公司(Microsoft)开发的一种声音文件格式。
  WAVE是录音时用的标准的WINDOWS文件格式,文件的扩展名为“WAV”,数据本身的格式为PCM或压缩型,属于无损音乐格式的一种。
  它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该格式也支持MSADPCM,CCITT A LAW等多种压缩运算法,支持多种音频数字,取样频率和声道,标准格式化的WAV文件和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差无几, WAV打开工具是WINDOWS的媒体播放器。

写wav文件用wavwrite(f,'name.wav')
前面参数表示采样频率,要跟你的程序里面的采样一致,比如说一首歌的时长为ts,有n个采样点,f=n/t
波动方程自己拟合嘛,例如要产生一个C大调的la/6,
f=440;
t=0:1/44.1e3:3;
y=exp(t).*sin(2.*pi.*f.*t);%exp为指数衰减
不同频率代表不同音符,在时间轴上有序排列就产生一段美妙的音乐