声纹识别技术初步了解(阅读笔记)
1. 声纹识别分类
1.1 按任务分类
声纹识别技术按照其所要识别的任务及应用场景主要分成两类:声纹验证(speaker verification)及声纹辨认(speaker identification 或speaker matching)。
1.1.1 声纹验证(speaker verification)
声纹验证流程:
声纹注册(speaker registration)或声纹录入(voice enrollment)
有目标说话人(target speaker)事先提供音频样本,通过特定的算法,从音频样本中提取能够表征该目标说话人声纹特征的说话人模型(模板);
模板匹配
对于一段新的音频,能够将其与目标说话人模型(模板)进行匹配,得到一个匹配分数,可以将该匹配分数与某个实现设定好的阈值进行比较,并根据最后的比较结果进行二值判别。
1.1.2 声纹辨认(speaker identification 或 speaker matching)
限定在特定的候选说话人(candidate speakers)集合之中,记集合中候选说话人个数为M。将没有冒名顶替者的声纹辨认称为“闭集”声纹辨认,而将可能会有冒名顶替着的声纹辨认称为“开集”声纹辨认。如果是开集辨认,需要额外将最高的分数与某个事先设定好的阈值进行比较,若是最高分数低于该阈值,则辨别为冒名顶替者。
声纹辨认对应的应用场景主要是个性化。对于声纹辨认,通常认为M,任务越难,识别准确率也会越低;声纹验证通常不存在这个问题。
1.2 按文本内容分类
按照识别的内容可以分为三类:文本相关(textdependent)的声纹识别、文本无关(text-independent)的声纹识别,以及文本提示型(text-prompted)的声纹识别。
1.2.1 文本相关
文本相关的声纹识别,通常称为“固定文本”的声纹识别。
问题的简化之处在于两点:
- 录入的音频及待识别的音频包含着完全相同的音节。声纹识别模型的建立,只需要对有限的几个音节进行建模即可。
- 可以假设待识别的音频长度被限制在某个有限的变化范围内,甚至是固定的时间长度。
在实际应用中,文本相关的声纹识别系统主要用于唤醒词或验证口令的声纹识别。
1.2.2 文本无关
无论说话人说的什么内容,都要能够识别出说话人的身份,根据是否限定特定语言,可分为语言相关和语言无关。
难点在于:
- 声纹录入时用户提供的音频与验证时的音频,其所对应的文本不同;
- 训练时难以同时覆盖所有说话人和所有内容;
- 无论是声纹录入还是实际的验证,由于文本内容的不确定性,我们无法预知用户将要提供的音频的具体长度,需要能够处理不同长度的音频,并比较其声纹相似度;
文本无关的声纹识别技术的应用更加广泛。
1.3 系统流程
说话人模型”或者“声纹模型”,通常指的是声纹建模过程的输出,是通过声纹录入阶段得到的。将说话人模型称为声纹嵌入码(embedding),而将声纹建模过程本身所依赖的模型称为声纹编码器(encoder)。
参考链接:
[1] 声纹技术:从核心算法到工程实践
如果你觉得博客内容有帮助,请收藏书签。
版权声明:转载文章之后必须在文章页面给出原文连接(创意共享3.0许可证)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库