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天前
|
jenkins 持续交付 Docker
一个python应用在CI/CD中的例子分享
一个python应用在CI/CD中的例子分享
20 10
|
3天前
|
JSON API 开发者
Python网络编程新纪元:urllib与requests库,让你的HTTP请求无所不能
【9月更文挑战第9天】随着互联网的发展,网络编程成为现代软件开发的关键部分。Python凭借简洁、易读及强大的特性,在该领域展现出独特魅力。本文介绍了Python标准库中的`urllib`和第三方库`requests`在处理HTTP请求方面的优势。`urllib`虽API底层但功能全面,适用于深入控制HTTP请求;而`requests`则以简洁的API和人性化设计著称,使HTTP请求变得简单高效。两者互补共存,共同推动Python网络编程进入全新纪元,无论初学者还是资深开发者都能从中受益。
22 7
|
3天前
|
数据采集 机器学习/深度学习 搜索推荐
Python爬虫技术基础与应用场景详解
本文介绍了爬虫技术的基本概念、原理及应用场景,包括数据收集、价格监测、竞品分析和搜索引擎优化等。通过一个实战案例展示了如何使用Python爬取电商网站的商品信息。强调了在使用爬虫技术时需遵守法律法规和道德规范,确保数据抓取的合法性和合规性。
|
5天前
|
Kubernetes Docker Python
如何在K8s中使用Python应用
一文带你了解如何在K8s中使用Python应用
15 4
|
6天前
|
JSON 安全 数据库
Python安全性大升级:OAuth与JWT,让你的应用穿上防弹衣🛡️
【9月更文挑战第6天】在数字世界中,每个应用都面临着安全威胁。作为Python开发者,构建强大的系统至关重要。OAuth和JWT为我们提供了坚实的安全保障。OAuth作为一种授权机制,让用户无需向第三方应用暴露敏感信息;JWT则通过自包含的信息传输,增强了安全性并提高了系统性能。利用Python生态中的这些工具,我们可以更好地保护用户数据,守护他们的信任与期待。下面是一个使用PyJWT生成和验证JWT的示例代码:(示例代码同上)通过这些技术,我们的应用能够更加稳健地在数字海洋中航行。
14 3
|
10天前
|
机器学习/深度学习 PyTorch 算法框架/工具
python这些库和框架哪个更好
【9月更文挑战第2天】python这些库和框架哪个更好
25 6
|
10天前
|
机器学习/深度学习 数据采集 算法框架/工具
python有哪些常用的库和框架
【9月更文挑战第2天】python有哪些常用的库和框架
16 6
WK
|
10天前
|
数据采集 XML 安全
常用的Python网络爬虫库有哪些?
Python网络爬虫库种类丰富,各具特色。`requests` 和 `urllib` 简化了 HTTP 请求,`urllib3` 提供了线程安全的连接池,`httplib2` 则具备全面的客户端接口。异步库 `aiohttp` 可大幅提升数据抓取效率。
WK
29 1
WK
|
8天前
|
机器学习/深度学习 数据挖掘 测试技术
Python在移动设备上的应用场景
Python在移动设备上的应用广泛,尽管不是原生开发首选,但凭借其灵活性、跨平台特性和丰富库支持,Python在跨平台应用开发、自动化测试、设备管理、数据分析、机器学习、原型设计及教育领域展现出巨大潜力。开发者可利用Kivy、BeeWare等框架进行一次编写多平台运行的应用开发,同时Python也是自动化测试、数据分析(如使用Pandas、NumPy)及机器学习(如Scikit-learn、TensorFlow)的理想选择。此外,Python还适用于快速原型设计和教育工具开发,其简洁语法使编程学习更为便捷。随着技术进步,Python在移动设备上的应用前景将更加广阔。
WK
13 0
|
11天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
35 0