声纹识别
初识声纹
声纹概念
声纹(Voiceprint)是用电声学仪器现实的携带言语信息的声波频谱, 是由波长频率以及强度等百余种特征维度组成的生物特征,具有稳定性、可测量性、唯一性等特点。
每个人的语音声学特征既有相对稳定性,又有变异性,不是一成不变的。这种变异可来自生理、病理、心理、模拟、伪装,也与环境干扰有关。
声纹识别的原理
人声差异的主要方面:
- 共鸣方式特征:咽腔共鸣、鼻腔共鸣和口腔共鸣
- 嗓音纯度特征:不同人的嗓音,纯度一般是不一样的,粗略地可分为高纯度(明亮)、低纯度(沙哑)和中等纯度三个等级
- 平均音高特征:平均音高的高低就是一般所说的嗓音是高亢还是低沉
- 音域特征:音域的高低就是通常所说的声音饱满还是干瘪
不同人的声音在语谱图中共振峰的分布情况不同,声纹识别正是通过比对两段语音的说话人在相同音素上的发声来判断是否为同一个人,从而实现“闻声识人”的功能。
声纹识别的技术指标
-
错误拒绝率(False Rejection Rate, FRR)
分类问题中,若两个样本为同类(同一个人),却被系统误认为异类(非同一个人),则为错误拒绝案例。错误拒绝率为错误拒绝案例在所有同类匹配案例的比例。 -
错误接受率(False Acceptance Rate, FAR)
分类问题中,若两个样本为异类(非同一个人),却被系统误认为同类(同一个人),则为错误接受案例。错误接受率为错误接受案例在所有异类匹配案例的比例。 -
准确率(Accuracy,ACC)
调整阈值,使得FAR+FRR最小,1减去这个值即为识别准确率,即ACC=1 - min(FAR+FRR) -
速度
(提取速度:提取声纹速度与音频时长有关、验证比对速度):Real Time Factor 实时比(衡量提取时间跟音频时长的关系,比如:1秒能够处理80s的音频,那么实时比就是1:80)。验证比对速度是指平均每秒钟能进行的声纹比对次数。 -
ROC曲线
ROC曲线:描述FAR与FRR之间相互变化关系的曲线,X轴为FAR的值,Y轴为FRR的值。从左到右,当阈值增长期间,每一个时刻都有一对FAR和FRR的值,将这些值在图上描点连成一条曲线,就是ROC曲线。 -
阈值
阈值:在接受/拒绝二元分类系统中,通常会设定一个阈值,分数超过该值时才做出接受决定。调节阈值可以根据业务需求平衡FAR与FRR。 当设定高阈值时,系统做出接受决定的得分要求较为严格,FAR降低,FRR升高;当设定低阈值时,系统做出接受决定的得分要求较为宽松,FAR升高,FRR降低。在不同应用场景下,调整不同的阈值,则可在安全性和方便性间平平衡
影响声纹识别水平的因素
影响声纹识别水平的两个重要因素:
-
训练数据
-
算法
在应用落地过程中,还会受很多因素的影响: -
声源采样率
人类语音的频段集中于50Hz ~ 8KHz之间,尤其在4KHz以下频段
离散信号覆盖频段为信号采样率的一半(奈奎斯特采样定理)
采样率越高,信息量越大
常用采样率:8KHz (即0 ~ 4KHz频段),16KHz(即0 ~ 8KHz频段)
- 信噪比(SNR)
信噪比衡量一段音频中语音信号与噪声的能量比,即语音的干净程度
15dB以上(基本干净),6dB(嘈杂),0dB(非常吵)
- 信道
不同的采集设备,以及通信过程会引入不同的失真
声纹识别算法与模型需要覆盖尽可能多的信道
手机麦克风、桌面麦克风、固话、移动通信(CDMA, TD-LTE等)、微信……
- 语音时长
语音时长(包括注册语音条数)会影响声纹识别的精度
有效语音时长越长,算法得到的数据越多,精度也会越高 - 文本内容
通俗地说,声纹识别系统通过比对两段语音的说话人在相同音素上的发声来判断是否为同一个人
固定文本:注册与验证内容相同
半固定文本:内容一样但顺序不同;文本属于固定集合
*文本
参考: