HMM模型的Levelbuilding 算法,求改正

编写用户帮助/操作手册指南 一个新系统,需要写用户操作手册,该从何下笔?本篇是一篇教你编写用户帮助/操作手册的指南~ 阅读详情


在论文“A Speaker-Independent, Syntax-Directed, Connected Word Recognition System Based on Hidden Markov Models and Level Building”中提到动态规划来解决HMM连接词识别问题,文中提到:


上面的一步已经实现,在第二层的动态规划中,有点迷惑了。。



详细的代码如下:

function [Pr,Br,Wr] = HMMlevelBuilding(hmms,O)
%LEVELBUILDING Summary of this function goes here
%   hmms:HMM模型集合
%   O:观测序列
% 返回值: Pr:最佳累积距离;Br:最佳累积距离对应的帧;Wr:最佳词序列

    T= size(O,1);	%语音帧数,观测序列长度
    K=length(hmms);%HMM模型个数
    L=7;  %最大层数,即词数
%At level l=1
%Initialization
      P=-inf(L,T,K);
      B=zeros(L,T,K);
      Pr=-inf(L,T);  %保存最优概率
      Br=zeros(L,T);
      Wr=zeros(L,T);
     delta=cell(1,K);
      fai=cell(1,K); %记录状态
      init=cell(1,K);
     trans=cell(1,K);
      %初始化
      for i=1:K
        hmm=hmms{i}.hmm; %第i个隐马尔可夫模型的状态数
       delta{i}=zeros(T,hmm.N); %第i个模型的token
        %初始化第i个模型的第一个状态的概率,转换为对数形式
       fai{i}= zeros(T,hmm.N);
       init{i}=hmm.init;    
       trans{i}=hmm.trans;
       ind1  = find(init{i}>0);
       ind0  = find(init{i}<=0);
       init{i}(ind0) = -inf;
       init{i}(ind1) = log(init{i}(ind1));
       %初始化第i个模型的的转移概率
      ind1 = find(trans{i}>0);
      ind0 = find(trans{i}<=0);
      trans{i}(ind0) = -inf;
      trans{i}(ind1) = log(trans{i}(ind1));
      end
    x = O(1,:);
     
   for k=1:K
      for i=1:hmms{k}.hmm.N %每个HMM的状态数
	  delta{k}(1,i) = init{k}(i) + log(mixture(hmms{k}.hmm.mix(i),x)); %初始化前向概率矩阵,初始状态概率乘以t=1时观测序列的输出概率
      end
   end
   
  delta1=delta; %保存初始值,以免迭代覆盖
  
for t=2:T %从第二个观测序列开始 
        
     for  k=1:K 
         for j = 1:hmms{k}.hmm.N  %对该模型的所有状态
	      [delta{k}(t,j), fai{k}(t,j)]= max(delta{k}(t-1,:) + trans{k}(:,j)');%找出t-1时刻所有状态最大的前向概率与转移的矩阵kk
	      x = O(t,:);
	      delta{k}(t,j) = delta{k}(t,j) + log(mixture(hmms{k}.hmm.mix(j),x)); %记录第k个词的最大距离
         end    
         P(1,t,k)=delta{k}(t,hmms{k}.hmm.N);
         B(1,t,k)=t; %保存帧号还是0??
     end
     [pm,q]=max(P(1,t,1:K));
      Pr(1,t)=pm;
      Br(1,t)=B(1,t,q);
      Wr(1,t)=q;
end
%%%%%%%%%%%%%%%%%%%%%%level=1 End%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%level=2 开始。。。。。
%Initialization
 
for l=2:L
    delta2(1,1)=0;  belta(1,1)=0;
    for t=2:T %从第二个观测序列开始 
     
        temp=-inf; wi=0;
        for k=1:K
            if trans{k}(1,1)+delta2(t-1,1)>temp
                temp=trans{k}(1,1)+delta2(t-1,1);
                wi=k;
            end
        end
       
             %[pb,ind]=max(trans{1:K}(1,1)+delta2(t-1,1));
             x=O(t,:);
             [va,ind]=max([Pr(l-1,t-1) temp]);
             delta2(t,1)=va+log(mixture(hmms{wi}.hmm.mix(1),x));
             if ind==1 
                 belta(t,1)=t-1;
             else
                 belta(t,1)=belta(t-1,1);
             end
  
             %%递归
             for k=1:K
                  for j = 1:hmms{k}.hmm.N  %对该模型的所有状态
                     
                  
                     [vm,vd]=max(delta2(t-1,:)+ trans{k}(:,j)');
                   
                     belta(t,j)=belta(t-1,vd);
                  end  
                  
              P(l,t,k)=delta2(t,hmms{k}.hmm.N);
              B(l,t,k)=belta(t,hmms{k}.hmm.N); %保存帧号还是0??
             end   
             %%结束递归
    end
     [pm,q]=max(P(l,t,1:K));
      Pr(l,t)=pm;
      Br(l,t)=B(l,t,q);
      Wr(l,t)=q;
    
end



%  disp(delta2);


end




油气井管柱力学发展 油气井管柱力学发展 1 石油管柱力学问题的发复杂性 1)油气管柱动力学的非线性 钻井中钻柱在重力、钻压、扭矩、钻井液浮力和井壁约束等作用下,产生三维变形。一方面随井眼轴线的弯曲而弯曲,这一变形被称为管柱的初位移;另一方面,管柱在运动过程中相对井眼轴线也有变形,这种变形被称为计算位移。管柱大变形主要表现在初位移部分,计算位移相对很小。大曲率井眼中管柱产生大挠度,但管柱很长且柔软性较好,变形一般仍保持... 阅读详情

相关推荐

Ubuntu操作系统等保测评指南

Ubuntu操作系统等保测评指南

qq_40181198的博客 7025

连接词识别的Level Building 算法。。。。。。

看了一篇论文,A Level Building Dynamic Time Warping Algorithm for Connected Word Recognition,IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOL. ASSP-29, NO. 2, APRIL 1981,上面描述了Level Building

xiaoding133的专栏【Stay hungry,Stay foolish】 2344

望获实时Linux与国产芯片协同:打造LinuxCNC数控机床的全栈国产化方案

本文探讨了如何通过望获实时Linux与飞腾、龙芯等国产芯片的深度协同,为LinuxCNC数控机床打造全栈国产化方案。望获实时Linux通过中断隔离等核心技术,提供亚微秒级确定性响应,解决了传统Linux系统实时性不足的痛点,使LinuxCNC得以稳定驱动高精度机床。该方案实现了从硬件、操作系统到应用软件的全栈自主可控,为工业控制领域提供了高性能、可定制的国产化选择。

weixin_29291069的博客 648

特征学习“Building High-level Features Using Large Scale Unsupervised Learning”

摘要:GoogleBrain中特征学习的原理,通过使用未标记的图像学习人脸、猫脸high-level特征,得到检测器。文章使用大数据构建了一个9层的局部连接稀疏自编码网络(模型有1 billion个链接,数据有10 million 个200*200的图像)。使用模型并行化和异步SGD在1000个机器(16000核)上训练了3天,实验结果显示可以在未标记图像是否有人脸的情况下训练处一个人脸检测器。之前

cv_family_z的博客 3090

科研智能体平台搭建与实战:大模型如何驱动科研自动化

大模型技术的快速发展,正推动AI智能体从单纯对话工具向主动执行任务的科研伙伴演进。智能体的核心原理在于整合模型调用、工具使用、知识库检索与工作流编排,使其能够自主拆解目标、执行操作并迭代优化。在科研场景中,这一技术价值尤为突出:文献初筛、实验数据清洗、代码调试、结果汇总等高频重复劳动均可实现自动化,大幅释放研究者精力。从基础组件配置到多智能体协同,从平台选型到提示词调优,实际落地需要关注模型匹配、工具稳定性、记忆管理与人机校验机制。本文基于真实工程经验,系统梳理科研智能体平台的搭建路径、应用案例与高频问题排

weixin_32597009的博客 282

OpenClaw 在 Windows 环境下的完整安装、配置和部署指南

介绍Windows环境下OpenClaw的完整安装,配置和部署的全流程

hxbao的专栏 1485

matlab扩展编程里面的初始化问题

function hmm = inithmm(samples, M) K = length(samples); %语音样本数 N = length(M); %状态数 hmm.N = N; hmm.M = M; % 初始概率矩阵 hmm.init    = zeros(N,1); hmm.init(1) = 1; % 转移概率矩阵 hmm.trans=zer

xiaocao9903的专栏 688

【并发编程五】c++进程通信——共享内存(shared memmory)

现代操作系统,对于内存管理,采⽤的是虚拟内存技术,也就是每个进程都有⾃⼰独⽴的虚拟内存空间,不同进程的虚拟内存映射到不同的物理内存中。所以,即使进程 A中 和 进程 B中 的虚拟地址是⼀样的,其实访问的是不同的物理内存地址,对于数据的增删查改互不影响。这样这个进程写⼊的东⻄,另外⼀个进程⻢上就能看到了,都不需要拷⻉来拷⻉去,传来传去,⼤⼤提⾼了进程间通信的速度。⽤了共享内存通信⽅式,带来新的问题,那就是如果多个进程同时修改同⼀个共享内存,很有可能就冲突了。那共享内存的⽅式,就很好的解决了这⼀问题。

junxuezheng的博客 1万+

谷歌论文阅读:Building High-level Features Using Large Scale Unsupervised Learning

使用大规模无监督的深度机器学习网络进行高级特征学习

立月尽黄昏的博客 1814

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之OS模块配置详解(中)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之OS模块配置详解(中)

weixin_42412049的博客 1513

深度学习实战87-高中数学自适应测试系统研究与应用研发,前后台页面设计

大家好,我是微学AI ,今天给大家介绍一下深度学习实战87-高中数学自适应测试系统研究与应用研发,前后台页面设计。高中数学自适应测试系统旨在通过精准评估学生能力,用最少的题目发现其薄弱环节,并提供定制化的学习计划,帮助学生快速提升成绩。同时,系统结合了AI大模型实现自动判卷、生成报告,减轻教师负担,并支持个性化作业布置,使教学更加高效。学生可以清晰了解自身学习状态,教师也能获得精准的学生画像,实现差异化教学。

微学AI的博客 444

语音特征参数MFCC计算的详细过程

注:老早之前就在看语音信号处理方面的知识,每当过了很久都会忘记,由于之前对语音特征MFCC提取的流程还是非常清楚的,但是对于一些细节以及一些原理一些的东西还是不是很明白,通过这次的总结,我终于明白的其中的技术细节以及设计方法,包括滤波器的设计,以及参数的具体意义,希望这个总结能给自己增加更多的印象,课本上好像对各个三角滤波器的设计没有过多的讲解,也没讲流程,希望这里的总结能有所帮助。 一、MFC

xiaoding133的专栏【Stay hungry,Stay foolish】 5万+

22、常见加密哈希算法及安全机制解析

本文详细解析了多种常见加密哈希算法,包括SHA系列、RIPEMD、Tiger、HAVAL、Whirlpool等,涵盖其工作原理、安全性与性能对比。同时探讨了哈希攻击方式如预映像攻击和彩虹表,并介绍了盐、MAC、HMAC等防御机制。结合密码存储、消息完整性验证及区块链应用案例,分析了不同场景下的算法选择建议,并展望了哈希算法在创新、融合与标准化方面的未来发展趋势。

seed的博客 390

群延迟函数(group delay function)&群延迟滤波器

最近看了许多介绍Group delay function的论文,文章中大篇幅提到Group delay,group delay of digital filters,对这个方面的知识好像还挺有用的,所以想把它记录下来。然后总结下计算Group delay function的步骤。            假设有N个样本的脉冲响应为h(n)的数字滤波器,n为时间序列标号,对该数字滤波器进行离散时间傅

xiaoding133的专栏【Stay hungry,Stay foolish】 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

语音信号的短时自相关序列求解以及xcorr与autocorr问题

对于语音来说,短时自相关函数分析是一个重要的方法,能够用来求得浊音的基音周期,也可以用来求得语音识别中的特征参数。它的短时自相关函数为:           但是,在计算短时自相关时,窗选语音段为有限长度N,而求和上限为N-1-k,因此当k增加时可用于计算的数据就越来越少了,从而导致k增加时自相关函数的幅度减小。为了解决这个问题,提出了语音修正的短时自相关。修正的短时自相关函数

xiaoding133的专栏【Stay hungry,Stay foolish】 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

HTK工具搭建识别器的总体框架

老早之前就学习了HTK工具,并用于搭建连续语音识别器,但是好久没有用对于一些东西又忘记了,现在由于做实验需要用到HTK,又重新看了一遍,所以把一些大致的东西记录下来,以后可以直接看这个。感觉用HTK搭建识别器,学习一门脚本语言非常重要,如Perl,和Shell.......... Hinit:用于对HMM模型的参数进行初始化。 HRest: 用Baum-Welch算法对HMM参数进行估计,可以

xiaoding133的专栏【Stay hungry,Stay foolish】 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

用HTK搭建语音识别器实录(TIDigits数据库)

TIDIGITS数据库包含11个孤立数字,分别为one,two,three,four ,five,six,seven,eight,nine,oh,zero. 1.数据准备 1.1.1 建立任务语法 它的任务语法如下: $digit= ( one | two | three | four | five |six | seven | eight | nine | zero | oh ); (

xiaoding133的专栏【Stay hungry,Stay foolish】 9984

语音信号的产生模型

1.语音的产生        a.有声激励:声门关闭。气流迫使声门周期的打开和关闭产生浊音或一些元音。该周期的倒数为“基音频率”(fundamental frequency),该频率在80Hz-350Hz。          b.无声激励:声门打开并且穿过嘴的一个小的空间,该过程产生清音,如同噪声信号,该信号的频谱由该小空间所处的位置。          c.瞬时激励: 嘴中的气流压在嘴突然

xiaoding133的专栏【Stay hungry,Stay foolish】 8045

HTK工具的安装

首先下载HMM 的开发包HTK,现在的版本是3.4.1.可以从CMU的官网进行下载。 http://htk.eng.cam.ac.uk/,下载后解压HTK工具包,我解压后的目录为:D:\htk\   确保的环境变量Path包含路径:C:\Program Files\Micr

xiaoding133的专栏【Stay hungry,Stay foolish】 7145

鲁棒性语音识别系统设计与实现

本文主要采用matlab和C语言设计并实现了一个鲁棒性语音识别实验系统,通过该系统验证各种抗噪语音特征在不同信噪比的噪声环境下的识别率,并详细介绍了系统的结构以及开发工具与平台,最后介绍了系统的功能、实验流程以及该系统的实现。 系统演示下载路径:http://pan.baidu.com/s/1o61Kaa2 一、系统结构         本文研究的是非特定人鲁棒性语音识别,采用的是小

xiaoding133的专栏【Stay hungry,Stay foolish】 6845

研究生期间有关语音识别方面资料的收集

研究生期间收集了一些有关语音识别方面的网址,感觉非常有用,保留一下,留到以后用。 国际最顶尖会议: ICASSP:International Conference on Acoustics, Speech and Signal Processing ICSLP:International Conference on Semiconductor Laser and Photonics E

xiaoding133的专栏【Stay hungry,Stay foolish】 6010

修改HTK代码,让其支持中文

利用HTK工具包进行语音识别建模时,遇到任务语法中存在中文时候,无法生成对应的底层网络,这样就需要对HTK源码的部分内容进行修改,以下是我对HTK源码HParse及HVite部分内容改动记录,希望对有需要的人有帮助!自己也做个备份! 添加下面函数 static int IsSpace(char c) { if ((c == 0x09) ||( c == 0x0D) || (c == ' '

xiaoding133的专栏【Stay hungry,Stay foolish】 5098

DFT分析连续非周期信号注意事项

1. 抽样频率对DFT分析信号的频谱影响较大,因为它直接影响频谱混叠的程度。抽样频率必须大于2倍信号最高频率。 2.栅栏现象与频率的分辨率有关,因为离散傅里叶变换是傅里叶时间变换在[0,2pi)之间等间隔抽样,当抽样的点数少时,则不能反应其全部细节,导致栅栏现象。克服该现象的方法之一就是在截断的长度为N的序列后补零,构成一个长度为L>N的序列,然后进行DFT运算。补零只能提高观察分辨率,但不能增

xiaoding133的专栏【Stay hungry,Stay foolish】 4739

HTK3.4.1在Win7 下HSLab **.sig使用无效的解决办法

在Windows 7上安装了HTK3.4.1版本,安装后使用HSLab  01.sig,提示如下错误:   ERROR [+6870]  MakeXGraf: Not compiled with X11 support: use HGraf.X.c FATAL ERROR -

xiaoding133的专栏【Stay hungry,Stay foolish】 4303

HTK 中HLEd命令提示错误: LoadHTKList: Label Name Expected

最近用HTK做连续中文数字识别,用HLEd 把单词级真值文本(word level MLF)转成音素级真值文本(phone level MLF)时候,出现如下错误:  ERROR [+6550]  LoadHTKList: Label Name Expected   FATAL ERROR - Terminating program HLEd  原因是我在建立任务语法的时候使用了中文数字

xiaoding133的专栏【Stay hungry,Stay foolish】 3663

HTK HHED命令错误原因

最近在使用HTK的HHED命令对HMM模型进行编辑的时候出现如下错误: WARNING [-2637] HeaviestMix: mix 4 in n2-O+sh2 has v.small gConst [-140000002048.000000] in HHEd 解决的办法是:在训练后再添加HMM模型的混合高斯数。。。。。。。。。。。。

xiaoding133的专栏【Stay hungry,Stay foolish】 2522
上一篇: HTK HHED命令错误原因
下一篇: Something about the HTK tool
xiaoding133
博客等级 码龄19年 415粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值