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")```  
相关文章
|
3月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
511 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
3月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
256 0
|
4月前
|
数据采集 监控 Java
Python 函数式编程的执行效率:实际应用中的权衡
Python 函数式编程的执行效率:实际应用中的权衡
280 102
|
2月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
261 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
2月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
330 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
3月前
|
机器学习/深度学习 算法 安全
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
239 6
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
277 18
|
4月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
411 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
3月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
267 0
|
4月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
299 0

推荐镜像

更多