目录
语音活动检测(Voice Activity Detection, VAD)(标注)
概念区分
首先需要下定义。
说话人日志与说话人分割,都对应的是speaker diarization。Diarisation是一个生造的词,可以翻译为“分割和聚类”。
这个概念与说话人识别(Speaker Recognition)不同,说话人识别又称声纹识别,是根据语音信号中的说话人信息来识别说话人身份的一项生物识别技术,与指纹识别、步态识别类似。
说话人日志解决的问题是“who spoke when”,也就是确定在给定的多人交替说话的音频中,每个时间点是谁在说话。
综述
说话人日志类型
说话人日志算法从模态来说,可以根据使用的信息来源分为三种类型:
- 单音频算法。主要利用音频信息来进行说话人日志的识别和分析。这种算法通常基于声音特征,如声纹表征,通过分析音频中的说话人的声音特点来识别不同的说话人。
- 单视觉算法。主要利用视频信息来进行说话人日志的识别和分析。这种算法通常基于视频中的面部和嘴唇运动等视觉线索,通过分析视频中说话人的面部动作和表情来识别不同的说话人。
- 音视频融合算法。结合了音频和视频信息,利用两种信息源的互补性来提高说话人日志的识别和分析性能。通过同时分析音频和视频信息,可以更准确地识别说话人,并提高系统在复杂环境下的鲁棒性。
从架构来说,可以分为模块化架构与端到端架构。
模块化架构
模块化架构通常将说话人日志任务分解为多个模块,每个模块负责不同的功能,使得整个系统的工作流程清晰可见。
语音活动检测(Voice Activity Detection, VAD)(标注)
利用语音检测模型,将音频帧逐帧分为语音(speech,即有人说话)和非语音(non-speech,即无人说话)两个类别。
语音分割/说话人转换检测
分割的目标是分割后的每段音频只有一个说话人。
说话人表征提取(提取声纹嵌入码)
数据增强方法:
- 模拟房间的混响(reverberation)效果,可使用 pyroomacoustics 包;
- 改变音量;
- 改变音速;
- 改变基频;
- 添加各类噪音;
- 随机子序列法:在已有的训练数据中,从较长的序列中随机截取较短的序列;
- 随机输入向量法:保留标签序列,但是将输入序列中的每个嵌入码,替换为从相应说话人的所有嵌入码集合中随机选取一个;
- 嵌入码旋转法:通过余弦相似度训练得到的声纹嵌入码都位于高维空间的单位球面上,可以通过某个旋转矩阵,将某个输入序列中的所有嵌入码映射到单位球面上的另一些点,且任何两个嵌入码在映射前与映射后其余弦相似度保持不变。
说话人表征提取是指从语音信号中提取出能够表示说话人特征的信息。其核心是提取说话人的特征向量,并将其用于模型的训练和识别。
传统的说话人表征表示主要包括基于高斯混合模型的通用背景模型(Gaussian Mixture Model based Universal Background Model, GMM-UBM)、i-vector和基于神经网络的说话人表征,如x-vector。i-vector和x-vector均是段级别的说话人表征,通常需要多帧的音频来计算。
聚类
- 阈值法:当两个聚类间的距离(如余弦相似度)超过阈值时,停止合并,剩余的聚类数量即为预测的说话人数。
- 初始化调节:通过贝叶斯模型初始化参数隐式控制人数。
- VB:利用变分贝叶斯隐马尔可夫模型(VB-HMM),通过先验分布(如狄利克雷过程)自动推断说话人数量。
- VBx:在VB基础上结合x-vector,两阶段优化:先用AHC欠聚类初始化人数,再通过VB-HMM动态调整。
- 输出节点:神经网络直接输出说话人存在概率,通过统计活跃节点数确定人数。
总的任务流程图
# Clone asv-subtools from github
cd kaldi/egs/xmuspeech/sre
git clone https://github.com/Snowdar/asv-subtools.git subtools
端到端架构
端到端架构则以音频特征为输入,通过神经网络建模直接预测说话人帧级语音活动性概率。
端到端神经说话人分类(End-to-EndNeuralDiarization,EEND)是一种基于神经网络的说话人日志方法,旨在通过直接最小化分类错误来处理语音中的说话人分离和识别。与模块化方法不同,EEND将说话人日志任务视为多标签分类问题,赋予模型处理重叠语音的能力。该方法利用了语音中说话人的条件依赖性,并通过神经网络生成包含逐帧后验概率的多说话人输出。这种多说话人输出的生成使得EEND能够更好地处理复杂的语音场景,如多人对话和重叠语音。EEND的核心思想是将语音片段映射到说话人标签,而不是对每个片段进行硬聚类分配一个标签。这使得模型可以更好地理解语音信号中的说话人信息,并且在训练过程中可以更好地处理重叠语音。通过端到端的训练,EEND能够直接从原始语音信号中学习到表示说话人表征的表示,并且无需依赖手工设计的特征或复杂的流程。
参考文献
何茂奎.基于声纹表征记忆模块的音视频说话人日志方法研究[D].中国科学技术大学,2024.DOI:10.27517/d.cnki.gzkju.2024.000513.