没有合适的资源?快使用搜索试试~ 我知道了~
软件影响13(2022)100349原始软件出版物libACA、pyACA和ACA-Code:3种语言的音频内容分析亚历山大·莱希美国乔治亚理工学院音乐信息学组A R T I C L E I N F O保留字:音频内容分析音乐信息检索C++PythonMatlabA B标准libACA、pyACA和ACA-Code三个软件包提供了三种不同语言(C++、Python和Matlab)的音乐音频信号分析基本方法和算法的参考实现。这三个软件包涵盖了相同的算法,例如低级别音频特征的提取,基频估计,以及和弦识别,音乐键检测和起始点检测的简单方法。此外,提供了在音频内容分析中有用的更通用的算法的实现,诸如动态时间规整和维特比算法。因此,这三个软件包为实施音频分析算法的学生和工程师提供了实用的跨语言和跨平台参考,并使音频内容分析和音乐信息检索算法的学习以实现为中心。代码元数据当前代码版本v0.3.1用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-107Reproducible Capsule的永久链接https://codeocean.com/capsule/4376558/tree/v1法律代码许可证MIT许可证使用git的代码版本控制系统使用C++的软件代码语言、工具和服务 Python,Matlab编译要求,操作环境依赖性C++:CMake with Gcc,Clang,or MSVC,C++11Python:Python 3.x,语法:numpy,scipy,matplotlib Matlab:V2016x+,语法:信号处理如果有开发人员文档/手册的链接alexanderlerch.github.io/libACAalexanderlerch.github.io/pyACA/alexanderlerch.github.io/ACA-Code/问题支持电子邮件info@audiocontentanalysis.org1. 介绍音频内容分析和音乐信息检索领域是不断增长的领域,对研究人员、教师、软件工程师和系统设计人员可用的软件解决方案的需求不断变化。因此,软件可以针对不同的目标。这样的目标包括,例如,有效地解决一个公认的问题,为潜在的新任务设计最先进的系统,在教育环境中使用软件包来演示算法属性,或提供已建立算法的参考实现通常这些目标不容易对准,即,解决问题的软件可能对课堂教学没有用处这里介绍的软件实现了许多与音频分析相关的任务,重点是教育方面。给出了特征提取、基频检测、和弦检测等多种音频分析算法的参考实现;使该软件真正独特的是,这些参考实现可在三种不同的编程语言中使用:C++、Python和Matlab。与其他教育紧密结合材料,如讲座幻灯片1和基于算法介绍,在教科书本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。电子邮件地址:alexander. gatech.edu。1 github.com/alexanderlerch/ACA-Slides/tree/2nd_edition/,最后访问:2022年6月28日https://doi.org/10.1016/j.simpa.2022.100349接收日期:2022年6月27日;接收日期:2022年6月28日;接受日期:2022年6月29日2665-9638/©2022作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impactsA. Lerch软件影响13(2022)1003492所提出的三个软件包libACA[2]、pyACA[3]和ACA-Code[4]旨在使学生和工程师快速访问算法实现,促进对实际实现细节的理解因此,所提出的三个软件包并不与流行的现有音频内容分析开源框架(如libROSA)或者是以音频分析的简单利用为目标的Duala [6],但是通过以三种语言实现来提供对算法的简单访问来补充这些现有的包。这允许更好地将特定于语言的选择与算法细节分离。它还提供了一个实现重点,将ACA包与教室软件(如Müller和Zalkow的FMP笔记本)区分开来2. 软件描述2.1. 功能所有三个包的功能,无论是Matlab,Python还是C++,都是相同的。该软件为常见的低电平频谱音频特征(如频谱中心、波峰因数、平坦度、梅尔频率倒谱系数、音高色度、滚降和偏斜度)以及时域特征(如RMS和过零率)提供参考实现。它还实现了多个基频提取算法基于自动相关性、谐波积谱等。 和弦和基调检测、音频指纹提取、节拍直方图计算和起始点检测的示例实现由更通用算法的参考实现来补充,所述更通用算法诸如动态时间规整、维特比算法、K-最近邻分类器、高斯混合模型、K-均值聚类和主成分分析。没有使用复杂的机器学习方法来避免第三方依赖(见下文)。所提出的软件的核心特性之一是,所有算法都是在三种不同的编程语言C++,Python和Matlab中实现的,每种语言都有特定的优点和缺点。Matlab/Octave在信号处理社区中一直非常突出,并提供了一个非常适合快速原型和可视化的单片环境。 Python可能是目前该领域使用最广泛的语言,它之所以吸引人,是因为它通过模块化软件包(包括强大的机器学习软件包)结合了易于扩展性。C++虽然不是特别适合算法原型设计,并且缺乏易扩展性,但它是一种经常用于具有高性能要求的生产环境的语言,并且可能是音频软件中最常用的语言。在所有三种语言中实现增加了多功能性和可访问性,并促进了更好的算法理解。2.2. 设计选择源代码旨在演示如何实现音频分析解决方案,并促进算法理解。因此,设计原则需要与生产环境中使用的软件有所不同。最重要的是,性能优化的优先级非常低。高优先级被分配(i)可读性,即,易于理解和一致的变量,函数和文件命名,(ii)实现可以在各种操作系统和环境(C++ 11兼容性,Python 3.x兼容性,Matlab 2016兼容性)上执行的源代码,以及(iii)减少第三方依赖性以避免代码/算法混淆,允许更容易的可维护性,并确保具有一致编程风格的代码库。但是,请注意,避免第三方依赖往往会增加必要的代码行数--特别是在C++包的情况下--并使侧重于低和中等复杂程度的基线方法。例如,深度学习方法通常被避免。2.3. 未来扩展在短期内,这些软件包将通过展示各种任务中现有功能的示例进行扩展。例如,可以利用特征和所实现的分类器之一来构建简单的音乐风格分类器,并且可以利用动态时间规整代码来实现音频对准。功能性的简单扩展可以例如建立在非负矩阵分解上以实现多音高检测或鼓转录系统。从头开始的新实现的最高优先级是当前缺失的节拍跟踪任务,这是音乐信息检索的核心任务3. 软件影响音频内容分析包括多个研究领域,包括:(i)语音分析,例如,自动语音识别[8]或识别语音中的情感[9],(ii)城市声音分析,例如,噪声污染监测[10]或危险事件的自动检测[11],(iii)工业声音分析,例如, 监测所述状态 机械设备,如发动机[12]或监测牲畜的健康[13],以及(iv)音乐音频分析,目标是从音频信号中理解和提取音乐参数和属性[14]。所提出的软件可以应用于所有这些场景,可以作为教育资源,以及在这些领域的研究和商业应用的基础。它已被用于高等教育机构。尽管专注于教育方面,该软件可以并且已经用于各种各样的研究场景,从唱歌转录[15]和人群行为估计[16]到EEG信号处理[17]到逆戟鲸声音模仿能力的分析[18]。4. 结论虽然大多数音频分析算法的实现都可以在网上找到,但是这种现有代码对于理解算法细节的有用性通常受到不同编码风格、命名约定、扩展或删除功能以及过度使用第三方依赖。软件包libACA、pyACA和ACA- Code通过展示多种音频内容分析算法的实现来解决这个问题,这些算法以一致的方式在三种不同的语言中实现相同的功能:C++、Python和Matlab。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢作者要感谢Kaushal Sali(github:@kaushalsali)对pyACA和ACA-Code的贡献。引用[1]A. Lerch,音频内容分析介绍:信号处理和音乐信息学中的应用,Wiley-IEEE出版社,Hoboken,2012年,[在线]。可用网址:http://ieeexplore.ieee.org/xpl/bkabstractplus.jsp? bkn=6266785。[2]A. Lerch , libACA : 《 音 频 内 容 分 析 简 介 》 一 书 的 C++ 源 代 码http://dx.doi.org/10.5281/zenodo.485183471 可 通 过 以 下 网 址 获 得 :https://github.com/alexanderlerch/libACA。[3]A. Lerch,pyACA:《An Introduction》一书中的Python源代码《音频内容http://dx.doi.org/10.5281/zenodo.6310329 可 通 过 以 下 网 址 获 得 :https://github.com/alexanderlerch/pyACA。[4]A. Lerch , ACA-Code : 《 音 频 内 容 分 析 简 介 》 一 书 的 Matlab 源 代 码http://dx.doi.org/10.5281/zenodo.6478813 可 通 过 以 下 网 址 获 得 :https://github.com/alexanderlerch/ACA-Code。A. Lerch软件影响13(2022)1003493[5]B.麦克菲角Raffel,D. Liang,L. Ellis,M. McVicar,E. 巴滕贝格岛 Nieto,librosa:Python中的音频和音乐信号分析,在:Proceedings of the Python inScience Conference,Austin,Texas,2015,pp. 18-24,【在线】。可通过以下网址获得:https://conference.scipy.org/proceedings/scipy2015/brian_mcfee.html。[6]D. Bogdanov,N. Wack,E. 戈麦斯 Gulati,P. Herrera,O. Mayor,G. 罗马,J.Salamon,J. Zapata,X. Serra,ESSENTIA:一个用于声音和音乐分析的开源库,在:ACM多媒体国际会议论文集,ACMMM,在:MM '13,计算机械协会,纽约,纽约,美国,2013年,pp. 855-858[7]M.穆勒角,澳-地Zalkow,libfmp:一个用于音乐处理基础的python包,J.OpenSource Softw。 6 ( 63) ( 2021) 3326, [ 在 线 ]。 可 通 过 以 下 网 址 获 得 :https://joss.theoj.org/papers/10.21105/joss.03326。[8]X. Huang,J. Baker,R. Reddy,语音识别的历史视角,Commun。ACM 57(1)(2014)94[9]M. El Ayadi,M.S. Kamel,F. Karray,语音情感识别调查:特征,分类方案和数据 库 , 模 式 识 别 。 44 ( 3 ) ( 2011 ) 572-587 , [ 在 线 ] 。 可 查 阅 :https://www.sciencedirect.com/science/article/pii/S 0031320310004619。[10] J.P.贝洛角Mydlarz,J.Salamon,智能城市中的声音分析,载于:声音场景和事件的计算分析,Springer,Cham,2018年,pp. 373-397,[在线]。可通过https://link.springer.com/chapter/10.1007/978-3-319-63450-0_13查询。[11] M.克 罗 科 湾 Cristani, A. Trucco , V. Murino , 音 频 监 控 : 系 统 综 述 , ACMComput。监视器48(4)(2016)52:1-52:46.[12] S.作者声明:J.Lukashevich,声工业:工业声音分析的挑战和数据集,在:欧洲信号处理会议论文集,EUSIPCO,拉科鲁尼亚,西班牙,2019年,pp. 1 -5,ISSN:2076-1465。[13] D.伯 克曼 , M。 Hemeryck, D. Berckmans, E. Vranken, T.v. Waterschoot,Animal Sound.会谈!实时声音分析用于牲畜健康监测,在:国际动物环境与福利研讨会论文集,ISAEW,重庆,中国,2015年。[14] D.P. W Ellis,从音乐音频中提取信息,Commun。 ACM 49(8) ( 2006 ) 32-37 , [ 在 线 ]. 可 用 网 址 : http://portal.acm.org/citation.cfm?doid=1145287.1145310。[15] L- X. Yang , Singing Transcription Using Machine Learning with FeatureSelection,(Master's thesis),McGill University(Canada),Canada,2015,ISBN:9798597023083.[联机]。可查阅:https://www.proquest.com/docview/2512806010/abstract/89 DA 62 FCEAD 74F0 CPQ/1。[16] B.A. Butler,K.Pedersen,M.R.库克,S.G.Wadsworth,E.Todd,D.Stark,K.L.天哪,M.K. Transtrum,S. Warnick,使用声学数据对大学篮球比赛中的人群行为进行分类,Proc.Meet。声音。35(1)(2018)055006,出版商:美国声学学会。[联机]。可查阅:https://asa.scitation.org/doi/abs/10.1121/2.0001061。[17] A. Vinay,A. Lerch湾Leslie,Mind the Beat:从听音乐的EEG记录中检测音频发作,在:声学,语音和信号处理国际会议论文集,ICASSP,电气和电子工程师协会(IEEE),加拿大安大略省多伦多,2021年,[在线]。可通过以下网址获得:https://arxiv.org/abs/2102.06393。[18] J. Z. Abramson,M.V. Hernán-Lloreda,L. 加西亚角 Colmenares,F. 阿格蒂兹,J. Call,虎鲸(Orcinus orca)中新颖同种和人类语音的模仿,Proc. R。Soc. B:Biol. Sci. 285(1871)(2018)20172171,出版商:英国皇家学会。[联机]。可用网址:https://royalsocietypublishing.org/doi/10.1098/rspb.2017.2171。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功