频谱扩展 matlab,语音信号频谱扩展
%
% pr10_3_1
clear all; clc; close all;
filedir=[]; % 设置路径
filename='colorcloud.wav'; % 设置文件名
fle=[filedir filename]; % 构成完整的路径和文件名
[x, fs, bits] = wavread(fle); % 读入数据文件
x=x-mean(x); % 消除直流分量
x=x/max(abs(x)); % 幅值归一
xl=length(x); % 数据长度
time=(0:xl-1)/fs; % 计算出时间刻度
p=12; % LPC的阶数为12
wlen=200; inc=80; % 帧长和帧移
msoverlap = wlen - inc; % 每帧重叠部分的长度
y=enframe(x,wlen,inc)'; % 分帧
fn=size(y,2); % 取帧数
% 语音分析:求每一帧的LPC系数和预测误差
for i=1 : fn
u=y(:,i); % 取来一帧
A=lpc(u,p); % LPC求得系数
aCoeff(:,i)=A; % 存放在aCoeff数组中
errSig = filter(A,1,u); % 计算预测误差序列
resid(:,i) = errSig; % 存放在resid数组中
end
%%%%%%%%%%%%%%%%%%%%%
%这个地方添加了程序
%对预测系数和预测误差进行上采样
aCoeff=upsample(aCoeff,2);
resid=upsample(resid,2);
%当采样率是8k的时,将参数进行修改,以扩展到16k
fn=size(aCoeff,2);
inc=inc*2;
wlen=wlen*2;
xl=xl*2;
fs=fs*2;
%%%%%%%%%%%%%%%%%%%%%
% 语音合成:求每一帧的合成语音叠接成连续语音信号
for i=1:fn
A = aCoeff(:,i); % 取得该帧的预测系数
residFrame = resid(:,i); % 取得该帧的预测误差
synFrame = filter(1, A', residFrame); % 预测误差激励,合成语音
outspeech((i-1)*inc+1:i*inc)=synFrame(1:inc); % 重叠存储法存放数据
% 如果是最后一帧,把inc后的数据补上
if i==fn
outspeech(fn*inc+1:(fn-1)*inc+wlen)=synFrame(inc+1:wlen);
end
end;
ol=length(outspeech);
if ol
outspeech=[outspeech zeros(1,xl-ol)];
end
% 发声
% wavplay(x,fs);
% pause(1)
wavplay(outspeech,fs);
wavwrite(outspeech,fs,'bandwidth_audio.wav');
% 作图
% subplot 211; plot(time,x,'k');
% xlabel(['时间/s' 10 '(a)']); ylabel('幅值'); ylim([-1 1.1]);
% title('原始语音信号')
% subplot 212; plot(time,outspeech,'k');
% xlabel(['时间/s' 10 '(b)']); ylabel('幅值'); ylim([-1 1.1]);
% title('合成的语音信号')
频谱扩展 matlab,语音信号频谱扩展相关推荐
- 《MATLAB语音信号分析与合成(第二版)》:第4章 语音信号的线性预测分析
<MATLAB语音信号分析与合成(第二版)>:第4章 语音信号的线性预测分析 前言 1. 数据与函数路径设置 2. MATLAB仿真一:LPC的频谱分析 3. MATLAB仿真二:普通预测 ...
- 《MATLAB语音信号分析与合成(第二版)》:第7章 语音信号的减噪
<MATLAB语音信号分析与合成(第二版)>:第7章 语音信号的减噪 前言 1. 数据与函数路径设置 2. MATLAB仿真一:自适应滤波器LMS滤波减噪一 3. MATLAB仿真二:自适 ...
- 《MATLAB语音信号分析与合成(第二版)》:第10章 语音信号的合成算法
<MATLAB语音信号分析与合成(第二版)>:第10章 语音信号的合成算法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:重叠相加法语音合成 3. MATLAB仿真二:重叠存储 ...
- 《MATLAB语音信号分析与合成(第二版)》:第3章 语音信号在其他变换域中的分析技术和特性
<MATLAB语音信号分析与合成(第二版)>:第3章 语音信号在其他变换域中的分析技术和特性 前言 1. 数据与函数路径设置 2. MATLAB仿真一:信号倒谱图.声道冲激响频谱.声门激励 ...
- matlab编写信号采集程序,MATLAB语音信号采集课程设计
MATLAB语音信号采集课程设计 数字信号处理 课程设计报告 课设题目:语音信号的采集与处理 学 院:信息科学与工程学院 专 业:电子信息工程 班 级:电子0903 姓 名: 学 号: 指导教师:张海 ...
- Matlab语音信号去噪程序,使用低通巴特沃斯滤波器
Matlab语音信号去噪程序,使用低通巴特沃斯滤波器. 1.读取一段歌曲的信号,绘制时域频域图,并播放. 2.添加正弦噪声: 3.设计巴特沃斯低通滤波器: 4.使用滤波器去除噪声,并画出时域频域图,播 ...
- 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法
<MATLAB语音信号分析与合成(第二版)>:第8章 基音周期的估算方法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:基音周期提取的预处理 3. MATLAB仿真二:倒谱法的 ...
- matlab画信号频谱
为了让大学生活充实一点,多学点东西,我选修了<数字信号处理>.现在充实得不要不要的. clc close all clear%=========参数设置=========% Fs = 10 ...
- matlab语音信号的变速_十种客观评价语音质量的方法
语音客观评价标准一般分为语音质量评价和语音可懂度评价,这里先介绍语音质量评价.提起语音质量评价,大家第一个想到的肯定是信噪比这个十分常用的评价标准以及它的相关衍生标准,这里总结一些常用的语音质量评价标 ...
最新文章
- python画图代码七彩蟒蛇-Python实现七彩蟒蛇绘制实例代码
- python映射类型包括哪三种_python新手入门必备——映射类型相关函数
- php封装公共方法,TP框架下封装公共函数详解
- 哪个读书app可以导入txt_QQ阅读iphone版怎么导入电子书 三种手机QQ阅读器导入本地图书图文教程...
- 文字滚动的另一方法 拆分文字来做到文字滚动
- python小城市创业好项目_小城市创业好项目有哪些?
- java 与 区别
- 美团创始人王兴说过,创业是一场九死一生的坚持
- linux suid 脚本,Linux使用suid vim.basic文件实现提权
- 服务器端可控情形的Javascript跨域访问解决方法
- SQL Server 连接查询(多表连接查询)
- myeclipse中配置maven
- PageOffice--实现用户自定义Word模板
- 《知行合一 王阳明》读书笔记
- ROG手机张舜翔:把游戏体验感当成游戏手机的重要支柱
- 网易换肤第一篇:换肤技术解密!
- 【Visual C++】游戏开发笔记四十 浅墨DirectX教程之八 绘制真实质感的三维世界 光照与材质专场
- 文字折叠特效 html+css
- 简单的led驱动 了解下
- vscode中检查单词是否拼写错误的插件