欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab 读取WAV文件

发布时间:2025/5/22 循环神经网络 160 豆豆
生活随笔 收集整理的这篇文章主要介绍了 matlab 读取WAV文件 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

最近工作需要,要对wav文件中存储的声音信息进行分析处理。所以花了些时间收集了各种数学软件中处理wav 文件的方法。

Matlab

Matlab 是最方便的。甚至于不用写任何代码就能读取 wav 文件(我用的是matlab 7.1)。在当前路径窗口中双击wav 文件就自动将文件内容读入了。


图 1 当前路径窗口

双击后会自动弹出数据导入向导。data 中是波形文件(每一列对应一个声道),fs 存的是采样率。这两个变量名都可以按照自己的需要来修改。

图 2 数据导入向导

相应的函数是 wavread()。 有下面的几种调用格式。

[plain] view plaincopy
  • y = wavread('filename')  
  • 这是最简单的形式,将wav 文件中的波形数据读入 中,波形的幅度范围在[-1, 1]

    [plain] view plaincopy
  • [y,Fs,bits] = wavread('filename')  
  • Fs  存的是采样率,单位 Hz bits  是数据的位数。

    [plain] view plaincopy
  • [...] = wavread('filename',N)  
  • 只读取前 N  个数据点。

    [plain] view plaincopy
  • [...] = wavread('filename',[N1 N2])  
  • 只读取N1  到  N2  之间的数据。

    [plain] view plaincopy
  • siz = wavread('filename','size')  
  • 读取wav 文件有多少数据点, siz 为一个 1 行两列的向量。 siz = [samples channels]

    wavfinfo() 用来获取wav文件的信息。

    [plain] view plaincopy
  • [m d] = wavfinfo(filename)  
  • 当 filename  wav 文件时  返回字符串 'Sound (WAV) file',否则返回空字符串。

    返回包含wav 新的字符串,比如像这里给出的结果:’Sound (WAV) file containing: 41532 samples in 1 channel(s)’,如果filename 不是wav文件,则返回字符串'Not a WAVE file'。

    wavwrite 函数可以生成一个 wav 文件,有三种基本的调用格式。

    [plain] view plaincopy
  • wavwrite(y,'filename')  
  • 将 y  中的数据写入 wav 文件,其中 的每一列对应一个声道。要求  中的数据在  [-1, 1] 。超出这个范围的都被截断。采样率默认为  8000Hz 16  位格式。

    [plain] view plaincopy
  • wavwrite(y,Fs,'filename')  
  • Fs  用来设定采样率。

    [plain] view plaincopy
  • wavwrite(y,Fs,N,'filename')  
  • 指定数据的位数,可以为  8 16 24 32 。当  =32 时, wav 文件按照 PCM  码来存储。当 N=32 时,数据按照浮点数格式存储。这时也就不要求数据范围在 -1 之间了。

    总结

    以上是生活随笔为你收集整理的matlab 读取WAV文件的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。