前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab读取和写入音频文件

Matlab读取和写入音频文件

作者头像
用户9925864
发布2022-07-27 09:18:51
3.5K0
发布2022-07-27 09:18:51
举报
文章被收录于专栏:算法工程师的学习日志

最近在做音视频开发,正好分享一点简单的matlab 音频处理

写入音频文件

从文件 handel.mat 加载示例数据

代码语言:javascript
复制
load handel.mat

工作区现在包含音频数据矩阵 y 和采样率 Fs

使用 audiowrite 函数将数据写入当前文件夹中名为 handel.wav 的 WAVE 文件。

代码语言:javascript
复制
audiowrite('handel.wav',y,Fs)
clear y Fs

audiowrite 函数还可以写入其他音频文件格式,如 OGG、FLAC 和 MPEG-4 AAC。

获取有关音频文件的信息

使用 audioinfo 函数获取有关 WAVE 文件 handel.wav 的信息。

代码语言:javascript
复制
info = audioinfo('handel.wav')
info = 
             Filename: 'pwd\handel.wav'
    CompressionMethod: 'Uncompressed'
          NumChannels: 1
           SampleRate: 8192
         TotalSamples: 73113
             Duration: 8.9249
                Title: []
              Comment: []
               Artist: []
        BitsPerSample: 16

audioinfo 返回一个 1×1 结构体数组。SampleRate 字段指示音频数据的采样率,以赫兹为单位。Duration 字段指示文件的持续时间,以秒为单位。

读取音频文件

使用 audioread 函数读取文件 handel.wavaudioread 函数可以支持 WAVE、OGG、FLAC、AU、MP3 和 MPEG-4 AAC 文件。

代码语言:javascript
复制
[y,Fs] = audioread('handel.wav');

播放音频。

代码语言:javascript
复制
sound(y,Fs)

也可以交互方式读取 WAV、AU 或 SND 文件。选择 导入数据或双击当前文件夹浏览器中的文件名。

绘制音频数据图

创建一个与 y 长度相同的向量 t,表示经过的时间。

代码语言:javascript
复制
t = 0:seconds(1/Fs):seconds(info.Duration);
t = t(1:end-1);

将音频数据绘制为时间的函数。

代码语言:javascript
复制
plot(t,y)
xlabel('Time')
ylabel('Audio Signal')
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写入音频文件
  • 获取有关音频文件的信息
  • 读取音频文件
  • 绘制音频数据图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档