Scipy-音频处理


14

我正在寻找音频信号处理的良好工具。例如语音和音乐分析,自动语言识别等。

Scipy库是否提供音频处理功能?它是否有用于音频信号处理的好工具?

你能建议一个工具吗?


1
是的,scipy确实提供了执行此类操作的基础结构,但您需要对所要获得的内容进行更具体的说明,以获得更有用的答案(尤其是要回答是否有“比[scipy]更好的工具”) )。
A_A 2012

1
实时还是离线?
endlith 2012年

离线。我正在寻找语音/音乐分类。
user1147663 2012年

1
Scipy和Numpy一起提供了用于实时和脱机处理数据的出色工具。与Cython或Ctypes结合使用(我倾向于使用Cython方法),如果无法说服其他库适合使用N语言编写的numpy数组,并且使用C语言编写的低级快速操作很容易进行操作。
Henry Gomersall 2012年

1
MATLAB缺少的一件事是无法将数组的原点定义为非1的值。因此,就像FFT输出中的DC值位于bin#1中,而不是应该在bin#0中一样。关于MATLAB(或Octave)还有其他一些愚蠢的事情。
罗伯特·布里斯托

Answers:


9

我个人认为Python是目前最好的选择之一,并在音频识别领域做了一些工作。欢迎您检查例如我的软件,该软件可从嘈杂的音频中自动识别鸟类:鸟嘴兽。该程序已被新西兰环境保护部使用,他们对此感到高兴。基于此示例,我想指出使用Python的一些优点:

  1. 庞大,快速发展的社区提供大量图书馆。SciPy提供了多种信号处理方法(授权的方法不多,但还不如Matlab成熟)。尽管请记住,尽管SciPy是最重要的功能之一,但它只是可以帮助您完成工作的数百个功能之一。我发现Aubio最适合音乐分析。为了确保语音和音乐识别,您肯定会喜欢Yaafe可以提取的大量音频功能。
  2. 免费!一旦离开学术界,您很快就会发现Matlab相当昂贵。即使您负担得起,您的透视图用户也不会对此依赖感到满意。例如,提到的环境保护部将不接受专有软件。
  3. 身份识别通常需要机器学习,Python为此提供了强大的工具包:sklearn。它是最先进的图书馆-易于使用。看一下Kaggle竞赛 (机器学习),检查有多少顶级程序员在使用Python和sklearn。
  4. 您可以管理“大数据”。如果您想对庞大的网络记录数据库进行分析,那么Python有一套完善的工具。我不认为Matlab / Octave与Hadoop等接口容易,尽管如果我做错了,请纠正我。R在这方面做得更好。
  5. 说到接口,您可以轻松地将程序与网站接口。这是我管理鸟嘴兽(鸟识别)的方式:该程序在Amazon Web Services云计算服务上运行。如果您想将软件提供给其他人,而这些人不一定要经历所有必需库的安装过程,则非常好。

我的第二个选择是R。尽管没有Python那样丰富的功能,但它具有大量有用的库(例如,请参见seewave的应用程序)。在Windows和Linux上都安装它们很容易,如果您希望其他人使用您的程序,则这很重要。但是,以我的经验,R中的高性能计算更为困难-如果您需要进行大量处理和识别,则需要注意的重要事项。

Python中音乐分类的示例:

使用Python的 Book Building机器学习系统有一章关于音乐分类

其他工具(列表绝不完整):音乐中的Python


2

似乎Python在这方面是一种流行的语言,它基于以下事实而提供了一些好的工具集:我已经在某些音乐技术专业的部门和公司中看到了它的使用。

在学术界,在Matlab上看到这种类型的工作是很常见的,因为它在易于探测的IDE中汇集了许多强大的工具包(信号处理,并行计算,图形,数据库实用程序,机器学习,AI)。但是,它要花钱并且有一些缺点(就应用程序设计和性能而言,不是最佳的编程语言,因此它主要是一种原型设计工具,但可以编译为C语言)。Octave是免费的替代产品,但是由于我没有使用过它,因此我不能保证信号处理工具或软件本身的质量。


很棒的库是github.com/worldveil/dejavu。Python,开放源代码,麻省理工学院许可,并进行音频识别和指纹识别。
lollercoaster

scipy生态系统具有很多MATLAB功能。
Darleison Rodrigues

2

您还可以检查pyAudioAnalysis:它结合了用于模式识别的开放库和几种音频功能实现。在pyAudioAnalysis中实现的一些示例应用程序,您可能会发现很有趣:

  • 静音消除
  • 说话人异议
  • 使用SVM,kNN等进行细分分类(和训练)
  • 联合分割分类(使用HMM)
  • 音频缩略图
  • 音频内容可视化

0

您可以使用Essentia音频分析C ++库,其中包括python绑定。您将利用python / scipy环境的所有优势,以及Essentia附带的许多音频/音乐分析算法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.