目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

共振峰轨迹的自动跟踪算法,其特点是不借助于其它的信息来源,仅仅是基于语谱图信息,来确定语谱图上前四个共振峰频率的位置和它们关于时间轴的轨迹.算法由三个层面构成;第一层面是进行频率分布的分析,以决定一个最佳的共振峰搜索起始位置;第二层面是采用双搜索算法,来跟踪随时间变化的共振峰轨迹;第三层面是解决某些冲突现象.

在语音声学中,人声也同样受自身生理如鼻孔、咽腔、口腔大小的影响有自身的共振峰区。通过利用这些共鸣空间的形状和大小不同的变化(例如改变咽喉、嘴形),我们就能改变声音的共振峰。我们之所以能够区分不同的人声、元音,主要也是依靠它们的共振峰分布的位置。

共振峰反映了声道谐振特性的重要特点,它代表了发音信息的最直接的来源。改变共振峰可以产生所有的原音和某些辅音,在共振峰中也包含辅音的重要信息。人在语音感知中也利用了共振峰信息,所以共振峰已经广泛应用于语音识别的主要特征和语音编码传输的基本信息。

一个语音的共振峰模型,只用前三个时变共振峰频率就可以得到可懂度很好的合成浊音。共振峰信息包含在语音信号的频谱包络中,谱包络的峰值基本对应于共振峰频率,因此一切共振峰估计都是直接或间接地从频谱包络进行考察,关键是估计语音频谱包络。语音信号共振峰的估计,在语音信号合成、语音信号自动识别和低比特率语音信号传输等方面都起着重要作用。
       语音信号从整体来看其特征及表征其本质特征的参数均是随时间而变化的,所以它是个非平稳态过程,不能用处理平稳信号的数字信号处理技术进行分析处理。但是在一个短的时间范围内(一般认为在10~30ms的短时间内),语音信号的特性基本保持相对稳定,因而可以将其看作一个准稳态过程,即语音信号具有短时平稳性。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序

function [fmap,pt2] = ftrack(y,fs)bDisplay = 1;Fsamps = 256; % sampling resolution in frequency dimension
Tsamps = round(length(y)/18000*256); % sampling resolution in time dimensiontmp_img1 = zeros(Fsamps,Tsamps);
ct = 0;numiter = 8; % number of iterations to run. seemed like a good numberfor i=2.^(8-8*exp(-linspace(1.5,10,numiter)/1.4)), % Determine the time-frequency distribution at the current fix(length(y)/round(i))round(i)[tmp_img1,ft1,pt1] = lpcsgram(y,fix(length(y)/round(i)),round(i),fs);% Get the dimensions of the output time-frequency image[M,N] = size(tmp_img1);% Create a grid of the final resolution[xi,yi] = meshgrid(linspace(1,N,Tsamps),linspace(1,M,Fsamps));% Interpolate returned TF image to final resolutiontmp_img2 = interp2(tmp_img1,xi,yi);ct = ct+1;% Interpolate formant tracks and pitch trackspt2(:,ct) = interp1([1:length(pt1)]',pt1(:),linspace(1,length(pt1),Tsamps)');ft2(:,:,ct) = interp1(linspace(1,length(y),fix(length(y)/round(i)))',Fsamps*ft1',linspace(1,length(y),Tsamps)')';% Normalizetmp_img3(:,:,ct) = tmp_img2/max(tmp_img2(:));if bDisplay,subplot(221);imagesc(tmp_img1);axis xy;subplot(222);imagesc(tmp_img2);axis xy;subplot(223);imagesc(squeeze(mean(tmp_img3,3)));axis xy;drawnow;end;
end% Determine mean tfr image and formant track
tmp_img4 = squeeze(mean(tmp_img3,3));    % tfr
ft3 = squeeze(nanmean(permute(ft2,[3 2 1]))); % if bDisplay,subplot(224);imagesc(tmp_img4);axis xy;hold on;plot(ft3,'y');
end;% convert fmnts to image
tmap = repmat([1:Tsamps]',1,3);
idx = find(~isnan(sum(ft3,2)));
fmap = ft3(idx,:);
tmap = tmap(idx,:);
% filter formant tracks to remove noise
[b,a] = butter(9,0.1);
fmap = round(filtfilt(b,a,fmap));
pt3 = nanmean(pt2');
pt3 = (pt3-nanmin(pt3))/(nanmax(pt3)-nanmin(pt3));% Rescaling is done after display code
if bDisplay,imap = zeros(Fsamps,Tsamps);ind = sub2ind(size(imap),fmap(:),tmap(:));imap(ind) = 1;tpts = tmap(:,1);figure;subplot(221);imagesc(imap);axis xy;hold on;plot(tpts,fmap(:,1),tpts,fmap(:,2),tpts,fmap(:,3));idx = [1:5]';plot(tpts(idx),fmap(idx,1),'.-',tpts(idx),fmap(idx,2),'.-',tpts(idx),fmap(idx,3),'.-');subplot(222);% Create a wider formant trackanisomask = anisodiff(imap,6,50,0.01,1);imagesc(anisomask>0);axis xy;hold on;plot(tpts,fmap(:,1),tpts,fmap(:,2),tpts,fmap(:,3));idx = [1:5]';plot(tpts(idx),fmap(idx,1),'.-',tpts(idx),fmap(idx,2),'.-',tpts(idx),fmap(idx,3),'.-');subplot(223);imagesc(tmp_img4);axis xy;hold on;plot(tpts,fmap(:,1),'r',tpts,fmap(:,2),'r',tpts,fmap(:,3),'r');idx = [1:5]';plot(tpts(idx),fmap(idx,1),'.-',tpts(idx),fmap(idx,2),'.-',tpts(idx),fmap(idx,3),'.-');subplot(224);imagesc(tmp_img4.*(anisomask>0));axis xy;hold on;plot(tpts,fmap(:,1),'r-',tpts,fmap(:,2),'r-',tpts,fmap(:,3),'r-');
%    idx = [1:5]';
%    plot(tpts(idx),fmap(idx,1),'.-',tpts(idx),fmap(idx,2),'.-',tpts(idx),fmap(idx,3),'.-');plot(256*pt3,'y.-');
end;% Rescale to Actual Formants and take the mean of pitch tracks
fmap = (fs/2)*(fmap/256);
pt2 = nanmean(pt2');
A112

4.完整MATLAB

V

基于平均不同分辨率的共振峰跟踪算法matlab仿真相关推荐

  1. m基于VDLL的矢量型GPS信号跟踪算法matlab仿真

    目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 载波跟踪环是传统独立式GPS接收机最脆弱的环节,针对弱信号环境下其比伪码跟踪环路更容易失锁的 ...

  2. 基于Frangi滤波的视网膜静脉血管检测算法matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 随着图像数字化处理的快速发展,医学图像处理越来越受到人们的广泛关注.研究表明,人体许多全身性疾病都与眼底血管的异常有着密切的联 ...

  3. 基于Gabor滤波器的指纹图像增强处理算法matlab仿真

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 Gabor 变换是一种加窗短时 Fourier 变换(简单理解起来就是在特定时间窗内做 Fourier 变换),是短时 Fou ...

  4. 视频目标跟踪算法matlab仿真,对比二帧差法,三帧差法,混合高斯法以及Vibe算法

    目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 1.1二帧差法 帧间差分法是一种通过对视频图像序列的连续两帧图像做差分运算获取运动目标轮廓的方法.当监控场景中出现异常目标运动 ...

  5. 基于预留子载波的PAPR抑制算法matlab仿真

    目录 1.算法概述 2.仿真效果 3.matlab仿真源码 1.算法概述 峰值平均功率比(PAPR-Peak to Average Power Ratio),简称峰均比(PAPR).MIMO-OFDM ...

  6. 基于混合高斯模型与帧差法结合的目标跟踪算法matlab仿真

    目录 一.理论基础 二.核心程序 三.仿真测试结果 一.理论基础 目标检测:混合高斯模型与帧差法结合的算法,与单独的混合高斯模型算法作对比,体现前者的优越性 3.要求和结果:对比改进前后的算法,可以非 ...

  7. 基于多领导者智能体的Olfati算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人们通过群体行为的研究可以揭示群体智能的产生,群体智能是自组织的过程,将简单的个体通过交互作用或协作 ...

  8. m基于ESN+BP神经网络的数据预测算法matlab仿真,测试数据为太阳黑子变化数据

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在人工神经网络的发展历史上,感知机(Multilayer Perceptron,MLP)网络曾对人工 ...

  9. 基于能量检测的调制方式识别算法MATLAB仿真,识别不同SNR下的MFSK和MPSK

    UP目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 随着无线通信的快速发展,用户对通信质量的要求越来越高,同时无线设备的大幅度增长,使得频谱资源显得更加重要.认知无线电(Cognitiv ...

最新文章

  1. JavaScript的使用
  2. 中国联通:基于SOC的MSS实践
  3. 二叉树的序列化和反序列化
  4. 一个设计反模式——究竟什么是轮子理论
  5. 4周,从入门小白到爬虫老炮儿,薪资水平超过60% IT新手!
  6. 【Mybatis】resultMap继承
  7. 以前的某个程序安装计算机上创建挂起_教研拓进王立辉老师计算机专业教学心得...
  8. html头部中各式各样的meta
  9. 用“归并”改进“快速排序”
  10. JAVA 生成API接口文档
  11. 人工智能——微粒群优化算法
  12. JavaScript和TypeScript学习总结
  13. 回顾2022! 链上NFT精彩项目大盘点
  14. linux上配置zabbix并设置企业微信,机器人以及自主告警
  15. Servlet转发和重定向的异同
  16. centos7盘符 linux_linux操作系统centos7新加磁盘分区详解
  17. 设置cookies过期时间的几种方法(cookies随浏览器关闭而失效的方法)
  18. git push nothing to commit, working tree clean
  19. 基于Xilinx Virtex-6 XC6VLX240T 和TI DSP TMS320C6678的信号处理板
  20. 多网盘 下载 管理工具 FreeRapid,gpl 开源软件,国外网盘

热门文章

  1. mysql删除数据对索引的影响_mysql中索引可以删除吗?
  2. mysql删除表后清空索引_MySQL删除语句比较,清空表数据,重置自增长索引
  3. 性能指标TP50、TP90、TP99、TP999解读和学习
  4. 群体遗传 | haplotype block | HaploBlocker使用
  5. Haplotype-aware genotyping from noisy long reads 单倍型识别的基因分型来自嘈杂的长读
  6. 惠普台式机重装系统教程 过程记录
  7. 【Linux】查看文件行数、字数
  8. Motoman机器人离线编程——Motocom32参考文献及注意事项
  9. 计算机微机原理与接口技术课程设计课题,微机原理与接口技术课程设计报告
  10. linux缓存无法写入,缓存文件写入失败_Linux下搭建网站提示缓存文件写入失败怎么办...