matlab数字音频处理实验报告,数字信号处理实践——基于matlab的音频信号分析即处理...
基于matlab的音频信号分析即处理
一直很多人都困惑,大学里学了数字信号能干嘛,很少又实践动手的机会(这都是看个人主动性的,从来不缺锻炼的机会,机会不会摆在你面前吧!)。很多人也就是做做题目 pray for passing the test.
下面开始介绍如果利用matlab处理音频信号文件。
--------------------------------------------------------------------------------------------------------------------------------------------------
我去,CSDN不允许上传音频文件....只好传XX盘了
下面是音频文件
首先利用matlab导入音频数据,这里要注意,matlab只能识别.wav格式的音频文件....
利用wavread函数可以导入音频数据,同样可以利用import data 工具进行数据的导入
[road,fs]=wavread('road.wav');
可以看到,这里data是音频文件的两个声道数据,fs记录的是音频文件的采样频率 fs=44,100 samples/second
我们可以按照时间序列观察音频文件的数据信息
做出上图的matlab代码:
%%******************************************
% code file : DSP_music_demo.m
% code writer : EOF
% code date : 2014.11.17
% e-mail : jasonleaster@gmail.com
%%******************************************
clear all
close all
clc
% read the music source file by function 'wavread()'
[data fs] = wavread('./road.wav');
% left channel of music is stored in data(:,1);
% right channel of music is stored in data(:,2);
left = data(:,1);
right = data(:,2);
% the sampling frequency of original digital signal.
time = (1/fs)*length(left);
t = linspace(0,time,length(left));
plot(t,left);
xlabel('time(sec)');
ylabel('relative signal strength');
上面的数据点太多,观察起来不便,我们可以再细致的观察段时段内的音频数据,左声道的前2000个点
close all
clc
time = (1/44100)*2000;
t = linspace(0,time,2000);
figure;
plot(t,left(1:2000));
xlabel('time(sec)');
ylabel('relative signal strength');
可以通过soundsc()函数测试试听音频数据
soundsc(left,fs)% plays left channel as mono
soundsc(right,fs)% plays right channel mono (sound nearly the same)
soundsc(road,fs)% plays stereo (ahhh…)
好玩的来了,原本没有回声的音频,怎么处理使之具有回声的效果呢?
下面是我们构造回声的模型,以前输入的延迟和当前输入的叠加得到的输出,而回声的明显程度就和这里的Delay有关系了
下面的程序简单实现了这个模型,很好玩哟~ 哇咔咔~原来回声可以这么简单的合成
%%******************************************
% code file : echo.m
% code writer : EOF
% code date : 2014.11.17
% e-mail : jasonleaster@gmail.com
%%******************************************
clear all
close all
clc
% read the music source file by function 'wavread()'
[data fs] = wavread('./road.wav');
% left channel of music is stored in data(:,1);
% right channel of music is stored in data(:,2);
left = data(:,1);
right = data(:,2);
leftout = left;
N = 10000;% delay second = N/fs;
% N = fs*0.1;% eg: I want to delay 0.1 second
for n = N+1:length(left)
leftout(n) = left(n) + left(n - N);
end
soundsc(leftout,fs);
同样,我们还可以把左声道回声到右声道,右声道回声到左声道,这在是实现上很简单~不贴代码了。
前面我们看到的是前馈(forwar-feed)
我们再考虑别的情况,反馈型feedback
注意我把输出信号的延迟量的0.8倍叠加到输入信号,然后作为输出。这是一种正反馈(系数为0.8)。而反馈系数小于1,于是这里回声会慢慢的变弱,越来越弱,以至于人辨别不出来了,但是这种回声不会消失!
out = data;
N = fs*0.1;
for n = N +1:length(left)
out(n,1) = 0.8*out(n-N,1) + left(n);
out(n,2) = 0.8*out(n-N,2) + right(n);
end
下面是关于声音频率的控制处理
下面的部分可以实现低通滤波
%% got the low frequency
out = left;
counter = 0;
for n = 2:length(left)
out(n,1) = 0.8*out(n-1) + 0.2*left(n);
end
下面的部分可以使得播放时声音的高频部分更明显。
如果想改变播放速度,soundsc的参数,直接改变fs即可。
接下来我们看看左声道数据的频谱,发现能量集中在低频段(左右两侧低频,中间是高频段)~
我们可以对输入信号进行低通滤波。仅保留低频段的左边20000个点和右边20000个点
你会听到很好玩的低频声音哈哈哈哈哈O(∩_∩)O~
高通滤波则反之.
当生活把我们打哭的时候,我们就把生活逗笑 : )
matlab数字音频处理实验报告,数字信号处理实践——基于matlab的音频信号分析即处理...相关推荐
- matlab数字音频处理实验报告,数字信号处理MATLAB实验1
wavread 实验一熟悉MATLAB环境 一.实验目的 (1)熟悉MATLAB的主要操作命令. (2)学会简单的矩阵输入和数据读写. (3)掌握简单的绘图命令. (4)用MATLAB编程并学会创建函 ...
- matlab fft谱分析实验报告,数字信号处理实验报告-FFT算法的MATLAB实现.doc
数字信号处理实验报告-FFT算法的MATLAB实现.doc 数字信号处理 实验报告实验二FFT算法的MATLAB实现一.实验目的通过本实验的学习,掌握离散傅立叶变换的理论,特别是FFT的基本算法以及其 ...
- 数字信号处理matlab实验报告,数字信号处理,matlab实验报告
数字信号处理,matlab实验报告 Matlab实验报告 实验一: 1. 实验Matlab代码: N=25; Q=0.9+0.3*j; WN=exp(-2*j*pi/N); x=zeros(25,1) ...
- matlab数字信号处理实验报告,数字信号处理实验报告(Matlab与数字信号处理基础).doc...
西华大学实验报告(理工类) 开课学院及实验室:电气信息学院 6A-205实验时间 :年月日学 生 姓 名学号成 绩学生所在学院电气信息学院年级/专业/班课 程 名 称数字信号处理课 程 代 码实验项目 ...
- matlab数字信号处理实验报告,数字信号处理实验报告一 离散信号及其MATLAB实验...
数字信号处理 离散信号及其MATLAB实验 南昌航空大学实验报告 2012 年 04 月 06 日 课程名称: 数字信号处理 实验名称: 离散信号及其MATLAB实现 班级: 090423班 学号: ...
- matlab验证dtft移位性质,数字信号处理教程:MATLAB释义与实现(第2版)
第1章 信号和信号处理1.1信号的分类1.2信号处理51.2.1信号处理的举例51.2.2信号处理的一般任务61.2.3数字信号处理71.3信号采样和复原实例81.4本书概貌的说明10复习思考题12习 ...
- 【数字信号处理】基于matlab LMD算法和ELMD算法管道泄漏信号处理【含Matlab源码 1985期】
⛄一.局部分解理论研究 局部均值分解算法(Local Mean Decomposition, LMD) 作为处理非平稳随机信号的一种手段,得到了广泛应用,并成熟地应用于机械故障诊断.信号特征提取与分析 ...
- matlab数字信号处理实验报告,【实验设计论文】Matlab的数字信号处理课程实验设计(共3490字)...
摘要:本文设计了一个基于Matlab的"数字信号处理"课程综合性实验.该实验把"数字信号处理"课程中的许多离散的知识点串接了起来,包括采样.量化.滤波器设计.滤 ...
- 全相位数字信号处理方法及matlab实现,数字信号处理及matlab实现_实验报告册.doc...
数字信号处理及matlab实现_实验报告册.doc 数字信号处理及MATLAB实现实验报告实验人孙敬贤实验1离散时间信号产生及频谱分析一.实验目的㈠掌握MATLAB产生常用离散时间信号的产生方法.㈡掌 ...
最新文章
- 知乎热议!一个博士生接受怎样的训练是完整的科研训练?
- java隐藏控件_Android控件的显示和隐藏
- 卡特兰数(Catalan number)
- session和cookie到底有什么联系?这一篇文章给你分析的明明白白~
- HDU4633(Polya计数)
- 报任安书文言现象_干货丨文言文句式详解,快点收藏!
- [2021.1.27多校省选模拟10]跑步(线段树合并)
- find_package()的查找*.cmake的顺序
- android学习资料整理-----高级篇
- 下载站mime属性设置(让文件可下载)
- 禅道类似软件_整理几款开源项目管理软件
- 卡尔曼滤波和互补滤波的区别
- git操作是出现Username for 'https://github.com':的验证问题
- 2.1Mysql 基础--基本介绍
- 文本分类(2)——取特征词构建词典
- pytorch_lesson16.1 OpenCV索贝尔算子/拉普拉斯算子调用+pytorch中构建cnn+复现经典模型(LeNet5+AlexNet)
- virtualBox虚拟机之间网络互通设置
- 图形驱动程序和显卡驱动什么区别_鸡血驱动已发布,可新买的显卡打不上驱动?这事儿别急...
- signal(SIGCHLD, SIG_IGN)
- 麦克斯韦方程组在电力传动领域的应用(1)
热门文章
- 国标视频融合监控汇聚云平台的方案实现及场景应用
- Mstar的Monitor方案OSD 菜单制作(一)————开篇
- Golang: 获取mp3歌曲文件时长
- Reentlock实现原理摘记
- 靠播放量tiktok赚钱,tiktok播放量可以赚钱吗?
- git merge origin master和git merge origin/master的区别
- MySql基础知识总结(SQL优化篇)
- Microsoft Windows Laptop ASUS 华硕笔记本电脑屏幕忽明忽暗问题可能解决方案
- 【LeetCode-SQL每日一练】——2. 第二高的薪水
- Java实现接口防篡改