音频文件识别方法及装置与流程

文档序号:37476429发布日期:2024-03-28 18:59阅读:37来源:国知局
音频文件识别方法及装置与流程

本技术涉及计算机,具体而言,涉及一种音频文件识别方法及装置。


背景技术:

1、长音频文件的识别在音频转录领域具有重要应用,随着人工智能技术的发展,自动语音识别(asr,automatic speech recognition)系统通常使用基于深度学习的神经网络模型来对音频文件进行转写。由于现有的语音识别模型具有较大的参数量和计算复杂度,因此需要显卡加速才能保证识别的速度是用户可接受的。但由于显卡存储空间的限制,运行在显卡上的语音识别模型仍然无法一次性处理过长的音频文件。对于长音频文件的转写,现有的语音识别系统通过以下两种方式来处理:一种方式是流式处理:使用流式语音识别技术,可以实时地处理持续音频流,而不需要等待整个音频文件完全上传。这种方法适用于实时性要求高的场景。第二种方式是分段处理:将长音频文件切割成较短的片段,每个片段的时长可以根据使用场景的不同来调整。这些较短的片段更容易被处理,减少了内存和计算资源的需求。识别后的文本可以在后续合并或处理,但是,在对长音频文件进行切割分为多个较短片段时,首先需要确定片段长度。对于片段长度的确定,可以根据应用场景预先设定一个固定值,然后将长音频硬性切割为若干个固定长度的片段。这种切割方式虽然比较简单,但是在将长语音分割为固定长度的片段可能会导致信息的丢失。特别是在语音信号的重要部分跨越两个片段的情况下,可能会丢失关键信息,使识别系统难以理解完整的语义和上下文,导致语音识别准确性的降低,同时相关技术中为了解决长音频文件识别的问题的再一种方式是将vad(voice activity detection,语音端点检测)与asr相结合,但是存在只有在完成了vad的处理时,才会进行asr的处理。顺序执行的vad和asr存在后者等待前者的关系,这在并发较高、资源较少的情况下,会导致服务整体的响应时延较高。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术实施例提供了一种音频文件识别方法及装置,以至少解决相关技术中需要等待vad处理完成后,才会进行asr处理,导致对音频文件识别效率较低的技术问题。

2、根据本技术实施例的一个方面,提供了一种音频文件识别方法,包括:接收待识别音频文件;采用第一线程池中的第一线程,按照所述待识别音频文件中的音频帧的排列顺序,依次对所述待识别音频文件中音频帧进行处理,得到多个音频片段;采用第二线程池中的第二线程依次对将所述多个音频片段进行识别,得到多个识别结果,将所述多个识别结果进行排序后进行拼接,得到最终识别结果,其中,所述第一线程和所述第二线程为异步执行的线程。

3、可选地,采用第一线程池中的第一线程按照所述待识别音频文件中的音频帧的排列顺序依次对所述待识别音频文件中音频帧进行处理,得到多个音频片段,包括:对所述待识别音频文件进行验证,并在验证通过的情况下,将所述待识别音频文件放入第一输入队列中;采用所述第一线程对所述第一输入队列中的所述待识别音频文件进行分帧处理,得到多个音频帧,依次对每个音频帧进行处理,依次确定每个音频片段的起止时间点;根据所述每个音频片段的起止时间点依次对所述待识别音频文件进行分段处理,得到所述多个音频片段。

4、可选地,采用第二线程池中的第二线程依次对将所述多个音频片段进行识别得到多个识别结果,包括:采用所述第一线程生成目标编号,并采集当前待识别音频片段的片段编号,所述目标编号用于标记所述待识别音频文件;采用所述第一线程根据所述当前待识别音频片段、所述前待识别音频片段的片段编号和所述目标编号构建待识别结构体;采用所述第二线程对所述待识别结构体进行识别,得到所述当前待识别音频片段对应的识别结果,并将所述当前待识别音频片段对应的识别结果存入所述目标编号对应的片段识别结果队列中。

5、可选地,将所述多个识别结果进行排序后拼接得到最终识别结果,包括:采用所述第二线程对接收到的待识别结构体进行检测;在所述待识别结构体中检测到结束信号的情况下,采用所述第二线程将所述多个识别结果进行排序后拼接得到所述最终识别结果,其中,所述结束信号是由所述第一线程在处理完所述待识别音频文件中所有音频帧后,发送给所述第二线程的,所述结束信号用于指示所述待识别音频文件中所有音频帧已被处理完毕。

6、可选地,采用所述第二线程将所述多个识别结果进行排序后进行拼接得到所述最终识别结果,包括:在预设全局字典中构建目标键值对,所述目标键值对的键为目标编号,所述目标键值对的值包括:已识别片段数、片段总数以及片段识别结果队列,其中,所述已识别片段数由所述第二线程在完成每个音频片段的识别后进行更新,所述片段总数由所述第一线程在所述待识别音频文件中所有音频帧处理完毕后进行更新,所述片段识别结果队列由所述第二线程在完成每个音频片段的识别后进行更新,用于存储所述多个识别结果;采用所述第二线程根据所述目标编号从所述目标键值对中提取所述已识别片段数和片段总数,在所述已识别片段数和所述片段总数相等的情况下,从所述片段识别结果队列中逐个取出所述多个识别结果;将所述多个识别结果按照片段编号的顺序将所述多个识别结果拼接得到所述最终识别结果。

7、可选地,所述方法还包括:在所述已识别片段数小于所述片段总数的情况下,采用所述第二线程从第二输入队列中取出所述待识别结构体进行识别,得到识别结果,其中,所述第二输入队列用于存储所述第一线程构建的所述待识别结构体。

8、可选地,在得到最终识别结果之后,所述方法还包括:将所述最终识别结果存入预设数据库中;响应于客户端的查询指令,从所述预设数据库中调取所述最终识别结果;将所述最终识别结果输出到所述客户端中。

9、根据本技术实施例的另一方面,还提供了一种音频文件识别装置,包括:接收模块,用于接收待识别音频文件;分段模块,用于采用第一线程池中的第一线程按照所述待识别音频文件中的音频帧的排列顺序依次对所述待识别音频文件中音频帧进行处理,得到多个音频片段;识别模块,用于采用第二线程池中的第二线程依次对将所述多个音频片段进行识别得到多个识别结果,将所述多个识别结果进行排序后进行拼接得到最终识别结果,其中,所述第一线程和所述第二线程为异步执行的线程。

10、根据本技术实施例的再一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述音频文件识别方法。

11、根据本技术实施例的再一方面,还提供了一种计算机设备,包括存储器和处理器,处理器用于运行程序,其中,程序运行时执行上述音频文件识别方法。

12、在本技术实施例中,采用接收待识别音频文件;采用第一线程池中的第一线程,按照所述待识别音频文件中的音频帧的排列顺序,依次对所述待识别音频文件中音频帧进行处理,得到多个音频片段;采用第二线程池中的第二线程依次对将所述多个音频片段进行识别,得到多个识别结果,将所述多个识别结果进行排序后进行拼接,得到最终识别结果,其中,所述第一线程和所述第二线程为异步执行的线程的方式,通过第一线程和第二线程异步执行的方式,达到了第一线程和第二线程无需互相等待的目的,从而实现了提高长音频文件识别效率的技术效果,进而解决了相关技术中需要等待vad处理完成后,才会进行asr处理,导致对音频文件识别效率较低技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1