现在想用matlab批量处理一个文件夹的文件,文件夹中有数百个.wav语音文件,已经对每个文件进行一次编号了,先对第一个.wav进行处理,得到数据然后存贮,然后再对第二个文件进行同样的处理,直到最后一个文件被处理完毕结束,求matlab大神指导,指导好的一定给加分!!!
首先说对一个wav文件的操作:
wavread可以读入音频数据;处理自便;保存用wavwrite;具体用法看帮助
然后说对多文件的操作:
dir('*.wav');可以列出文件夹下所有wav文件,返回值的格式看帮助;然后for循环操作每一个文件就可以了。
如果要具体代码,就别追问了。自己稍微动一下脑筋就有。思路不清可以继续问。追问
wavread可以读入音频数据;处理自便;保存用wavwrite;具体用法看帮助
然后说对多文件的操作:
dir('*.wav');可以列出文件夹下所有wav文件,返回值的格式看帮助;然后for循环操作每一个文件就可以了。
如果要具体代码,就别追问了。自己稍微动一下脑筋就有。思路不清可以继续问。追问
我开始用的就是dir函数,但是这个是读取的是语音的相关信息,比如他的名称、录制时间,我要的是读取语音的数据,像wavread这种函数,读取之后在进行频域和时域的分析,我想要的是同时读取很多段。然后再依次进行分析···
追答不明白您的重点在那里。
dir是用来获取目录下的文件名,目的是为了遍历访问。跟文件中的内容无关。
waveread可以读取一个wav文件中的数据。如果要“读取很多段再依次分析”,那就for循环读取很多段就好了,都读完了再分析。so where is the problem?
是我没说清楚,,要的是就是wav中的数据,然后对这些数据进行分析,用for语句?这个是要改变读取的路径的,for语句好像不可以吧?例如:x=wavread('G\101.wav');用for语句可以变成x=wavread('G\102.wav')???
追答请仔细想想我说使用dir命令的目的。
另外,拼接字符串用[str1, str2]这样。或者cd切换一下目录也可以。
温馨提示:答案为网友推荐,仅供参考