没有合适的资源?快使用搜索试试~ 我知道了~
音频文件导入matlab.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 80 浏览量
2021-09-14
20:16:31
上传
评论
收藏 14KB DOCX 举报
温馨提示
试读
2页
。。。
资源推荐
资源详情
资源评论
这个问题问的好!
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;
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);
资源评论
苦茶子12138
- 粉丝: 1w+
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- update9-20240601.5.205.slice.img.7z.002
- 微信小程序优惠券页面前端模板源码
- 林子雨编著《Spark编程基础(Python版)》 实验7 Spark机器学习库MLib编程实践数据
- 一种支持微信文本限制长度限制使用的,在合适的位置截取限制字节长度的字符串子串的java算法
- MoonPdfLib中解析PDF的库
- 学习Spring-使用Typora进行整理小白可以自学,有什么问题dd我
- update9-20240601.5.205.slice.img.7z.001.pd
- 2030.5 CSIP通信报文参考
- CSIP test程序解读
- POElight流放之路特效优化
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功