如何使用matlab进行音频信号处理+代码编译中会遇到的问题+matlab安装包
音频信号处理
结尾附上matlab的安装包~过期私聊嗷
1)自行录制一段时长大约2秒的WAV格式的音频,用Matlab读取音频;
2)对所读取的音频数据进行2级小波分解;
3)重构音频,并把它保存为“姓名英文缩写.WAV”文件。
4)在同一个画图板上画出原始音频、重构音频的波形图。
5)在同一个画图板上画出最低频系数、中频系数和高频系数的图形。
// 以下为源码,学弟学妹们一定要自己做一遍哦;
//matlab编写
clc;clear;close all
%读语音并作图
[y,fs]=audioread('test1.wav');
a=size(y);
sound(y,fs)
Tn=(a(1)-1)/fs;%语音时长
t=0:1/fs:Tn;
figure(1)
subplot(221),plot(t,y),xlabel('时间'),ylabel('原始语音')
%DWT语音分解,小波分解
[C,L]=wavedec(y,2,'db3');
ca2=appcoef(C,L,'db3',2);counta2=length(ca2);%低频
cd2=detcoef(C,L,2); count2=length(cd2);%中频
cd1=detcoef(C,L,1);count1=length(cd1);%高频
%DWT语音重构
c1=[ca2',cd2',cd1'];%中低频
y2=waverec(c1,L,'db3');
audiowrite('ljx.wav',y2,fs)
subplot(222),plot(t,y2),xlabel('时间'),ylabel('重构语音')
figure(2)
subplot(311),plot(ca2),xlabel('个数'),ylabel('最低频系数')
subplot(312),plot(cd2),xlabel('个数'),ylabel('中频系数')
subplot(313),plot(cd1),xlabel('个数'),ylabel('高频系数')
那么我们可以从这个实验分析出啥呢???
答:音频信号通过一级小波变换,分为低频信号(CA1)和高频信号(CD1),通过二级小波分解,低频信号又分为最低频信号(CA2)和中频信号(CD2)
代码编译中会遇到的问题
在进行音频数据小波分解的时候,程序报错运行不了。问题出在我测试的音频文件是双音道的,在使用wavedec这个函数时会报错。解决方案如下:
(1) 将双音道音频改为单音道音频;
(2) 将wavedec(y,2,’db3’)改为wave(y(,;1),2,’db3’)表示对数据y的第一列的全部数据进行处理。
matlab的安装包
链接:https://pan.baidu.com/s/1uQwK0rUdEeuqD1YbmoZ1Wg
提取码:zvsy
如何使用matlab进行音频信号处理+代码编译中会遇到的问题+matlab安装包相关推荐
- 基于matlab的音频信号处理毕业设计(含源文件
基于MATLAB的语音信号处理GUI设计 一.课题研究的意义 本课题旨在对音频文件的调制和滤波.音频信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息 ...
- matlab 音乐信号处理,MATLAB 的音频信号处理技术 | 学步园
声音数据输入输出函数: 可以方便地读写au和way文件,并可控制其中的位及频率. wavread()和wavwriteO. 声音播放: wavplay():播放wav声音文件.当然,也可以把处理后的 ...
- matlab怎么把音频变成信号_如何使用 MATLAB 实现音频信号处理、实验仿真?
matlab的音频工具箱(Audio Toolbox)https://www.mathworks.com/products/audio.html 还是很强大的,即使是复杂的任务也不需要大量的代码. 一 ...
- 基于matlab的音频信号处理系统,毕业设计-基于matlab的语音信号处理及分析
资料简介 毕业设计 基于matlab的语音信号处理及分析(共19页,8147字) 引言 数字信号处理的主要研究对象是数字信号,且是采用运算的方法达到处理的目的的,因此,其实现方法,基本上分成两种实现方 ...
- 在matlab中 编程n,Matlab与C++混合编程 1--在C++中调用自己写的matlab函数
在Visual Studio中使用C++中调用MATLAB程序 在matlab中可以通过mbuild工具将.m文件编译成dll文件供外部的C++程序调用,这样就可以实现matlab和C++混合编程的目 ...
- openWrt编译第一个“Hello_world”应用程序IPK安装包
安装openWrt固件 我用的是ubuntu,首先需要在ubuntu上安装openWrt的固件,至于安装固件的步骤这里就不多说了. hello_world程序准备 我上一篇博客中有关于共享文件夹的设置 ...
- matlab分形图 经典的,分形几何中一些经典图形的MATLAB画法
分形几何中一些经典图形的Matlab画法 (1)Koch曲线程序koch.m function koch(a1,b1,a2,b2,n) %koch(0,0,9,0,3) %a1,b1,a2,b2为初始 ...
- matlab分形图 经典的,分形几何中一些经典图形的Matlab画法+[文档在线提供]
分形几何中一些经典图形的Matlab画法 (1)Koch曲线程序koch.m function koch(a1,b1,a2,b2,n) %koch(0,0,9,0,3) %a1,b1,a2,b2为初始 ...
- matlab机械臂工作空间代码_ROS中机械臂笛卡尔空间规划姿态求解无效-Moveit!
1 任务描述 在使用Moveit对机械臂运动进行规划时,我们定义Pose,然后规划,目标位姿Pose的定义代码如下: target_pose = PoseStamped() target_pose.h ...
- matlab谐波含量,基于谐波检测中的数字低通滤波器的MATLAB设计
由于电力系统中非线性电子元件的大量使用,使得谐波污染问题日益严重,当谐波含量超过一定限度时就可能对电网和用户造成极大的危害,且增加线路损耗,降低线路传输能力,干扰通信信号等.因此,应该积极寻找一种治理 ...
最新文章
- 超棒的jQuery矢量地图生成插件 - JQVAMP
- 深入理解JVM之前端编译器(一)
- keras从入门到放弃(十七)使用预训练网络VGG迁移学习
- WF 创建 SQL 持久性数据库
- linux常用命令总结
- 访问模型参数,初始化模型参数,共享模型参数方法
- java 配置jmstemplate_SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解...
- 手把手教你使用Pandas读取结构化数据
- ASP.NET的分页方法(一)
- (79)Vivado创建约束的方法
- Android applicationId与包名的区别
- 创建私有 Gems 源
- Hexo博客美化之——IP签名图一网打尽
- h5计时器(requestAnimationFrame)
- codeforces 418B. Cunning Gena (状态dp)
- 华大MCU-----进入深度睡眼不能下载程序
- 【网上商城优惠活动】
- 网线连接网络有黄色感叹号
- docker安全之容器资源控制 安全加固
- 潘石屹这回是真的卖掉了“根”