python - librosa.load 返回什么信息?
问题描述
我是信号处理的新手,我正在使用 librosa 库。我想知道当我使用它读取音频(.wav)文件时 librosa.load 函数返回的信息是什么。是Pa的瞬时声压吗?或者只是没有单位的声音信号的瞬时幅度?
解决方案
据我所知,幅度是记录时大气压力变化的测量值。根据此处librosa.load
的文档,此方法返回两件事:
采样率
sr
:这意味着每秒记录多少个样本。二维数组:
- 第一个轴:表示音频中记录的幅度(气压变化)样本。
- 第二个轴:表示音频中的声道数。
以下是官方文档中的示例:
>>> import librosa
>>> filename = librosa.util.example_audio_file()
>>> y, sr = librosa.load(filename)
>>> sr #sample rate
22050
>>> y.shape #mono (1 channel)
(1355168,)
>> y.shape[0] / sr #duration of audio file in seconds
61.45886621315193
正如我们所见:
- 采样率是
22050
指记录器22050
每秒记录的次数。 - 这
y.shape = (1355168,)
意味着1355168
在整个音频中仅在一个通道(单声道)上记录了样本。 total_number_of_samples
使用简单的数学运算,您可以通过除以sample_rate
推荐阅读
- swift - Swift:图像大于按钮的按钮
- c# - 如何将整行从数据库读取到 C#?
- angular - 如何使角度材料复选框对反应中的值的编程变化做出反应?
- javascript - 运行 npm start 命令时 React Redux 项目的语法错误
- amazon-web-services - 使用密码而不是 pem 密钥启用 SSH
- binding - Native Control 上的双向绑定导致 Xamarin Forms 跨平台严重崩溃
- c# - 试图确定一个应用程序是否使用 web api 2 或其他东西?
- javascript - 网页中的 Nodejs 模块
- arduino - IrRemote lib 可使用的 ir 代码为十六进制
- python - python:如何在 yaml 文件中添加新的键和值