MATLAB变声器程序
clear;clc;
[s,fs,] = audioread(‘61.m4a’); % 载入语音s
s(1:3000)=s(1:3000)+randn(3000,1)*eps;
s = s/max(s); %归一化
L = length(s); % 读入语音长度
figure(1);
subplot(211);plot(s);title(‘原始语音信号波形’)
subplot(212);plot(abs(s));title(‘原始语音信号频谱’)
sound(s,fs)
%定义常数
FL = 80; % 帧长
WL = 240; % 窗长
% P = 10; % 预测系数个数
FN = floor(L/FL)-2; % 计算帧数
% 预测和重建滤波器
exc = zeros(L,1); % 激励信号(预测误差)
zi_pre = [0;0;0;0;0;0;0;0;0;0]; % 预测滤波器的状态
s_rec = zeros(L,1); % 重建语音
zi_rec = [0;0;0;0;0;0;0;0;0;0];
%变调不变速滤波器
exc_syn_t = zeros(L,1); % 合成的激励信号(脉冲串)
s_syn_t = zeros(L,1); % 合成语音
last_syn_t = 0; %存储上一个(或多个)段的最后一个脉冲的下标
zi_syn_t = zeros(10,1); % 合成滤波器的状态
hw = hamming(WL); % 汉明窗
% 依次处理每帧语音
for n = 3:FN
s_w = s(nFL-WL+1:nFL).hw; %汉明窗加权后的语音
[A,E] = lpc(s_w,10); %用线性预测法计算P个预测系数
% A是预测系数,E会被用来计算合成激励的能量
s_f = s((n-1)FL+1:nFL); % 本帧语音,下面就要对它做处理
% (4) 用filter函数s_f计算激励,注意保持滤波器状态
[exc1,zi_pre] = filter(A,1,s_f,zi_pre);
exc((n-1)FL+1:nFL) = exc1; %计算得到的激励
% (5) 用filter函数和exc重建语音,注意保持滤波器状态
[s_rec1,zi_rec] = filter(1,A,exc1,zi_rec);
s_rec((n-1)FL+1:nFL) = s_rec1; %计算得到的重建语音
% 注意下面只有在得到exc后才会计算正确
s_Pitch = exc(nFL-222:nFL);
PT = findpitch(s_Pitch); % 计算基音周期PT
G = sqrt(EPT); % 计算合成激励的能量G
% (13) 将基音周期减小一半,将共振峰频率增加7000Hz,重新合成语音(男声变童声)
PT1 =floor(PT/2); %减小基音周期
poles = roots(A);
deltaOMG =0.0052pi/fs;
for p=1:10 %增加共振峰频率,实轴上方的极点逆时针转,下方顺时针转
if imag(poles§)>0 poles§ = poles§exp(1ideltaOMG);
elseif imag(poles§)<0 poles§ = poles§exp(-1ideltaOMG);
end
end
A1=poly(poles);
tempn_syn_t = [1:nFL-last_syn_t]’;
exc_syn1_t = zeros(length(tempn_syn_t),1);
exc_syn1_t(mod(tempn_syn_t,PT1)==0) = G; %某一段算出的脉冲
exc_syn1_t = exc_syn1_t((n-1)FL-last_syn_t+1:nFL-last_syn_t);
[s_syn1_t,zi_syn_t] = filter(1,A1,exc_syn1_t,zi_syn_t);
exc_syn_t((n-1)FL+1:nFL) = exc_syn1_t; %计算得到的合成激励
s_syn_t((n-1)FL+1:nFL) = s_syn1_t; %计算得到的合成语音
last_syn_t = last_syn_t+PT1floor((n*FL-last_syn_t)/PT1);
end
figure;
subpot(211),plot(exc_syn_t),xlabel(‘n(samples)’);ylabel(‘Amplitude’),title(‘合成高调激励信号’);
XLim([0,length(exc_syn_t)]);
subplot(212);plot(abs(s));title(‘合成高调语音信号频谱’);
XLim([0,length(exc_syn_t)]);
sound(s_syn_t);
[s,fs,] = audioread(‘61.m4a’); % 载入语音s
sound(s,0.5*fs);%改变播放频率声音好像也变了。
注:语音最好把开头没用的裁剪一下,要不然会出错。
MATLAB变声器程序相关推荐
- 【毕业设计系列】033:基于MATLAB语言的实时变声器系统【含Matlab源码】
Date:2022.5.5 文章目录 前言 1.算法原理 2.实现效果 2.1.男声变女声 2.2.女声变男声 2.3.男声变大叔声 3.部分matlab代码实现 前言 在大学毕业设计中,要求实现一个 ...
- 【毕业设计/Matlab系列】基于MATLAB语言的实时变声器系统
Date:2022.5.5 文章目录 前言 1.算法原理 2.实现效果 2.1.男声变女声 2.2.女声变男声 2.3.男声变大叔声 3.部分matlab代码实现 前言 在大学毕业设计中,要求实现一个 ...
- 语音变声器微信小程序源码下载支持多种音效
如标题所示这就是一款变声器小程序源码 程序支持多种音效生成, 另外支持本地音频文件上传变声 也支持直接录音变声 当然啦,也是支持在线试听的这样可以方便查看每一种效果 好了,不多说了下面来看看小编的测试 ...
- 小程序源码:语音变声器微信小程序-多玩法安装简单
如标题所示这就是一款变声器小程序源码 程序支持多种音效生成,如少女,鬼畜,恐怖,萝莉等等! 另外支持本地音频文件上传变声 也支持直接录音变声 最后支持观看激励视频保存音频文件 当然啦,也是支持在线试听 ...
- 语音变声器微信小程序源码_支持多种音效
简介: 如标题所示这就是一款变声器小程序源码 程序支持多种音效生成,如少女,鬼畜,恐怖,萝莉等等! 另外支持本地音频文件上传变声 也支持直接录音变声 最后支持观看激励视频保存音频文件 当然啦,也是支持 ...
- 2022最新语音变声器小程序源码+支持激励视频
正文: 2022最新语音变声器小程序源码+支持激励视频,如标题所示这就是一款变声器小程序源码. 程序支持多种音效生成,如少女音/鬼畜/恐怖/萝莉音效等等,另外支持本地音频文件上传变声,也支持直接录音变 ...
- 小程序源码:语音变声器支持多种音效与流量主
如标题所示这就是一款变声器小程序源码 程序支持多种音效生成,如少女,鬼畜,恐怖,萝莉等等! 另外支持本地音频文件上传变声 也支持直接录音变声 最后支持观看激励视频保存音频文件 当然啦,也是支持在线试听 ...
- 小哥哥你有98K吗?利用Python制作一款多功能变声器!
前言 好吧,关于这句小哥哥你有98K吗?出自别人口中经常说的玩笑话,我也略懂一些游戏嘛.不过不常玩,废话不多说,开始咱们今天的教程,非常简单! 利用Python制作一款多功能变声器! 咱们首先登陆百度 ...
- MORPHVOX PRO 变声器 软件 Crack
MORPHVOX PRO 变声器 变音的全新层次 在网上聊天和游戏中使你变音 它具有超高语音学习技术,背景取消和高音质特点,将变音带向全新层次. 上好的变音质量 聆听MorphVOX Pro上好的变音 ...
- NDK JNI 变声器实现
Android NDK 导入 C库的开发流程学习:通过使用fmod的C库,实现变声器功能. 导入库文件 1)复制fmod的C库到cpp目录下 2)复制fmod的so库到jniLibs目录下 3)复制f ...
最新文章
- PingCode 全年上线功能盘点
- ACL 2021 | 腾讯AI Lab、港中文杰出论文:用单语记忆实现高性能NMT
- PHP “Warning: session_start()...”、correct (..\..\php5\Temp) in Unknown on line 0 的解决方法...
- [原创]修改TFS本地文件映射路径,无法映射到相同文件夹问题。
- MySQL数据库:存储引擎
- 如何把一个PDF文件内的部分页码对应的内容导出成一个新的PDF文件
- XXXXX CodeForces - 1364A(思维)
- 实习一年算工作一年吗?_经过一年的努力,我如何找到软件工程工作
- python中main方法的用法_python __main__和__init__正确用法
- Kubernetes学习总结(17)—— Kubernetes 快速入门需要掌握的知识点总结
- 58 页 PPT 揭示图神经网络研究最新进展
- 通过 Powershell 来替换 ARM 模式下虚拟机的网络接口
- python打包exe与反编译exe文件与防止反编译方式生成exe
- HTML前端在线购书商城,基于HTML css的商城购物前端模板
- 【机器学习】数据处理详解
- 机器学习如何影响系统设计:Learned Index Structures浅析
- 黑群晖vmm专业版_折腾群晖笔记:利用VMM虚拟机 安装LEDE旁路由 实现软路由超强功能...
- 解决微信H5端用户注册登录
- 推荐你一款国产的倾斜摄影实景三维模型浏览器
- qt在4k屏幕上不能完整显示分辨率不到4K的应用程序