2024-09-24 02:21:55 发布
网友
我是信号处理的新手,我经常和librosa库合作。 我想知道当我使用librosa.load函数读取音频(.wav)文件时,它返回的信息是什么。 是瞬时声压吗,单位为pa?或者仅仅是没有单位的声音信号的瞬时振幅
为了补充上述答案,您还可以使用librosa函数 librosa.get_duration(y,sr)以秒为单位获取音频文件的持续时间。 或者您可以使用len(y)/sr以秒为单位获取音频文件的持续时间
librosa.get_duration(y,sr)
len(y)/sr
为了确认前面的答案,librosa.load返回一个时间序列,该时间序列在librosa glossary中定义为:
“时间序列: 通常是一个音频信号,用y表示,并用浮点值的一维numpy.ndarray表示。y[t]对应于采样t处波形的振幅
numpy.ndarray
振幅通常作为最初拾取音频的麦克风或接收器设备周围压力变化的函数进行测量。(详见here)
据我所知,振幅是记录时大气压力变化的测量值。根据librosa.load文档here,此方法返回两件事:
librosa.load
采样率sr:这意味着每秒记录多少个样本
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
y.shape = (1355168,)
1355168
total_number_of_samples
sample_rate
为了补充上述答案,您还可以使用librosa函数
librosa.get_duration(y,sr)
以秒为单位获取音频文件的持续时间。 或者您可以使用len(y)/sr
以秒为单位获取音频文件的持续时间为了确认前面的答案,librosa.load返回一个时间序列,该时间序列在librosa glossary中定义为:
“时间序列: 通常是一个音频信号,用y表示,并用浮点值的一维
numpy.ndarray
表示。y[t]对应于采样t处波形的振幅振幅通常作为最初拾取音频的麦克风或接收器设备周围压力变化的函数进行测量。(详见here)
据我所知,振幅是记录时大气压力变化的测量值。根据
librosa.load
文档here,此方法返回两件事:采样率
sr
:这意味着每秒记录多少个样本二维阵列:
以下是官方文件中的一个示例:
我们可以看到:
22050
,这意味着记录器每秒记录22050
次李>y.shape = (1355168,)
,这意味着整个音频中只有一个通道(单声道)记录了1355168
个样本李>total_number_of_samples
除以sample_rate
来计算此音频文件的持续时间相关问题 更多 >
编程相关推荐