语音识别之语音激活(VAD)检测(一)

这篇具有很好参考价值的文章主要介绍了语音识别之语音激活(VAD)检测(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读

语音激活检测(Vioce Activation Detection)简称VAD,用来检测语音信号是否存在。VAD技术在语音领域中应用非常的广泛,在语音识别中我们可以对长语音通过VAD来检测出语音信号的空隙,通过这个空隙来分割语音,将长语音切分成短语音来进行语音识别。在电话通信中,为了减少存储数据所使用的空间,我们可以通过VAD技术将空隙的语音信号进行移除。

VAD的检测算法有多种,比较简单的一种算法是通过短时能量(STE,short time energy)短时过零率(ZCC,zero cross counter)利用能量的特征来进行检测。短时能量就是指一帧语音信号的能量,过零率则是指一帧语音的时域信号穿过0的次数。除此之外,有些VAD检测算法会综合多个维度的语音特征包括能量特征频域特征倒谱特征谐波特征长时信息特征等。

下面我们就基于STE来实现一个VAD算法,主要基于auditok来实现

auditok实现VAD检测

  • 安装
pip install auditok
  • 读取音频文件

通过auditok读取音频文件,并绘制出音频文件的波形图

import os,auditok

wav_path = "example.wav"
#读取音频文件
audio = auditok.load(wav_path)
#绘制语音波形图
audio.plot()
#跳过开始的前2s,跳过没有声音的音频
audio = auditok.load(wav_path, skip=2)

vad检测,ASR笔记,语音识别,人工智能

  • VAD检测并且分割音频

auditok提供了一个split函数,可以通过声音信号能量的强弱来判断是否有人说话,从而根据语音的空隙来分割音频,这对于一段长语音的音频做分割时非常重要的,通常ASR模型是无法一次处理过长的音频

save_slice_path = "slice_wav/slice"
#检测音频中的声音进行切分
audio_slices = audio.split(
    min_dur=1,              #包含声音最短的音频长度
    max_dur=15,             #包含声音最长的音频长度,超过这个长度会被切断
    max_silence=0.3,        #音频中没有声音音频的最长长度
    energy_threshold=55     #判断音频中包含声音必须大于这个阈值
)
#切分音频
for i, r in enumerate(audio_slices):
    post_id = os.path.basename(wav_path)[:-4]
    # 输出分割音频中包含的信息
    print("slice wav {i}: {r.meta.start:.3f}s -- {r.meta.end:.3f}s".format(i=i, r=r))
    # 播放分段的音频
    r.play(progress_bar=True)
    # 将分段后的音频保存为wav文件
    audio_name = "{}_{}.wav".format(post_id,i+1)
    save_wav_path = os.path.join(save_slice_path,audio_name)
    filename = r.save(save_wav_path)
    print("save:{}".format(filename))

问题

上面我们使用了auditok来通过语音信号的能量对于音频的间隙进行分割,但是这种算法也引入了一个问题,如果音频是由人的说话声音+BGM组合成或者多人同时说话的呢?也就是一段音频中即使人没说话了,但是BGM也一直都在,这时候我们通过STE来分割音频很明显是无法实现的。

下一篇文章我们将介绍如何通过模型来实现对语音的分割文章来源地址https://www.toymoban.com/news/detail-528678.html

参考

  1. 语音活性检测
  2. 还是不会VAD?三分钟看懂语音激活检测方法
  3. Python 使用 auditok 聲音活性偵測工具教學與範例

到了这里,关于语音识别之语音激活(VAD)检测(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源(离线)中文语音识别ASR(语音转文本)工具整理

    开源(离线)中文语音识别ASR(语音转文本)工具整理 Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的Whisper神经网络,且它亦支持其它98种语言的自动语音辨识。 Whisper系统所提供的自动语音辨识(Automatic Speech Recognition,ASR)模型是被训练来运行语音辨识与翻

    2024年02月13日
    浏览(65)
  • Python使用PaddleSpeech实现语音识别(ASR)、语音合成(TTS)

    目录 安装 语音识别 补全标点 语音合成 参考 PaddleSpeech是百度飞桨开发的语音工具 注意,PaddleSpeech不支持过高版本的Python,因为在高版本的Python中,飞桨不再提供paddle.fluid API。这里面我用的是Python3.7 需要通过3个pip命令安装PaddleSpeech: 在使用的时候,urllib3库可能会报错,因

    2024年04月25日
    浏览(40)
  • Python使用whisper实现语音识别(ASR)

    目录 Whisper的安装 Whisper的基本使用 识别结果转简体中文 断句 Whisper是OpenAI的一个强大的语音识别库,支持离线的语音识别。在使用之前,需要先安装它的库: 使用whisper,还需安装setuptools-rust: 但是,whisper安装时,自带的pytorch可能有些bug,因此需要卸载重装: 卸载: 重装

    2024年03月20日
    浏览(57)
  • ASR(自动语音识别)任务中的LLM(大语言模型)

    浅度融合 浅层融合指的是 LLM 本身并没有和音频信息进行直接计算。其仅对 ASR 模型输出的文本结果进行 重打分 或者 质量评估 。 深度融合 LLM 与 ASR 模型进行深度结合,统一语音和文本的编码空间或者直接利用 ASR 编码器的隐状态参与计算,利用大语言模型的能力得到更好的

    2024年02月12日
    浏览(49)
  • 音频深度学习变得简单:自动语音识别 (ASR),它是如何工作的

            在过去的几年里,随着Google Home,Amazon Echo,Siri,Cortana等的普及,语音助手已经无处不在。这些是自动语音识别 (ASR) 最著名的示例。此类应用程序从某种语言的语音音频剪辑开始,并将说出的单词提取为文本。因此,它们也称为语音转文本算法。         

    2024年02月15日
    浏览(41)
  • Unity 工具 之 Azure 微软连续语音识别ASR的简单整理

    目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤  五、关键脚本 Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。 本节介绍,这里在使用微软的Azure 进行语音合成的两个方

    2024年02月01日
    浏览(48)
  • 顶顶通电话机器人接口对接开源ASR(语音识别)

    目前大部分用户使用的都是在线ASR按照分钟或者按次付费,之前开源ASR效果太差不具备商用的条件,随着 阿里达摩院发布了大量开源数据集或者海量工业数据训练的模型,识别效果已经和商用ASR差距非常小,完全具备了很多场景代替商用ASR的能力。 顶顶通也全系列产品进行

    2024年02月08日
    浏览(43)
  • AI科普文章 | 语音识别准不准?—— ASR 效果评测原理与实践

    在日常工作、生活中,语音识别技术作为基础服务,越来越多的出现在我们周围,比如智能音箱、会议记录、字幕生成等等。 作为一项已经很成熟AI技术,市面上很多厂商都会提供语音识别服务,对外声称的识别准确性也很高。 对于业务侧的我们,其实更关心的是在我们特定

    2024年02月09日
    浏览(49)
  • Arduino与LU-ASR01语音识别模块的双向串口通信实现

        之前我写了一篇《Arduino的智能语言输入实现》,讨论了Arduino与LU-ASR01之间通过串口通信实现Arduino的中文语音输入,不过那个通信是不完整的,因为LU-ASR01的串口只有一个发送端口TX,而没有接收端口RX。其实在真正的应用中,LU-ASR01通常也需要接收上位机的数据,例如为确

    2024年02月05日
    浏览(298)
  • 激活函数在自动语音识别中的作用

    自动语音识别(Automatic Speech Recognition, ASR)是一种人工智能技术,它能将人类的语音信号转换为文本。自动语音识别技术广泛应用于智能家居、语音助手、语音搜索、语音控制等领域。在自动语音识别系统中,激活函数(Activation Function)是一种非线性函数,它在神经网络中扮演着

    2024年04月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包