当前位置: 首页 > news >正文

Matlab —— 语音信号处理及频谱分析.wav文件(附:matlab代码)

简介及运行效果图

本文介绍利用Matlab对.wav文件的语音信号读取和频谱分析,包括读取wav音频文件、选择声道、调整采样率输出.wav文件和绘制频谱图。

正文

1、Matlab读取.wav文件

wav文件是常见的音频文件格式之一。同时Matlab提供了一套简洁的工具来读取和处理wav文件,通过 audioread 函数快速读取wav文件,获取音频数据和采样率。这个函数不仅能够加载音频数据,还能保留许多重要的音频属性,比如声道信息和采样率等。

[y,Fs] = audioread(filename) 从名为 filename 的文件中读取数据,并返回样本数据 y 以及该数据的采样率 Fs。

▪️y- 文件中的音频数据,返回为 m×n 矩阵,其中 m 是读取的音频样本数,n 是文件中的音频通道数。y 是 single 或
double,BitsPerSample 是 32 或 64,y 中的值可能会超过 −1.0 或 +1.0。
▪️Fs- 音频数据 y 的采样率(以赫兹为单位),返回为正标量。

% 读取.wav文件[signal,fs]=audioread('ringing.wav');


2、判断读取.wav文件的音频通道数

signal 变量将包含音频数据,而 fs 变量则包含音频的采样率。使用 size 函数检查 signal 的第二个维度来确定是否为单声道。

% 读取.wav文件[signal,fs]=audioread('ringing.wav');% 判断音频通道数ifsize(signal,2)==1% 音频为单声道disp('音频为单声道');else% 可能是立体声或其他多声道音频disp('音频为多声道');end


3、绘制.wav文件声道波形图

% 读取.wav文件[signal,fs]=audioread('ringing.wav');% 绘制声道信号波形图t=(0:length(signal)-1)/fs;% 时间向量plot(t,signal);title('声道信号波形');xlabel('时间 (秒)');ylabel('振幅');


4、分别绘制.wav文件左右两个声道波形图

通过 subplot 函数可在同一图形窗口绘制两个声道波形图。这种分开的波形分析直观的识别立体声效果的差异。

% 读取.wav文件[signal,fs]=audioread('ringing.wav');% 判断音频通道数ifsize(signal,2)==1% 音频为单声道disp('音频为单声道');else% 可能是立体声或其他多声道音频disp('音频为多声道');% 分离左右声道leftChannel=signal(:,1);rightChannel=signal(:,2);% 绘制左右声道波形图t=(0:length(leftChannel)-1)/fs;% 时间向量subplot(2,1,1);plot(t,leftChannel);title('左声道信号波形');xlabel('时间 (秒)');ylabel('振幅');subplot(2,1,2);plot(t,rightChannel);title('右声道信号波形');xlabel('时间 (秒)');ylabel('振幅');end


5、采样率调整并输出新的.wav文件

Matlab提供一些内置函数和工具用于对采样率的调整,原ringing.wav采样率为44100,设置输出采样率8192后保存的DST.wav播放时,由于采样间隔过大导致音质粗糙低沉

% 读取WAV文件[signal,fs]=audioread('ringing.wav');% 设置目标采样率targetFs=8192;% 使用resample函数进行重采样resampledAudio=resample(signal,targetFs,fs);% 写入新采样率的音频文件audiowrite('DST.wav',resampledAudio,targetFs);
关注

笔者 - 东旭

http://www.jsqmd.com/news/244500/

相关文章:

  • 深度学习毕设项目推荐-基于python-CNN深度学习对棉花叶病识别
  • 智算中心与大模型协同:AI时代的算力基础设施与产业赋能指南
  • 国巨君耀 4532 系列 SMD 气体放电管:电路过压防护的可靠之选
  • 亲测好用!10个AI论文平台测评:本科生毕业论文必备
  • LangGraph多Agent架构实战:Open Deep Research三级分层嵌套结构深度解析
  • 算力成本估算:基于Token吞吐量的资源需求模型
  • 别让“小眼镜”挡路!儿童近视防控,从读懂“调节力”开始
  • 35 岁危机绕道走!480 万缺口的网络安全,金饭碗稳到退休
  • 模型上下文协议(MCP):大模型与外部世界沟通的“普通话“,程序员必藏技术
  • Java工程师转型大模型实战:3个月从失业到高薪入职,附104G资源包,我的转型之路与副业机遇
  • 觉醒的代码:当人工智能学会为自己编程
  • 176838112284缺口 480 万!这个领域未来 10 年吃香,零基础小白快上车
  • AI产品经理修炼手册:从产业链到能力提升,建议收藏学习_AI产品经理成长秘籍,从零基础到进阶
  • 《创业之路》-856- 商业模式案例分析:华为 vs 中兴通讯(全面对比)
  • (122页PPT)数字化架构演进和治理(附下载方式)
  • 为什么股票分析师很少推荐卖掉哪家公司的股票
  • (123页PPT)供应链管理IBM制造业集团供应链管理成熟度评估模型及集成计划流程框架(附下载方式)
  • 生产商标注 “参见电视广告” 的营销逻辑与价值解析
  • 一文弄懂:低代码靠谱吗?低代码能用吗?
  • 三国志战略版下载安装教程(2026 最新版):电脑版下载 + 安装配置全流程图文详解
  • 深度测评10个AI论文网站,助本科生轻松搞定毕业论文!
  • 深度学习毕设选题推荐:基于python-CNN深度学习卷神经网络对棉花叶病识别基于python-CNN深度学习对棉花叶病识别
  • 全网最全本科生AI论文软件TOP9测评
  • Docker+可视化管理新选择:Portainer+搭配+cpolar+实现远程高效运维
  • 盲盒小程序:开发视角下的功能与体验
  • 深度学习毕设选题推荐:基于卷积神经网络的胡萝卜是否变质识别基于python-CNN卷积神经网络的胡萝卜是否变质识别
  • 深度学习毕设选题推荐:基于卷积神经网络的胡萝卜是否变质识别基于python-CNN卷积神经网络的胡萝卜是否变质识别
  • 计算机深度学习毕设实战-基于python-CNN卷积神经网络的胡萝卜是否变质识别基于python-CNN机器学习卷积神经网络的胡萝卜是否变质识别
  • 计算机深度学习毕设实战-基于python-CNN卷积神经网络的胡萝卜是否变质识别基于python-CNN机器学习卷积神经网络的胡萝卜是否变质识别
  • 计算机深度学习毕设实战-基于python-CNN深度学习对棉花叶病识别基于机器学习对棉花叶病识别