librosa的加载和scipy.io.wavfile的读取之间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了librosa的加载和scipy.io.wavfile的读取之间的区别相关的知识,希望对你有一定的参考价值。

我有一个关于librosa的load函数和readscipy.io.wavfile函数之间的区别的问题。

from scipy.io import wavfile
import librosa

fs, data = wavfile.read(name)
data, fs = librosa.load(name)

导入的语音文件是同一个文件。如果运行上面的代码,数据的值将以不同的方式来自两个函数。我想知道为什么数据的价值不同。

答案

librosa.core.load的文档字符串:

将音频文件加载为浮点时​​间系列。

音频将自动重新采样到给定的速率(默认sr = 22050)。

要保留文件的本机采样率,请使用sr = None。

scipy.io.wavfile.read不会自动重新采样数据,如果文件中的整数是样本,则样本不会转换为浮点数。

另一答案

librosa.core.load支持24位音频文件和96kHz采样率。因此,转换为浮动和默认重采样,在许多情况下,它可能比scipy.io.wavfile.read慢得多。

以上是关于librosa的加载和scipy.io.wavfile的读取之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Librosa MFCC 特征提取

使用 librosa.resample 后出现“wave.Error:未知格式:3”。 librosa 的输出有啥问题吗?

在 python 中使用 scipy 和 librosa 读取 wav 文件

iOS中的Librosa Python库集成[关闭]

使用 librosa 理解 STFT

到 Librosa 的 AudioSegment