Python Librosa 库2024 年 8 月 29 日 | 5 分钟阅读 Librosa 是一个有价值的 Python 音乐和声音处理库,它帮助程序开发人员使用 Python 构建用于处理音频和音乐文件格式的应用程序。这个用于音乐和声音分析的 Python 包主要用于处理音频数据,例如音乐生成(使用 Lstm)、自动语音识别。 该库易于使用,可以处理与音频和音乐处理相关的基本任务和高级任务。它是一个开源项目,在 ISC 许可证下免费提供。 该库支持与音频文件处理和提取相关的多种功能,例如从磁盘加载音频、计算各种频谱表示、谐波-打击乐源分离、经典频谱分解、堆叠和转换音频、时域音频处理、序列建模、匹配谐波-打击乐分离、节拍同步以及更多功能。 Librosa 有助于可视化音频信号,并使用各种信号处理技术进行特征提取。 它将帮助我们实现
安装使用 PyPI (Python 包索引)在系统上打开命令提示符,然后键入以下任一命令。 Conda 安装如果您使用 conda/Anaconda 环境,可以从 conda-fashion 频道安装 librosa。打开 Anaconda 提示符并输入 注意:如果您使用的是 conda 中的 Python 3.5 环境,您可能会遇到 numba 依赖项问题。在安装 librosa 之前,可以先从 numba conda 频道安装 numba 来避免此问题。 librosa 包被组织成一个子模块集合
示例在深入细节之前,我们先来看一个简单的程序示例。 说明 步骤 1:程序的第一个步骤 获取 librosa 附带的音频示例文件的路径。之后,文件名将是一个变量字符串,包含示例音频文件的路径。 步骤 2: 第二步 将音频加载并转换为时间序列 y,表示为一个一维 NumPy 浮点数组。变量 srs 包含 y 的采样率,即每秒音频的采样数。默认情况下,所有音频在加载时都会被重采样并混合为单声道至 22050 Hz。通过向 librosa.load 提供额外的参数可以覆盖此行为。 步骤 3:接下来,我们运行节拍跟踪器 节拍跟踪器的结果是对节拍(每分钟节拍数)的估计以及与已识别节拍事件对应的帧号数组。 这里的帧对应于信号 (y) 的短窗口,每个窗口由 hop_length = 512 个样本分隔。librosa 使用重叠帧,以便第 k 帧基于样本 k * hop_length。 步骤 4: 下一个操作将帧号 beat_frames 转换为时间戳。 现在,beat_times 将是一个与已识别节拍事件对应的浮点数数组(时间戳)。 beat_times 中的项目应该看起来像这样 输出 7.43 8.29 9.218 10.124 ... 高级用法 在这里,我们将介绍一个更高级的语法示例,即集成谐波-打击乐分离、多个频谱特征和节拍同步特征聚合的语法。 加载示例剪辑的语法 设置 hop 长度的语法;在 22050 Hz 下,512 个样本 ~= 24ms 将谐波和打击乐分离为两个波形的语法 对打击乐信号进行节拍跟踪的语法 从原始信号计算 MFCCC 特征的语法 使用一阶差分(增量特征)的语法 堆叠和同步节拍事件之间的特征的语法(这次,我们将使用均值(默认)而不是中值) 从谐波信号计算色度图特征的语法 聚合节拍事件之间的色度图特征的语法(此处,使用每个特征在节拍帧之间的中值) 将所有节拍同步特征堆叠在一起的语法 下一主题Python 人工智能项目入门 |
在本教程中,我们将学习 Python 中用于数据工程师的流行库。这些库使数据工程师的生活变得轻松。众所周知,Python 是机器学习最流行的语言。我们将列出这些流行库及其代码。前六个...
阅读 8 分钟
在本教程中,我们将学习如何实现和使用。1996年,DBSCAN或基于密度的带噪声空间聚类算法首次提出,并于2014年荣获“时间考验”奖。该“时间考验”...
阅读9分钟
在创建和向客户交付商品过程中涉及的制造和分销网络被称为供应链。而供应链分析则研究供应链的许多元素,以学习提高其效率并为消费者增加更多价值的方法。这篇文章是为...
阅读 22 分钟
滑动拼图是一种流行的益智游戏,涉及在棋盘上滑动图块以将它们重新排列成特定的顺序。Python 中的滑动拼图 滑动拼图游戏也称为滑动拼图或滑动块游戏。在本文中,我们将构建一个...
7 分钟阅读
PyGTK 是 GTK+ (GIMP Toolkit) 图形用户界面库的 Python 绑定。它提供了一套强大而灵活的工具,用于为桌面应用程序创建跨平台图形用户界面 (GUI)。在本文中,我们将探讨 PyGTK 的特性以及如何...
5 分钟阅读
本文将介绍将给定矩阵元素顺时针旋转的代码。为了可视化这个问题,让我们先看一些矩阵旋转的例子。矩阵旋转示例:对于 3 * 3 矩阵输入 1 4 7 2 ...
5 分钟阅读
我们都可能听说过应用程序处理缓慢或执行缓慢,但我们是否曾尝试理解其背后的原因?应用程序处理或执行我们的命令所花费的时间可能是有原因的,但RAM呢...
阅读 12 分钟
Kivy 是 Python 中一个独立于平台的图形用户界面工具。因为它兼容 Android、iOS、Linux 和 Windows。它通常用于 Android 应用程序的开发,但这并不妨碍它在桌面程序中的应用。屏幕管理器小部件:一个名为...的小部件
阅读 62 分钟
在 Python 中,列表是什么?在 Python 中,列表是一个有序且可变的项目集合。列表用方括号书写,项目之间用逗号分隔。例如,这里是一个整数列表:my_list = [1, 2, 3, 4, 5] 有时...
阅读 4 分钟
在讨论 VIF 之前,有必要先了解线性回归中的多重共线性是什么?当两个独立变量具有强相关性时,就会出现多重共线性。无论我们进行探索性数据分析,目标都是获得影响我们目标的重要参数...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India