结合工程实践选题调研分析同类软件产品
Posted litosty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结合工程实践选题调研分析同类软件产品相关的知识,希望对你有一定的参考价值。
工程实践概述
我的工程实践题目是《多人对话场景中音频分离》,题目要求的任务即说话人区分(Speaker Diarization)任务。说话人区分是声纹识别领域中的一个任务,具体是指根据说话者身份将输入的音频划分为同类片段的过程。说话人区分是说话人细分和说话人聚类的组合,第一个目标是找到音频中的说话人更改点, 第二个目标是根据说话者的特征将语音片段分组在一起。说话人区分常常作为语音识别功能的预处理,它将音频中说话人的身份信息提供给语音识别系统,从而改善语音识别的准确率。
产品介绍
下面将介绍一些带有说话人区分功能的软件。说话人区分一般不能作为用户直接使用的功能,所以带有此类功能的软件常常是面向开发者的。
ALIZé
ALIZé是一个用于说话人识别的开源平台。 该项目提供了一组框架,使任何人都可以开发应用程序,用来处理说话人识别领域中的各种任务:包括验证/识别,分段等。
在2005年,ALIZé由LIA(法国阿维尼翁实验室信息研究所)领导发展,最终在法国研究部的资助下与多家学术和工业合作伙伴合作完成。该项目主要使用了GMM/UBM、I-vector、JFA等传统声纹识别技术。目前,深度学习进入了声纹识别领域,取得了良好的效果,使用传统技术的ALIZé在如今已经稍显落伍了。
Pyannote-audio
Pyannote -audio是一个基于Pytorch的开源神经网络构建工具包,从2016年开始开发,该工具提供如下功能:
- 说话活动探测
- 说话人改变探测
- 重叠语音检测
- 说话人嵌入
- 说话人区分
pyAudioAnalysis
pyAudioAnalysis是一个2014年开始开发的Python库,提供了大量与音频相关的功能,重点在于特征提取,说话人分类,语音分段和可视化问题。该库提供的功能包括但不限于以下内容:
提取音频特征和表示形式
- 分类未知声音
- 训练,参数调整和评估音频片段的分类器
- 说话活动探测
- 执行监督性说话人区分
执行无监督的说话人区分
产品特点
这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的?
ALIZé、Pyannote-audio、pyAudioAnalysis为开发者提供了说话人识别的功能,我第一次了解三款软件均是网友推荐而来,高质量的软件自然会得到用户的口口相传。
ALIZé、Pyannote-audio、pyAudioAnalysis都是开源软件,分别使用了LGPL、MIT、Apache-2.0协议,它们都不是以盈利为目的而开发的软件,而是为了其他用户使用方便而开发的,其背后的精神事实上就是“我开发了一款软件,大家来用吧”,这种开源精神所催生出来的软件正是如今计算机世界的基石。
这些软件是如何到你手里的(邮购,下载,互相拷贝、在线使用……)
ALIZé、Pyannote-audio、pyAudioAnalysis的代码均托管在Github上,只要下载下来即可使用。
这些软件有Bug 么?又是如何更新新版本的?
任何软件都有bug,这三款软件在多年的开发中也有很多Bug。三款软件托管在Github网站上,均采用滚动更新机制。
此类软件是什么时候开始出现的,同一类型的软件之间是如何竞争的? 发展趋势如何?
说话人区分其实是一个比较小的功能,往往作为某款大型语音工具包的一个子功能出现。专门的说话人区分工具出现较晚,像ALIZé就是比较早的成熟的说话人区分软件,从2005年开始开发,直到2017年仍在维护。
专门的说话人区分软件常常是开源软件,其竞争关系较弱,主要的竞争方式着重于功能的完善和使用的便捷。因为这类软件常常面向开发者,除了其本身的功能,源码易修改也是用户们非常关心的一种特性。
随着深度学习技术的发展和硬件的进步,像ALIZé这样使用传统方法的软件即将没落,效果更好的基于神经网络的Pyannote-audio、pyAudioAnalysis受到大家的青睐,这也是此类软件今后发展的方向。
列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性么?
上述软件都是面向开发者的工具包,依赖的库很多,经常发生安装不成功的情况。
说话者区分是一个信息处理任务,在本质上还是需要软件来完成的,即使是硬件也是依托软件的存在而设计的。这说明软件的本质特征之一是信息处理。
你个人第一次用此类软件是什么时候,你当时是几年级,班主任叫什么?在哪里,什么状态,当时的软件是如何得到的(买的正版,盗版,下载?)
我第一次使用此类软件就是在最近了解工程实践的过程中,日常生活中我并没有说话人区分的需求。这些软件都是下载得到的。
你是如何精通这类软件的?它给你什么好处,坏处?
说话人区分软件主要是面向开发者的,学习难度比面向普通用户的软件要高。此类软件好处在于满足我的需求,坏处也如前面所言,学习曲线比较陡峭,需要阅读一定的文档才能掌握使用方法。
你现在还用它么,或者是同类软件的不同品牌,为何?
最近一段时间我刚刚开始使用此类软件。
这种软件再过10年,20年还会存在么,为什么?
只要大家还有语音识别的需求,作为语音识别的子任务,说话人区分这种需求是不会消失的。但是专门的说话人区分软件在未来是否存在尚未可知,现在深度学习发展的趋势之一是神经网络功能越来越丰富,或许在未来说话人区分的功能深度嵌入在语音识别网络中,专门的说话人区分软件也没有存在的必要了。
以上是关于结合工程实践选题调研分析同类软件产品的主要内容,如果未能解决你的问题,请参考以下文章