【语音编辑】基于matlab语音编辑【含Matlab源码 539期】

94 阅读1分钟

一、简介

基于matlab语音编辑

二、源代码


clc
clear all
[x,fs1]=wavread('C2_2_y.wav');
s1=1:length(x);
t1=s1/fs1;
xmax=max(abs(x));
x=x/xmax;

figure(1)
subplot(311)
plot(t1,x);
xlabel('时间/s');
ylabel('归一化幅值');
title('(a)原始信号');

p=2;q=1;
x1=resample(x,p,q);
x1max=max(abs(x1));
x1=x1/x1max;
fa=fs1*p/q;
ta=(1:length(x1))/fa;
subplot(312);
plot(ta,x1);
xlabel('时间/s');
ylabel('归一化幅值');
title('(b)2倍采样率');

p=1;q=2;
x2=resample(x,p,q);
x2max=max(abs(x2));
x2=x2/x2max;
fb=fs1*p/q;
tb=(1:length(x2))/fb;
subplot(313);
plot(tb,x2);
 ;
 s=1:length(x);
t=s/fs;
xmax=max(abs(x));
x=x/xmax;        %归一化
y=randn(size(x));%产生同x相同长度的随机序列
ymax=max(abs(y));
y=y/ymax;
z=x+y;
zmax=max(abs(z));
z=z/zmax;
figure(1)
subplot(311)
plot(t,x);
xlabel('时间/s');
ylabel('归一化幅值');
title('(a)原始信号');
subplot(312)
plot(t,y);
xlabel('时间/s');
ylabel('归一化幅值');
title('(b)随机序列');
z=z/zmax;
t2=(1:length(z))/fs;
figure(1)
subplot(311)
plot(t,x);
xlabel('时间/s');
ylabel('归一化幅值');
title('(a)原始信号');
subplot(312)
plot(t,y);
xlabel('时间/s');
ylabel('归一化幅值');
title('(b)随机序列');
subplot(313)
plot(t2,z);

三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、备注

版本:2014a