【语音处理】基于matlab语音信号的预处理【含Matlab源码 364期】

一、简介

语音信号预处理程序:消除线性趋势项、数字滤波器设计、预加重功能测试。

二、源代码

clear all; clc; close all;
[x,fs,nbit]=wavread('C2_5_y_1.wav');     % 读入语音文件
len=length(x);
n=0.5:0.3/(len-1):0.8;                      %设置线性曲线
x=x+n';                                         %叠加线性趋势线
t=(0:length(x)-1)/fs;                       % 设置时间
y=detrend(x);                               % 消除线性趋势项
y=y/max(abs(y));                          % 幅值归一化
subplot 211; plot(t,x,'k');               % 画出带有趋势项的语音信号x
title('带趋势项的语音信号');
xlabel('时间/s'); ylabel('幅值');
subplot 212; plot(t,y,'k');               % 画出消除趋势项的语音信号y
xlabel('时间/s'); ylabel('幅值');
title('消除趋势项的语音信号');

%消除多项式趋势项
clear all; clc; 
[x,fs,nbit]=wavread('C2_5_y_1.wav');         % 读入C2_5_y_1.wav文件
len=length(x);
n=0:1/(len-1):1;
nn=n.^2-0.5;
x=x+nn';
[y,xtrend]=detrendN(x, fs, 2);          % 调用detrendN消除趋势项
t=(0:length(x)-1)/fs;                        % 设置时间
figure
subplot 211; plot(t,x,'k');                 % 画出带有趋势项的语音信号x
line(t,xtrend,'color','r','linewidth',2); % 画出趋势项曲线
ylim([-1.5 1]);
clc
clear all
fs=8000;
%把截止频率转成弧度表示
wp=550*2/fs;
ws=500*2/fs;        
rp=3;
rs=80;
Nn=512;
clc
clear all
close all
[s,fs]=wavread('C2_5_y_3.wav');
e=s(2000:2225);                                 %提取一段进行分析,容易看出变化
un=filter([1,-0.95],1,e);                       %预加重信号b=[1,-0.95];

%原始信号频谱
N=512;
pinlv=(0:1:N/2-1)*fs/N;
x=fft(e,N);
r1=abs(x);
t1=20*log10(r1);
signal=t1(1:N/2);

%预加重信号频谱
[h1,w1]=freqz([1,-0.95],1,256,fs);
pha=angle(h1);
H1=abs(h1);
r2=r1(1:N/2);
u=r2.*h1;
u2=abs(u);
signalPre=20*log10(u2);

三、运行结果

【语音处理】基于matlab语音信号的预处理【含Matlab源码 364期】_第1张图片
【语音处理】基于matlab语音信号的预处理【含Matlab源码 364期】_第2张图片
【语音处理】基于matlab语音信号的预处理【含Matlab源码 364期】_第3张图片
【语音处理】基于matlab语音信号的预处理【含Matlab源码 364期】_第4张图片

四、备注

完整代码或者代写添加QQ 1564658423
往期回顾>>>>>>
【信号处理】基于matlab HMM的睡眠状态检测【含Matlab源码 050期】
【信号处理】基于matlab CDR噪声和混响抑制【含Matlab源码 051期】
【信号处理】基于matlab最小二乘法解决稀疏信号恢复问题【含Matlab源码 052期】
【信号处理】基于matlab小波变换的音频水印嵌入提取【含Matlab源码 053期】
【信号处理】基于matlab ICA算法信号分离【含Matlab源码 054期】
【信号处理】基于matlab GUI界面的脉搏信号之脉率存档【含Matlab源码 237期】
【信号处理】基于matlab GUI界面的虚拟信号发生器(各种波形)【含Matlab源码 271期】
【信号处理】基于matlab GUI界面信号发生器之电子琴【含Matlab源码 272期】
【信号处理】基于matlab的数字电子琴设计与实现【含Matlab源码 273期】
【雷达通信】基于matlab的雷达数字信号处理【含Matlab源码 281期】
【雷达通信】基于matlab线性调频(LFM)脉冲压缩雷达仿真【含Matlab源码 283期】
【雷达通信】基于mtatlab距离多普勒(RD)、CS、RM算法的机载雷达成像【含Matlab源码 284期】
【雷达通信】《现代雷达系统分析与设计》大作业【含Matlab源码 285期】
【信号处理】基于matlab GUI语音信号综合处理平台【含Matlab源码 290期】
【信号处理】基于matlab GUI语音信号采集【含Matlab源码 291期】
【信号处理】基于matlab GUI语音幅度调制【含Matlab源码 292期】
【信号处理】基于matlab GUI语音合成【含Matlab源码 293期】
【信号处理】基于matlab GUI语音基频识别【含Matlab源码 294期】
【信号处理】基于matlab GUI语音信号加密解密【含Matlab源码 295期】
【信号处理】基于matlab小波变换的语音增强【含Matlab源码 296期】
【信号处理】基于matlab GUI语音傅立叶变换降噪混频【含Matlab源码 297期】
【信号处理】基于matlab GUI维纳滤波之语音增强【含Matlab源码 298期】
【音频处理】基于matlab GUI语音信号处理2【含Matlab源码 299期】
【雷达通信】基于matlab GUI雷达定位【含Matlab源码 302期】
【雷达通信】基于matlab GUI雷达脉冲压缩【含Matlab源码 303期】
【雷达通信】基于matlab GUI雷达定位模拟【含Matlab源码 304期】
【雷达通信】基于matlab SVM识别雷达数据【含Matlab源码 305期】
【雷达图像】SAR合成孔径雷达成像及处理【含Matlab源码 307期】
【信息处理】基于GUI数字波束的算法库【含Matlab源码 313期】
【通信】基于matlab的OFDM-MIMO通信建模与仿真【含Matlab源码 314期】
【通信】基于matlab的OFDM仿真【含Matlab源码 315期】
【信号处理】基于matlab窗函数法的FIR数字滤波器设计【含Matlab源码 316期】
【通信】基于matlab FIR低通数字滤波器设计【含Matlab源码 323期】
【通信】基于matlab FIR IIR数字滤波器设计【含Matlab源码 324期】
【信号处理】基于matlab的语音信号频谱分析仪【含Matlab源码 325期】
【调制信号】基于matlab GUI数字调制信号仿真【含Matlab源码 336期】
【通信】基于matlab的扩频通信系统设计【含Matlab源码 337期】
【通信】基于matlab多径衰落信道的仿真【含Matlab源码 338期】
【语音识别】基于matlab BP神经网络的语音情感识别【含Matlab源码 349期】
【信号处理】基于matlab音频水印嵌入与提取【含Matlab源码 350期】
【音频水印】基于matlab小波变换的量化音频数字水印【含Matlab源码 351期】
【语音去噪】基于matlab低通和自适应滤波去噪【含Matlab源码 352期】
【信号处理】基于matlab 8级m序列【含Matlab源码 353期】
【情感识别】基于matlab GUI语音情感分类识别【含Matlab源码 354期】
【信号处理】基于matlab FIR与IIR滤波器低通、高通、带通设计【含Matlab源码 360期】

你可能感兴趣的