librosa.load 返回什么信息?

thi*_*pan 2 python audio signals signal-processing librosa

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

Anw*_*vic 9

据我所知,幅度是记录时大气压变化的量度。根据此处的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
Run Code Online (Sandbox Code Playgroud)

我们可以看到:

  • 采样率是22050指记录器22050每秒记录的次数。
  • y.shape = (1355168,)该装置,有1355168记录在仅一个通道(单声道)在整个音频样本。
  • 使用简单的数学运算,可以通过将计算该音频文件的持续时间total_number_of_samples超过sample_rate


Mor*_*ana 5

为了确认之前的答案,librosa.load 返回一个时间序列,在librosa 词汇表中定义为:

时间序列:通常是一个音频信号,用y表示,并表示为一维numpy.ndarray浮点值。y[t]对应于采样t处的波形幅度。”

幅度通常作为最初拾取音频的麦克风或接收器设备周围压力变化的函数来测量。(在此处查看更多信息)。