【问题标题】:continous speech recocnition end point detection连续语音识别端点检测
【发布时间】:2015-08-28 08:59:07
【问题描述】:

有人知道连续语音中的端点检测算法吗?因为我找不到,现有的算法是针对孤立词的,而不是连续的,请帮忙。如果可能matlab源代码会有所帮助

这是我的算法

index1=[];
for i=1:length(spektral)
if abs(spektral(i))> 0.025
    y(i)=spektral(i);
    index1=[index1 i];
else y(i)=0;
end
end



spasi=[];
for i=2:length(index1)-1
if index1(i)>(index1(i-1)+1)
    spasi=[spasi ; index1(i-1) index1(i)];     %penentuan spasi antarkata
end
end

【问题讨论】:

  • 欢迎来到 SO。我们不是来写你的代码的。请添加minimal reproducible example 详细说明您尝试过的代码,列出错误(如果有),解释为什么它不适合您以及您希望它做什么。
  • 对不起,我是新来的,我说如果可以,如果不行,你能给我看看连续语音识别上端点检测的鲁棒算法吗,因为我的算法总是找不到正确的词,顺便说一句,我正在使用自己的阈值制作自己的算法,并逐个尝试阈值,因此算法可能会有所帮助
  • 将您创建的算法添加到问题中,并指出它为什么不适合您并添加预期结果。
  • index1=[];对于 i=1:length(spektral) 如果 abs(spektral(i))> 0.025 y(i)=spektral(i); index1=[index1 i];否则 y(i)=0;结束 结束 spasi=[];对于 i=2:length(index1)-1 if index1(i)>(index1(i-1)+4) spasi=[spasi ; index1(i-1) index1(i)]; %space 决定端那是我的算法,光谱是产生的能量,我用我自己的阈值看到 0.0025 那边?它是语音和清音的阈值,在第二个循环中看到 +4,我决定如果清音由 4 个或更多段组成,那么它是一个空格,
  • 对不起,我是新人,那是我的算法,光谱是产生的能量,我用我自己的阈值,看到那里的 0.0025?它是语音和清音的阈值,在第二个循环中看到 +4,我决定如果清音由 4 个或更多段组成,那么它是一个空格

标签: algorithm matlab speech-recognition endpoint


【解决方案1】:

第一个循环可以完全省略:

[row,col,val] = find(spektral>0.025);

这将输出val,与您在上面定义的y 相同。根据spektral 的大小,rowcol 将包含您的index1。如果spektral 是列向量,则为row,如果spektral 为行向量,则为col

第二个循环也可以省略:

[row,col,val] = find(index1(2:end,:)>index1(1:end-1,:)+1);

请注意,index1 必须是 rowcol 作为第一个 find 命令的输出。

如果我理解正确,您希望光谱能量低于阈值被视为噪声,并希望该光谱能量低于阈值超过四秒以将其分类为安静。在这种情况下:

[row,col,val] = find(spektral<0.025);
tmp = cummin(row); % use cummin(col) if spektral is a row vector

在这里,我一直在努力寻找一种简短的矢量化方法来检查列中的后续数量,我会在找到解决方案时添加它。

您可以使用嵌套的 while 循环来做到这一点,但肯定会有一种矢量化的方式:

kk = 1;
while kk<length(tmp)-1
    silence1 = 0;
    while tmp(kk) = tmp(kk+1)
        silence1 = silence1+1; % Sum the length of each silence
        kk = kk+1;
    end
silence(kk) = silence1;
end
silence(silence1==0)=[]; % Remove zero entries
TotalSilences = (sum(silence>4)); % Find the total number of silences

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多