matlab语音处理教程,Matlab声音处理教程 / 声音处理 / 声音处理教程 / 声音处理软件...
Matlab声音处理教程 / 声音处理 / 声音处理教程
1)用mp3录音,生成文件cricket.wav,把该文件放到matlab文件夹里面(就是你打开matlab后中间顶部的地址)。
2)使用如下程序,做波形显示以及fft变换。
[y,Fs,bits]=wavread('cricket.wav');%读出信号,采样率和采样位数。
y=y(:,1);%我这里假设你的声音是双声道,我只取单声道作分析,如果你想分析另外一个声道,请改成y=y(:,2)
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;%
conj函数,用于求一个复数的复共轭halflength=floor(sigLength/2); % 根据模板大小确定要扩展的边界f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
figure;plot(t,y);xlabel('Time(s)');
3)频率看频谱就有了,声音间隔看声音波形,周期看声音波形。
4)关于去噪声。
a)如果噪声是特定频率的周期噪声(periodic noise),比如说50hz,那么你可以用matlab的filter,作一个低通、高通、带通或者带阻滤波。 b)如果声音是高斯白噪声。那就用自适应滤波(adaptive filter,wiener
filter)。这里涉及到对噪声的采样、计算特征值以及决定阶数的问题。 c)幸好我们可以“耍赖”——用cool
editor。用它打开wav文件,用鼠标把一段噪声圈起来,采样,然后直接选择去噪就可以了。各大网站有介绍。
例子:matlab去除50hz噪声。 我用电脑录了一段声音,里面有50hz的周期噪声(因为受交流电干扰)。而我自己的声音频率最低是90hz。我使用了一个10阶butterworth高通滤波器,边带是70hz(介于50跟90之间)。
问题是,这不能直接用。因为声音文件的采样率是22k,70相对于22k来说太小了。所以我得先把我的声音欠采样,然后再滤波,然后再插值。程序如下。
[k,Fs,bits]=wavread('mywav.wav');
k=k(:,1);
y_temp=k(1:90000);
dfactor=3;
y=decimate(y_temp,dfactor);
[b,a] = butter(10,70/(Fs/(dfactor*2)),'high');
y=filter(b,a,y);
y=interp(y,dfactor);
sigLength=length(y);
Y = fft(y,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
sigLength=length(y_temp);
Y = fft(y_temp,sigLength);
Pyy = Y.* conj(Y) / sigLength;
halflength=floor(sigLength/2);
f=Fs*(0:halflength)/sigLength;
figure;plot(f,Pyy(1:halflength+1));xlabel('Frequency(Hz)');
t=(0:sigLength-1)/Fs;
figure;plot(t,y,t,y_temp);xlabel('Time(s)');
wavplay(y,Fs);
wavplay(y_temp,Fs);
5)回放:使用wavplay函数
wavplay(y,Fs);
matlab语音处理教程,Matlab声音处理教程 / 声音处理 / 声音处理教程 / 声音处理软件...相关推荐
- 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】
一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...
- 检查计算机的更新红叉,快速解决win10更新后没有声音小喇叭有个红叉解决教程...
大家在操作电脑时一定会遇到很多问题,比如说win10更新后没有声音小喇叭有个红叉解决教程就是我们经常会遇到的,小编及身边的朋友也遇到过win10更新后没有声音小喇叭有个红叉解决教程很多次,针对win1 ...
- java数字音频最强教程之如何检测一段音频中是否有声音
声音检测 随着人工智能的发展,机器视觉,机器可视化也变的越来越完善,但是声音这块分析资料却比较少,有时候需要去检测一段视频或者音频中是否有声音.在某些场景中需要判断有声音则抓拍录制,当然这里只是先初步 ...
- matlab输入多项式 教程,MATLAB多项式 - Matlab教程
MATLAB多项式 - Matlab教程 MATLAB指多项式行向量系数降幂排序.例如,方程 P(x) = x4 + 7x3 - 5x + 9 可以表示为: p = [1 7 0 -5 9]; 计算多 ...
- 录屏有声音吗?电脑如何录屏有声音?图文教程来了!
无论是学习.办公还是娱乐,都需要屏幕录制.许多人在录制视频后发现视频没有发出声音.录屏有声音吗?电脑如何录屏有声音?一个相对简单的方法是在使用电脑的屏幕录制功能时检查是否打开录制屏幕的声音.此外,如果 ...
- Mac基础操作教程:Mac电脑如何在录屏时录入声音?
我们经常因为工作需要而对Mac电脑进行录屏操作,但有些新手用户录屏后发现,屏幕里没有声音,这是因为你没有打开麦克风,下面分享Mac电脑在录屏时录入声音教程. 1.点击"启动台", ...
- matlab 乐器波形,matlab乐器声音特征提取(matlab中心提取)
什么乐器的声音是滋滋的明 可以给些详细的命令吗?比如怎么调入一个 声音 文件用什么命令?要分析它的 咕咚咕咚是什么乐器的声音用何种软件,怎样完美 提取 出笛子的 声音 ? 古代声音悲凉的乐器你的信号序 ...
- matlab中文论坛视频谷普教程MATLAB压缩包介绍
matlab中文论坛视频谷普教程MATLAB压缩包介绍 我也正在学习这个软件 ,看到这个教程就在这里分享了,希望大家喜欢! Matlab 初学者视频教学 1. Matlab视频:Matlab中文论坛为 ...
- 在matlab中画多个图,Matlab在一个图形窗口里画多个图形的详细教程
原创Matlab在一个图形窗口里画多个图形的详细教程 编辑:佚名 来源:PC下载网时间:2019-11-18 13:35:08 对于Matlab软件各位应该还有不懂的地方,比如说想在一个图形窗口里画多 ...
最新文章
- 【翻译】Ext JS 6 Beta发布
- Homebrew 1.9发布,将支持Linux与Windows 10
- RPC简介,及与web service的对比
- 俄罗斯网络安全治理及其启示
- golang 关于golang.org/x包问题
- dojo Quick Start/dojo入门手册--dojo.hitch scope/context
- Fashion-MNIST数据集离线加载办法
- Python3.2+ 的 concurrent.futures 模块,利用 multiprocessing 实现高并发。
- 计算机应用技术高数挂科,这7个专业难度太大,挂科率很高,只有学神才敢报考...
- Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding
- 基于Qt的局域网即时通讯软件
- c语言fabs函数的返回值,fabs()函数
- Raspberry Pi3驱动Oled ssh1106屏
- 招银网络 Java后端面经
- Python使用tkinter库制作带有Laber标签、Entry文本框、Progressbar进度条、text日志框等元素的GUI操作界面
- 刚刚,北大智能学院成立!AI视觉泰斗朱松纯教授任院长
- 处理 web 程序的输入与输出
- rewind java_Java IntBuffer rewind()用法及代码示例
- zke电池测试 软件,EBC-X系列电池测试仪使用说明.pdf
- 广播发射系统的安装调试维护——TFN T300F天馈线驻波比测试仪手持矢量网络分析仪