首页 > 解决方案 > librosa.load 返回什么信息?

问题描述

我是信号处理的新手,我正在使用 librosa 库。我想知道当我使用它读取音频(.wav)文件时 librosa.load 函数返回的信息是什么。是Pa的瞬时声压吗?或者只是没有单位的声音信号的瞬时幅度?

标签: pythonaudiosignalssignal-processinglibrosa

解决方案


据我所知,幅度是记录时大气压力变化的测量值。根据此处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

推荐阅读