前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Matlab音频信号的基本处理与分析

Matlab音频信号的基本处理与分析

作者头像
FPGA开源工作室
发布2019-11-19 15:52:35
2.6K0
发布2019-11-19 15:52:35
举报
文章被收录于专栏:FPGA开源工作室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)%写出新的音频文件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档