%

% 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,语音信号频谱扩展相关推荐

  1. 《MATLAB语音信号分析与合成(第二版)》:第4章 语音信号的线性预测分析

    <MATLAB语音信号分析与合成(第二版)>:第4章 语音信号的线性预测分析 前言 1. 数据与函数路径设置 2. MATLAB仿真一:LPC的频谱分析 3. MATLAB仿真二:普通预测 ...

  2. 《MATLAB语音信号分析与合成(第二版)》:第7章 语音信号的减噪

    <MATLAB语音信号分析与合成(第二版)>:第7章 语音信号的减噪 前言 1. 数据与函数路径设置 2. MATLAB仿真一:自适应滤波器LMS滤波减噪一 3. MATLAB仿真二:自适 ...

  3. 《MATLAB语音信号分析与合成(第二版)》:第10章 语音信号的合成算法

    <MATLAB语音信号分析与合成(第二版)>:第10章 语音信号的合成算法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:重叠相加法语音合成 3. MATLAB仿真二:重叠存储 ...

  4. 《MATLAB语音信号分析与合成(第二版)》:第3章 语音信号在其他变换域中的分析技术和特性

    <MATLAB语音信号分析与合成(第二版)>:第3章 语音信号在其他变换域中的分析技术和特性 前言 1. 数据与函数路径设置 2. MATLAB仿真一:信号倒谱图.声道冲激响频谱.声门激励 ...

  5. matlab编写信号采集程序,MATLAB语音信号采集课程设计

    MATLAB语音信号采集课程设计 数字信号处理 课程设计报告 课设题目:语音信号的采集与处理 学 院:信息科学与工程学院 专 业:电子信息工程 班 级:电子0903 姓 名: 学 号: 指导教师:张海 ...

  6. Matlab语音信号去噪程序,使用低通巴特沃斯滤波器

    Matlab语音信号去噪程序,使用低通巴特沃斯滤波器. 1.读取一段歌曲的信号,绘制时域频域图,并播放. 2.添加正弦噪声: 3.设计巴特沃斯低通滤波器: 4.使用滤波器去除噪声,并画出时域频域图,播 ...

  7. 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法

    <MATLAB语音信号分析与合成(第二版)>:第8章 基音周期的估算方法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:基音周期提取的预处理 3. MATLAB仿真二:倒谱法的 ...

  8. matlab画信号频谱

    为了让大学生活充实一点,多学点东西,我选修了<数字信号处理>.现在充实得不要不要的. clc close all clear%=========参数设置=========% Fs = 10 ...

  9. matlab语音信号的变速_十种客观评价语音质量的方法

    语音客观评价标准一般分为语音质量评价和语音可懂度评价,这里先介绍语音质量评价.提起语音质量评价,大家第一个想到的肯定是信噪比这个十分常用的评价标准以及它的相关衍生标准,这里总结一些常用的语音质量评价标 ...

最新文章

  1. python画图代码七彩蟒蛇-Python实现七彩蟒蛇绘制实例代码
  2. python映射类型包括哪三种_python新手入门必备——映射类型相关函数
  3. php封装公共方法,TP框架下封装公共函数详解
  4. 哪个读书app可以导入txt_QQ阅读iphone版怎么导入电子书 三种手机QQ阅读器导入本地图书图文教程...
  5. 文字滚动的另一方法 拆分文字来做到文字滚动
  6. python小城市创业好项目_小城市创业好项目有哪些?
  7. java 与 区别
  8. 美团创始人王兴说过,创业是一场九死一生的坚持
  9. linux suid 脚本,Linux使用suid vim.basic文件实现提权
  10. 服务器端可控情形的Javascript跨域访问解决方法
  11. SQL Server 连接查询(多表连接查询)
  12. myeclipse中配置maven
  13. PageOffice--实现用户自定义Word模板
  14. 《知行合一 王阳明》读书笔记
  15. ROG手机张舜翔:把游戏体验感当成游戏手机的重要支柱
  16. 网易换肤第一篇:换肤技术解密!
  17. 【Visual C++】游戏开发笔记四十 浅墨DirectX教程之八 绘制真实质感的三维世界 光照与材质专场
  18. 文字折叠特效 html+css
  19. 简单的led驱动 了解下
  20. vscode中检查单词是否拼写错误的插件

热门文章

  1. 丘成桐现身合肥分享发现数学之美 点赞中国科大年轻学子
  2. 90后副教授一作发Science,刷新该校历史
  3. 到达什么水平才能算是学会了数学?
  4. 85后博士不到一年发10篇顶刊!共发SCI50多篇
  5. 深度学习-词嵌入(word2vec)
  6. 基于corundumstudio建立websocket长连接
  7. java 中断代码_你的java代码可中断吗?(2)
  8. 【使用注意】特殊中括号[]的特殊json数组
  9. strchr与strstr函数
  10. 龙蜥利器:系统运维工具 SysAK的云上应用性能诊断 | 龙蜥技术