searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

直播音频审核及相关算法应用

2023-05-12 05:54:07
47
0

 

直播音频审核及相关算法应用

一.直播审核流程

  1. 实时拉流,根据不同的协议类型(RTMP,RTP,RTSP,HTTP等),与服务器建立连接并接受数据。拉流端的核心处理在于音视频的解码。
  2. VAD模块,VAD全称为Voice Activation Detection语音激活检测,用于检测语音信号是否包含有效信息。该模块可滤除较长时间的静音或者噪声,将输入的连续语音信号切分,产生音频片段,一般输出的音频片段长度为10秒至20秒左右。
  3. 音频识别模块,音频识别模块用于检测音频片段的违规信息,包括语音识别和语音审核两个部分。
  • 语音识别模块接受语音信号作为输入,识别信号中包含的文本。
  • 当信号中不包含有效文本时(比如杂音,喘息等)语音审核模块使用音频事件检测的方式,定位音频信号中特定事件发生的起始时间和持续时间。一般会根据事件的类型和持续时长判断是否违规。
  1. 违规判断,对音频识别模块的识别结果进行判断其是否违规。当音频中存在文本信息时,可使用关键字过滤或文本分类算法等方式判断。否则,使用音频审核模块检测到的事件类型和持续时间进行判断。
  1. 提交人工审核,为了避免误判影响直播的体验,一般会将算法识别结果交由人工进行复审。算法审核的整个流程响应时间在秒级,而人工审核具有一定的延时行,其响应流程约需10秒以上。故对于直播审核一般采用先发后审的方式,在审核为违规直播时进行屏蔽消音处理。

 

二.常用算法模块

  1. 语音激活检测算法(VAD)

传统的VAD算法使用信号能量和过x轴的次数来判断,其缺点在于不能区分是噪声还是伴奏,而伴奏在直播中出现频率很高。从而导致过滤能力不足,加重下游识别模块的负担。而且伴奏长时间存在,导致产生的音频段较长,若采用限制最大长度的方式强制切断,很容易在说话声中间切断,降低下游识别任务的精度。当然,传统VAD算法也具有速度快,CPU占用低等优点。常用的算法模块为webrtc VAD。

当前比较流行的是使用CNN模型对音频进行分类,将音频分成静音、人声、噪声、伴奏等类别,特殊场景可按需求增加细化的分类。为了降低延迟,一般使模型的输入时长较短,并使用轻量化的模型,将延迟降低值10ms以内。VAD还可提供音乐检测的能力,识别输入音频中音乐出现的时间段,给下游任务提供信息。

VAD一般使用流式处理,采用有限状态自动机的方式进行实时处理,较多使用C++进行工程开发和集成。

  1. 语音识别算法

语音识别算法一般使用ESPNet,Wenet,Kaldi,K2等常用框架,这些框架成熟易用,且提供通用的语义识别算法和预训练模型。但是,由于直播场景的特殊性,通用的预训练模型在直播场景的效果并不理想,一般需要采集直播场景的现实数据进行微调。

直播场景具有相对较强的噪声(如话筒,键盘敲击等),在数据量较小时需要使用数据融合的方式对训练集进行扩增。比如提取直播中的噪声加载干净的语义信号中模拟现实场景,或对语义信号进行增速、减速和卡顿,在直播信号中增加混响等。

一般语音审核的目标文本在常用的语音识别asr数据中属于小样本,需要对特定的目标样本进行扩充或者合成。在数据量较大时需要对难样本进行标注训练和挖掘,对难样本进行特殊处理。

在直播场景中,语音识别算法还应包括识别方言,识别音乐中的人声等任务,对语音识别算法的性能和鲁棒性提出巨大的挑战。

  1. 语音事件检测算法

在语音识别算法识别不到文本时,常采用语音事件检测的方式进行审核,其审核的目标事件如娇喘、呻吟、耳骚、喊麦等。其算法一般使用音频分类模型,将输入音频切割成固定长度的输入信号,输出音频属于每个类别的概率。音频特征提取器采用MFCC或FBank,模型backbone使用CNN或transformer等深度学习模型。

  1. 音频指纹和音频检索算法

音频指纹和音频检索算法用于对直播流中出现的音乐进行识别,判断其是否违规或使用了非版权的音乐。音频指纹算法最著名的要数Shazam算法,在音频信号中提取特征点,通过特征点匹配的方式进行音频的匹配和检索。Shazam算法对原曲播放的效果较好,对演唱会、录音棚等场景或翻唱等识别效果较差。

当前的音频检测算法通常也采用深度学习模型,使用神经网络提取音频的embedding作为音频段的特征向量,在匹配时采用Milvus等向量库,实现百万级以上音频实时实时检索的能力。

 

三.算法的应用场景

  1. 语言类审核

语言类审核通常采用asr识别语音文本,使用文本分类或者关键字进行判断。其难点在于直播中出现的非普通话可能造成的误判。

  1. 非语言类审核

非语言审核主要用于娇喘色情识别,可进行歌曲、人声、噪声,娇喘、静音等音频事件的检测。难点在于如何区分主播的娇喘和背景音乐中容易出现的短时间娇喘。

  1. 版权歌曲检测、翻唱识别

版权歌曲检测一般使用音乐检索的方式进行,一般会在VAD中加入音乐检测模块(包括直播背景音乐,主播清唱,伴奏等),切割成短时音频段,送入下游音乐检测模块进行识别。

另外可使用asr进行歌词识别,利用歌词库训练歌词识别模型,可大幅提升音乐识别的准确率。

  1. 关键词识别

关键词识别类似智能音箱的提示音(如天猫精灵等)。主播可利用内置的关键字或自定义关键字,在说出关键字时出发特定的事件,如开播、下播等。

  1. 先审后发的实时消音

先发后审的审核方式有较大的安全隐患,当前的一个研究热点是使用先审后发的消音方式,其中最大的挑战是降低整个链路的延迟。

 

0条评论
0 / 1000
l****n
5文章数
0粉丝数
l****n
5 文章 | 0 粉丝
原创

直播音频审核及相关算法应用

2023-05-12 05:54:07
47
0

 

直播音频审核及相关算法应用

一.直播审核流程

  1. 实时拉流,根据不同的协议类型(RTMP,RTP,RTSP,HTTP等),与服务器建立连接并接受数据。拉流端的核心处理在于音视频的解码。
  2. VAD模块,VAD全称为Voice Activation Detection语音激活检测,用于检测语音信号是否包含有效信息。该模块可滤除较长时间的静音或者噪声,将输入的连续语音信号切分,产生音频片段,一般输出的音频片段长度为10秒至20秒左右。
  3. 音频识别模块,音频识别模块用于检测音频片段的违规信息,包括语音识别和语音审核两个部分。
  • 语音识别模块接受语音信号作为输入,识别信号中包含的文本。
  • 当信号中不包含有效文本时(比如杂音,喘息等)语音审核模块使用音频事件检测的方式,定位音频信号中特定事件发生的起始时间和持续时间。一般会根据事件的类型和持续时长判断是否违规。
  1. 违规判断,对音频识别模块的识别结果进行判断其是否违规。当音频中存在文本信息时,可使用关键字过滤或文本分类算法等方式判断。否则,使用音频审核模块检测到的事件类型和持续时间进行判断。
  1. 提交人工审核,为了避免误判影响直播的体验,一般会将算法识别结果交由人工进行复审。算法审核的整个流程响应时间在秒级,而人工审核具有一定的延时行,其响应流程约需10秒以上。故对于直播审核一般采用先发后审的方式,在审核为违规直播时进行屏蔽消音处理。

 

二.常用算法模块

  1. 语音激活检测算法(VAD)

传统的VAD算法使用信号能量和过x轴的次数来判断,其缺点在于不能区分是噪声还是伴奏,而伴奏在直播中出现频率很高。从而导致过滤能力不足,加重下游识别模块的负担。而且伴奏长时间存在,导致产生的音频段较长,若采用限制最大长度的方式强制切断,很容易在说话声中间切断,降低下游识别任务的精度。当然,传统VAD算法也具有速度快,CPU占用低等优点。常用的算法模块为webrtc VAD。

当前比较流行的是使用CNN模型对音频进行分类,将音频分成静音、人声、噪声、伴奏等类别,特殊场景可按需求增加细化的分类。为了降低延迟,一般使模型的输入时长较短,并使用轻量化的模型,将延迟降低值10ms以内。VAD还可提供音乐检测的能力,识别输入音频中音乐出现的时间段,给下游任务提供信息。

VAD一般使用流式处理,采用有限状态自动机的方式进行实时处理,较多使用C++进行工程开发和集成。

  1. 语音识别算法

语音识别算法一般使用ESPNet,Wenet,Kaldi,K2等常用框架,这些框架成熟易用,且提供通用的语义识别算法和预训练模型。但是,由于直播场景的特殊性,通用的预训练模型在直播场景的效果并不理想,一般需要采集直播场景的现实数据进行微调。

直播场景具有相对较强的噪声(如话筒,键盘敲击等),在数据量较小时需要使用数据融合的方式对训练集进行扩增。比如提取直播中的噪声加载干净的语义信号中模拟现实场景,或对语义信号进行增速、减速和卡顿,在直播信号中增加混响等。

一般语音审核的目标文本在常用的语音识别asr数据中属于小样本,需要对特定的目标样本进行扩充或者合成。在数据量较大时需要对难样本进行标注训练和挖掘,对难样本进行特殊处理。

在直播场景中,语音识别算法还应包括识别方言,识别音乐中的人声等任务,对语音识别算法的性能和鲁棒性提出巨大的挑战。

  1. 语音事件检测算法

在语音识别算法识别不到文本时,常采用语音事件检测的方式进行审核,其审核的目标事件如娇喘、呻吟、耳骚、喊麦等。其算法一般使用音频分类模型,将输入音频切割成固定长度的输入信号,输出音频属于每个类别的概率。音频特征提取器采用MFCC或FBank,模型backbone使用CNN或transformer等深度学习模型。

  1. 音频指纹和音频检索算法

音频指纹和音频检索算法用于对直播流中出现的音乐进行识别,判断其是否违规或使用了非版权的音乐。音频指纹算法最著名的要数Shazam算法,在音频信号中提取特征点,通过特征点匹配的方式进行音频的匹配和检索。Shazam算法对原曲播放的效果较好,对演唱会、录音棚等场景或翻唱等识别效果较差。

当前的音频检测算法通常也采用深度学习模型,使用神经网络提取音频的embedding作为音频段的特征向量,在匹配时采用Milvus等向量库,实现百万级以上音频实时实时检索的能力。

 

三.算法的应用场景

  1. 语言类审核

语言类审核通常采用asr识别语音文本,使用文本分类或者关键字进行判断。其难点在于直播中出现的非普通话可能造成的误判。

  1. 非语言类审核

非语言审核主要用于娇喘色情识别,可进行歌曲、人声、噪声,娇喘、静音等音频事件的检测。难点在于如何区分主播的娇喘和背景音乐中容易出现的短时间娇喘。

  1. 版权歌曲检测、翻唱识别

版权歌曲检测一般使用音乐检索的方式进行,一般会在VAD中加入音乐检测模块(包括直播背景音乐,主播清唱,伴奏等),切割成短时音频段,送入下游音乐检测模块进行识别。

另外可使用asr进行歌词识别,利用歌词库训练歌词识别模型,可大幅提升音乐识别的准确率。

  1. 关键词识别

关键词识别类似智能音箱的提示音(如天猫精灵等)。主播可利用内置的关键字或自定义关键字,在说出关键字时出发特定的事件,如开播、下播等。

  1. 先审后发的实时消音

先发后审的审核方式有较大的安全隐患,当前的一个研究热点是使用先审后发的消音方式,其中最大的挑战是降低整个链路的延迟。

 

文章来自个人专栏
音视频1
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0