matlab读取wav音频文件_Matlab音频信号的基本处理与分析

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第1张图片

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('原始音频文件信号幅度图');

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第2张图片

其中info为此音频的详细信息包括数据位宽,采样率等。

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第3张图片

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');

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第4张图片

由此可见此音频的主要频率集中在低频段。

3 音频的叠加与写出

%音频信号的叠加

[audio1,Fs1] = audioread('test.wav');%读取音频文件
 
audio2 = audio1(1:audiolength);
audio3 = audio2+0.1*audio;
sound(audio3,Fs);%播放音频文件
audiowrite('test1.wav',audio3,Fs)%写出新的音频文件

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第5张图片

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第6张图片

4 音频信号的拼接

%音频信号的拼接
audio4  = [audio;audio1];
sound(audio4,Fs);%播放音频文件
audiowrite('test2.wav',audio3,Fs)%写出新的音频文件

matlab读取wav音频文件_Matlab音频信号的基本处理与分析_第7张图片

你可能感兴趣的:(matlab读取wav音频文件)