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")```  
相关文章
|
2天前
|
开发者 Python
Python Socket编程:不只是基础,更有进阶秘籍,让你的网络应用飞起来!
在数字时代,网络应用成为连接世界的桥梁。Python凭借简洁的语法和丰富的库支持,成为开发高效网络应用的首选。本文通过实时聊天室案例,介绍Python Socket编程的基础与进阶技巧。基础篇涵盖服务器和客户端的建立与数据交换;进阶篇则探讨多线程与异步IO优化方案,助力提升应用性能。通过本案例,你将掌握Socket编程的核心技能,推动网络应用飞得更高、更远。
18 1
|
5天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从零基础到实战应用
【9月更文挑战第15天】本文将引导读者从零开始学习Python编程,通过简单易懂的语言和实例,帮助初学者掌握Python的基本语法和常用库,最终实现一个简单的实战项目。文章结构清晰,分为基础知识、进阶技巧和实战应用三个部分,逐步深入,让读者在学习过程中不断积累经验,提高编程能力。
|
4天前
|
SQL 前端开发 数据可视化
Rodeo支持多种Python库
Rodeo支持多种Python库
14 5
|
2天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
17 3
|
8天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
37 8
|
9天前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【9月更文挑战第12天】决策树算法作为机器学习领域的一颗明珠,凭借其直观易懂和强大的解释能力,在分类与回归任务中表现出色。相比传统统计方法,决策树通过简单的分支逻辑实现了数据的精准分类。本文将借助Python和scikit-learn库,以鸢尾花数据集为例,展示如何使用决策树进行分类,并探讨其优势与局限。通过构建一系列条件判断,决策树不仅模拟了人类决策过程,还确保了结果的可追溯性和可解释性。无论您是新手还是专家,都能轻松上手,享受机器学习的乐趣。
24 9
|
7天前
|
SQL JavaScript 前端开发
用Java、Python来开发Hive应用
用Java、Python来开发Hive应用
18 6
|
5天前
|
存储 程序员 数据处理
深入理解Python生成器及其应用
本文将探讨Python生成器的基本概念、工作原理及其在实际编程中的多种应用场景。通过实例解析,帮助读者更好地理解和掌握这一强大的编程工具。
|
6天前
|
数据采集 算法 数据处理
Python中的列表推导式:简介与应用
【9月更文挑战第14天】本文旨在介绍Python中一种强大且简洁的构造列表的方法——列表推导式。我们将从基础语法入手,通过实例演示其用法,并探讨在数据处理和算法优化中的应用价值。文章将不包含代码示例,而是专注于概念理解和应用场景的描述,以促进读者对列表推导式的深入认识。
12 3
|
8天前
|
数据采集 机器学习/深度学习 数据可视化
Python 在数据科学中的应用
这篇文章将深入探讨 Python 在数据科学中的多种应用,包括数据清洗、数据分析、可视化及机器学习。我们将通过实例展示如何利用 Python 的强大库和工具,如 Pandas、NumPy、Matplotlib、Seaborn 以及 Scikit-learn,来高效地进行数据处理与分析。无论您是初学者还是有经验的开发者,这篇文章都能为您提供宝贵的见解和实用技巧。