开源项目audioFlux: 针对音频领域的深度学习工具库

这篇具有很好参考价值的文章主要介绍了开源项目audioFlux: 针对音频领域的深度学习工具库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 时频变换
  • 频谱重排
  • 倒谱系数
  • 解卷积
  • 谱特征
  • 音乐信息检索

audioFlux是一个Python和C实现的库,提供音频领域系统、全面、多维度的特征提取与组合,结合各种深度学习网络模型,进行音频领域的业务研发,下面从时频变换、频谱重排、倒谱系数、解卷积、谱特征、音乐信息检索六个方面简单阐述其相关功能。

项目地址: https://github.com/libAudioFlux/audioFlux文章来源地址https://www.toymoban.com/news/detail-409418.html

时频变换

audioFlux在时频分析领域中,包含以下通用变换(支持后续所有频率刻度类型)算法:

  • BFT - 基于傅里叶变换。

    等效短时傅里叶变换(STFT),一般基于此实现大家熟知的mel频谱,时域上重叠平移加窗的傅里叶变换,一般重叠变换长度1/4,加高斯窗又称做Gabor变换,可以调整窗函数长度来方便的模拟时频分析特点,BFT算法除提供标准的mel/bark/erb等频谱外,还支持mel这些刻度类型的复数谱,同时支持mel等刻度频谱的重排。

  • NSGT - 非平稳 Gabor 变换。

    类似加高斯窗的STFT(短时傅里叶变换),不同之处在于窗函数长度和t建立非平稳关系,相对STFT可以实现稳态信号中非平稳状态较好的分析,较好的onset端点侦测效果常基于此类频谱计算,同时可以做为实现CQT的一种高效方式,本算法中NSGT变换的octave频率刻度类型即CQT的高效实现。

  • CWT - 连续小波变换。

    多分辨率时频分析,从数学上看,傅里叶变换的基底是无限的sin/cos函数,而小波变换基底是有限的很小的波函数,波函数的通用表示形式为 $$ \psi_{a,b}(t)=\frac{1}{\sqrt{a}}\psi(\frac{t-b}{a})$$ 其中a决定频域缩放尺度,b时间平移尺度,建立时频的自适应分析,相对STFT的固定时频分辨率,具有低频段频率分辨高、高频段时间分辨高特点,非常适合非稳态信号分析,支持常用的Morse、Morlet、Bump、Pual、Meyer等波函数类型。

  • PWT - 伪小波变换。

    基于傅里叶变换实现的类似小波变换效果,CWT的高效算法为频域小波函数计算filterBank和频域数据做dot运算,如果把小波函数当做一种特殊的窗函数,可以产生类CWT效果,即伪小波变换,如果窗函数建立可调频带的参数(库中尚未实现),可以等效小波变换。

以上变换功能支持下面所有频率刻度类型:

  • linear - 标准线性频带频谱图,短时傅里叶变换结果取一半即linear刻度频谱图,刻度为采样率/采样样本,即最小频域分辨率。
  • linsapce - 自定义频带范围的频谱图,频带可以大于linear频带,相当于时域降采样。
  • mel - 梅尔标度频谱图,音频中最常用的频谱图类型之一,基于人耳听觉低频敏感、高频不敏感特性,类log压缩linear刻度。
  • bark - 巴克刻度频谱图,比梅尔刻度更符合人耳听觉。
  • erb - 等效矩形带宽频谱图,比巴克刻度更符合人耳听觉。
  • octave - 八度刻度频谱图,符合乐音对数刻度的频谱图。
  • log - 对数刻度频谱图。

下面是一个BFT变换下不同频率刻度的简单对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

下面是一个CWT不同波函数的简单对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

以下可用作独立变换的算法有(不支持多种频率刻度类型):

  • CQT - 常量Q变换,频带比为常数的变换,音乐中常用的此变换,常基于此计算chroma特征用于分析和声。
  • VQT - 可变Q变换。
  • ST - S变换/Stockwell变换,类似小波变换,是小波变换思想的一种极端特例,可用于侦测分析一些极端的突变信号如地震、海啸等,相比NSGT同样也是加高斯窗,但建立起f和t的缩放关系。
  • FST - 快速S变换,S变换的离散基2实现。
  • DWT - 离散小波变换,相对CWT而言,频率基于2的变换。
  • WPT - 小波包变换,又称小波包分解,可以对信号做细节和近似分解,是信号分离和合成的一个方式,可用于降噪、模态结构分析等业务。
  • SWT - 稳态小波变换,类似小波包变换,分解出的信号和原信号长度一致。

下面是一个CQT和NSGT变换下不同刻度的简单对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

很明显,NSGT-Octave比CQT要清晰、聚焦一些。

chroma是基于频谱的更高级特征,属于乐音刻度体系范畴,针对非乐音的刻度要差于乐音刻度,目前支持chroma特征的频谱类型:

  • CQT
  • BFT-linear
  • BFT-octave

下面是一个Chroma简单对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

很明显,CQT-Chroma优于其它频谱类型下的chroma。

注:

  1. 不同频率刻度的频谱都有各自的应用价值,针对某些业务情况,这些不同刻度频谱图可以图组合起一个大的特征集合参与网络的训练。
  2. 频谱图按值的类型abs、平方、log等非线性运算称为幅值谱、功率谱、对数谱/dB谱,深度学习中一般使用对数谱多一些。

频谱重排

同步压缩或重新分配方法是一种用于锐化、高清频谱图的技术,可以提升频谱的清晰度和精度,audioFlux包含以下算法:

  • reassign - 针对STFT变换重排,基于BFT的mel/bark/erb等频谱数据同样实现重排。
  • synsq - CWT频谱数据重排。
  • wsst - CWT变换重排。

下面是一个频谱图和对应重排后的效果图。
开源项目audioFlux: 针对音频领域的深度学习工具库

很明显,重排后的效果要优于重排前的效果。
可能有人会问,既然重排效果如此好,可以基于上次结果循环多次重排吗?这样效果如何?audioFlux重排相关算法提供多次重排机制,具体效果可以参照文档做下尝试对比。

倒谱系数

类似针对mel频谱的mfcc(梅尔频率倒谱系数),这个特征业务上属于去音高,属于反映发音物理结构的一个特征,典型的用于语音识别相关业务,可用于不同乐器分类,结构细化等业务模型训练。

整个audioFlux项目频谱体系中,除mfcc以及相应delta/deltaDelta外,支持所有类型的频谱倒谱系数即xxcc:

  • lfcc
  • gtcc
  • bfcc
  • cqcc
  • ......

不同频谱的倒谱系数,都代表着不同频谱类型的去音高相关,都有各自的应用价值,比如gtcc有论文反映在语音识别业务中音素效果要比mfcc好一些,cqcc针对乐器的分类和一些结构细化业务要远优于mfcc等等。

下面是针对吉他乐音音频的不同频谱倒谱系数的对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

很明显,在吉他乐音起振阶段,cqcc表现最好,后续持续稳定阶段,gtcc相比较好。

解卷积

在数学中,解卷积是卷积的逆运算,可以做为信号分解的一种算法,针对频谱而言,分解后的两个数据可以表示为formant(共振峰)频谱图和pitch频谱图,相比mfcc而言,formant是一种更为通识的发音物理结构特征。

在audioFlux中,支持所有类型频谱的解卷积操作,所发挥的价值在于,针对音高相关的业务,可以去除共振峰干扰后模型推断更准确;针对结构相关特征的业务,可以去除音高避免模型的训练受其干扰。

下面是针对吉他880hz音频的mel频谱图的解卷积效果图。
开源项目audioFlux: 针对音频领域的深度学习工具库

可以看到吉他共振峰部分(音色)和音高部分明显的分离效果。

谱特征

在audioFlux中,包括数十种spectral相关的特征,包括基于音色相关特征,基于统计相关特征,基于光谱通量相关特征,基于奇异值相关特征,等等。

如:

  • flatness
  • skewness
  • crest
  • slop
  • rolloff
  • ......
  • centroid
  • spread
  • kurtosis
  • ......
  • flux
  • hfc
  • mkl
  • ......
  • ......

等等一小部分,关于audioFlux所提供的所有谱特征,更具体的功能描述、例子、公式等请参照官方文档。

下面是一些谱特征对比图。
开源项目audioFlux: 针对音频领域的深度学习工具库

音乐信息检索

audioFlux提供mir相关领域pitch估算、onset侦测、hpss(谐波打击乐分离)等相关业务算法。

pitch估算包含基于YIN,STFT等相关算法,下面是针对一段人声练习音高的侦测效果图。
开源项目audioFlux: 针对音频领域的深度学习工具库

红色为实际参照音高,蓝色为估算音高。

onset侦测包含基于Spectrum flux, novelty等等相关算法,下面是一段吉他扫弦伴奏的端点侦测效果图。
开源项目audioFlux: 针对音频领域的深度学习工具库

中间时域图像红色虚线为端点侦测位置叠加而成。

hpss包含中值滤波,非负矩阵分解等(NMF)等算法,下面是一段包含吉他弹奏和节拍器音频的分离效果,上半部分时域效果,下半部分对应频域效果。
开源项目audioFlux: 针对音频领域的深度学习工具库

项目地址: https://github.com/libAudioFlux/audioFlux

到了这里,关于开源项目audioFlux: 针对音频领域的深度学习工具库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习和机器学习中针对非时间序列的回归任务,有哪些改进角度?

    在非时间序列的回归任务中,深度学习和机器学习都是常用的方法。为了进一步提升模型的性能,可以通过改进数据处理、数据增强、特征选择、模型选择、模型正则化与泛化、优化器、学习率、超参数调优等方面,来提升模型的性能和可解释性。 提高数据质量和进行恰当的

    2024年01月19日
    浏览(48)
  • AIGC领域优秀的资源汇总(应用、论文、开源项目)

    AIGC领域介绍,及一些比较优秀的应用,和论文,开源项目汇总。 一、AIGC概念 ​ AIGC,全名“AI generated content”,又称生成式AI,意为人工智能生成内容。例如AI文本续写,文字转图像的AI图、AI主持人等,都属于AIGC的应用。 ​ AIGC也被认为是继PGC(Professionally Generated Content,专

    2024年02月11日
    浏览(46)
  • 【OCR项目】之用HALCON的深度学习工具进行文字识别,并导出到C++调用

    HALCON是一个强大的机器视觉工具,包含了2D,3D图像各种算子,以及各种任务的深度学习工具,包括目标检测,实例分割,文字识别等。 这次从实际生产的角度,来分享一下如何用HALCON进行文字识别。 衡量一个技术是否能在实际工业生产使用,要考虑的因素: 最重要的一点,

    2024年01月22日
    浏览(53)
  • 字节跳动开源!超好用的视频抠图工具;GitHub开源项目维护协作指南;自动化数据清洗工具包;强化学习入门教程;前沿论文 | ShowMeAI资讯日报

    👀 日报合辑 | 📆 电子月刊 | 🔔 公众号下载资料 | 🍩 @韩信子 https://github.com/HelixNGC7293/DeforumStableDiffusionLocal https://space.bilibili.com/176003 文本提示作画工具。本代码库实现是本地版本的Deforum Stable Diffusion V0.4,支持txt设置文件输入和动画功能! https://github.com/PeterL1n/RobustVideoMat

    2023年04月08日
    浏览(88)
  • 深度学习在通信领域中的应用

    深度学习在通信领域中的应用 深度学习作为人工智能领域的一个热门技术,一直在探索新的应用领域。近年来,深度学习在通信领域中的应用也逐渐受到关注。通信领域需要面对各种挑战和问题,例如信道估计、信号检测、通信系统优化等等。这些问题的解决,可以大大提升

    2024年02月06日
    浏览(47)
  • 深度强化学习在物联网领域的实践

    物联网(Internet of Things, IoT)是指通过互联网将物体和日常生活中的各种设备与互联网联网相互连接,使得物体和设备能够互相传递信息、进行协同工作,实现智能化管理。物联网技术的发展为各行各业带来了革命性的变革,包括生产、交通、能源、医疗等领域。 在物联网领域

    2024年02月22日
    浏览(47)
  • 上海AI实验室等开源,音频、音乐统一开发工具包Amphion

    上海AI实验室、香港中文大学数据科学院、深圳大数据研究院联合开源了一个名为Amphion的音频、音乐和语音生成工具包。 Amphion可帮助开发人员研究文本生成音频、音乐等与音频相关的领域,可以在一个框架内完成,以解决生成模型黑箱、代码库分散、缺少评估指标等难题。

    2024年01月21日
    浏览(55)
  • x-cmd-pkg | 音视频处理领域中常用的开源转换工具:ffmpeg

    ffmpeg 是音视频处理领域中常用的开源转换工具。以强大的功能、广泛的格式支持和丰富的参数调节在处理音视频格式的任务中得到了广泛的使用。 FFmpeg 是由 Fabrice Bellard 于 2000 年发起的开源多媒体框架,使用 C 语言编写。 “FF” 代表\\\"fast forward\\\",意为高效处理,而 “mpeg”

    2024年02月04日
    浏览(61)
  • 【Alibaba工具型技术系列】「EasyExcel技术专题」实战技术针对于项目中常用的Excel操作指南

    EasyExcel教程 本文使用的技术是Alibaba集团开源的EasyExcel技术,该技术是针对Apache POI技术的封装和优化,主要解决了POI技术的耗内存问题,并且提供了较好的API使用。 使用步骤繁琐 动态写出Excel操作非常麻烦 对于新手来说,很难在短时间内上手 读写时需要占用较大的内容,当

    2024年01月19日
    浏览(45)
  • Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用

    Python是功能强大、免费、开源,实现面向对象的编程语言,在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能,这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。可以预见未来Python将成为的

    2023年04月23日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包