当前位置:首页 > > FPGA开源工作室

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)%写出新的音频文件

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭