十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了Matlab怎么处理音频信号,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沈丘网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Matlab音频信号的基本处理与分析
1 音频信号的读取与时域分析
close all clear all clc %读取音频文件 info =audioinfo('sample_orig.mp3');%获取音频文件的信息 [audio,Fs] = audioread('sample_orig.mp3');%读取音频文件 sound(audio,Fs);%播放音频文件 audiolength = length(audio);%获取音频文件的数据长度 t = 1:1:audiolength; figure(1), plot(t,audio(1:audiolength)); xlabel('Time'); ylabel('Audio Signal'); title('原始音频文件信号幅度图');
其中info为此音频的详细信息包括数据位宽,采样率等。
2 音频的频域分析
%音频的频域 y =fft(audio); y=20*log(abs(y))/log(10); %换算成dBW单位 f=[0:(Fs/audiolength):Fs/2]; %转换横坐标以Hz为单位 y=y(1:length(f)); figure(2), plot(f,y); xlabel('频率(Hz)','fontsize',8,'position',[180,-34.38,0]); ylabel('功率(dBW)'); title('原始音频文件信号频谱图');legend('Audio');
由此可见此音频的主要频率集中在低频段。
3 音频的叠加与写出
%音频信号的叠加 [audio1,Fs1] = audioread('test.wav');%读取音频文件 audio2 = audio1(1:audiolength); audio3 = audio2+0.1*audio; sound(audio3,Fs);%播放音频文件 audiowrite('test1.wav',audio3,Fs)%写出新的音频文件
4 音频信号的拼接
%音频信号的拼接 audio4 = [audio;audio1]; sound(audio4,Fs);%播放音频文件 audiowrite('test2.wav',audio3,Fs)%写出新的音频文件