Funsound语音识别技术之 基于paraformer的自定义命令(唤醒)词识别

2024-08-21 05:36

本文主要是介绍Funsound语音识别技术之 基于paraformer的自定义命令(唤醒)词识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

免费语音识别转写(优于讯飞):www.funsound.cn

前言

Paraformer在声学后验上通过greedy search得到语音识别结果,对于自定义命令(唤醒)词识别,肯定还得走asr模型。对此我们可以在paraformer上为每个命令词构建模板进行命令匹配,最终结果远远优于科大讯飞语音控制sdk结果。

思路

大致思路如图,例如给”前翻页“命令制作模板,只需分析在解码后的声学后验上”前“/“翻”/"页"的能量分布。当然paraformer同时提供热词模块,添加以后会进一步提高命令词召回
在这里插入图片描述

代码

算法实现如下:

def kws(self,waveform_list,WORDS=[],as_hotwords=True):"""加载词表"""WORDS_IDXS = []for WORD in WORDS:WORD_IDX = self.converter.tokens2ids(list(WORD))WORDS_IDXS.append(WORD_IDX)"""解码"""_, AM_SCORES, VALID_TOKEN_LENS, US_ALPHAS, US_PEAKS = self.__call__(waveform_list=waveform_list,hotwords=" ".join(WORDS) if as_hotwords else "")RESULTS = []for am_score, valid_token_len in zip(AM_SCORES, VALID_TOKEN_LENS):am_score = am_score[:valid_token_len-1]best_score = -float('inf')for WORD, WORD_IDX in zip(WORDS, WORDS_IDXS):tgt_score = am_score[:,WORD_IDX]_max = np.max(tgt_score,axis=1)mean_score = np.mean(_max)if mean_score>best_score:best_score = mean_scorebest_word = WORDRESULTS.append([best_score, best_word])return RESULTS

召回率测试

在6个命令词,27人,820句的验证集上进行召回测试,测试集会进行一定程度加噪
在这里插入图片描述
结果可以看到当前基于paraformer的语音控制表现还是比较不错的。

这篇关于Funsound语音识别技术之 基于paraformer的自定义命令(唤醒)词识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092262

相关文章

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

如何自定义一个log适配器starter

《如何自定义一个log适配器starter》:本文主要介绍如何自定义一个log适配器starter的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求Starter 项目目录结构pom.XML 配置LogInitializer实现MDCInterceptor