pyAudioAnalysis-用于音频特征提取,分类,分段和应用的python库

简介: pyAudioAnalysis是一个开放的Python库,提供了许多与音频相关的功能,着重于特征提取,分类,分段和可视化问题。通过pyAudioAnalysis您可以:- 提取音频特征和表示形式(例如,mfccs, spectrogram, chromagram)训练,参数调整和评估音频片段的分类器分类未知声音检测音频事件并从长时间录音中排除静音期执行监督性细分(联合细分-分类)执行无监督的分段(例如,说话者二值化)并提取音频缩略图训练和使用音频回归模型(示例应用程序:情感识别)应用降维以可视化音频数据和内容相似性

pyAudioAnalysis是一个开放的Python库,提供了许多与音频相关的功能,着重于特征提取,分类,分段和可视化问题。
71257933_202012081414140144898878.jpg

功能

pyAudioAnalysis是一个Python库,涵盖了广泛的音频分析任务。

通过pyAudioAnalysis您可以:

  • 提取音频特征和表示形式(例如,mfccs, spectrogram, chromagram)
  • 训练,参数调整和评估音频片段的分类器
  • 分类未知声音
  • 检测音频事件并从长时间录音中排除静音期
  • 执行监督性细分(联合细分-分类)
  • 执行无监督的分段(例如,说话者二值化)并提取音频缩略图
  • 训练和使用音频回归模型(示例应用程序:情感识别)
  • 应用降维以可视化音频数据和内容相似性

实用功能

将Mp3批量转换为Wav
函数使用提供的采样率(第二个参数)和通道数(第三个参数)convertDirMP3ToWav(dirName, Fs, nC, useMp3TagsAsName = False) 将文件夹的所有MP3文件转换dirName为WAV文件。如果将最后一个参数(useMp3TagsAsName)设置为True,则输出的WAV文件将通过MP3标签(歌手和歌曲名)命名,否则将使用MP3文件名(当然,扩展名为.wav)

命令行使用示例
python audioAnalysis.py dirMp3toWav -i MusicData/ -r 16000 -c 1

另外,convertFsDirWavToWav()可以使用函数将存储在特定文件夹中的WAV列表转换为另一个采样率的相同信号的新列表(再次是WAV文件)。交流示例:

python audioAnalysis.py dirWavResample -i MusicData/ -r 8000 -c 1

新文件存储在名为Fs_Nc的新文件夹下,例如Fs8000_NC1
pyAudioAnalysis - Theodoros Giannakopoulos

下载安装

下载文件包: pyAudioAnalysis模块下载
安装依赖:pip install -r ./requirements.txt
使用pip安装: pip install -e
71257933_202012081414310566620315.jpeg

音频分类示例

pyAudioAnalysis提供了易于调用的包装器来执行音频分析任务。例如,给定存储在文件夹(每个文件夹代表一个不同的类别)中的一组WAV文件,此代码首先训练一个音频片段分类器,然后使用经过训练的分类器对未知的音频WAV文件进行分类:

aT.extract_features_and_train(["classifierData/music","classifierData/speech"], 1.0, 1.0, aT.shortTermWindow, aT.shortTermStep, "svm", "svmSMtemp", False)aT.file_classification("data/doremi.wav", "svmSMtemp","svm")```  
相关文章
|
1天前
|
机器学习/深度学习 数据挖掘 PyTorch
10个非常有用的Python库,你知道几个?
这些库覆盖了数据科学、机器学习、Web开发和其他领域,使Python成为一个多用途的编程语言。它们在各种项目和领域中都非常有用。
15 2
|
2天前
|
SQL 关系型数据库 数据库连接
使用 Python 访问数据库的基本方法
【5月更文挑战第12天】在Python中操作数据库涉及安装数据库驱动(如mysql-connector-python, psycopg2, pymongo)、连接数据库、执行查询/更新、处理结果集及关闭连接。使用ORM(如SQLAlchemy)可简化操作。通过上下文管理器(with语句)能更好地管理资源和错误。注意根据实际需求处理事务、错误和安全性,例如使用SSL连接。
13 2
|
3天前
|
分布式计算 调度 异构计算
Python 数学应用(四)(4)
Python 数学应用(四)
10 4
|
3天前
|
消息中间件 Kafka Python
Python 数学应用(四)(3)
Python 数学应用(四)
21 5
|
3天前
|
存储 传感器 数据可视化
Python 数学应用(四)(2)
Python 数学应用(四)
5 0
Python 数学应用(四)(2)
|
3天前
|
存储 消息中间件 Kafka
Python 数学应用(四)(1)
Python 数学应用(四)
10 2
|
3天前
|
机器学习/深度学习 存储 算法
Python 数学应用(三)(4)
Python 数学应用(三)
10 2
|
3天前
|
存储 算法 决策智能
Python 数学应用(三)(3)
Python 数学应用(三)
9 2
Python 数学应用(三)(3)
|
3天前
|
存储 资源调度 算法
Python 数学应用(三)(2)
Python 数学应用(三)
9 1
|
3天前
|
存储 机器学习/深度学习 前端开发
Python 数学应用(三)(1)
Python 数学应用(三)
12 2