【问题标题】:Different sample rate SR for same wav file between librosa and tensorflowlibrosa和tensorflow之间相同wav文件的不同采样率SR
【发布时间】:2021-11-12 21:58:45
【问题描述】:

我有一个 wav 文件,我用 Audacity 重新采样到 16.000 kHz。 现在我正在尝试用两种不同的方式用 python 加载文件。

import tensorflow as tf
import librosa

f = "path/to/wav/file/xxxx.wav"

raw = tf.io.read_file(f)
audio, sr = tf.audio.decode_wav(raw, desired_channels=1)
print("Sample Rate TF: ",sr.numpy())

y, sr2 = librosa.load(f)
print("Sample Rate librosa: ",sr2)


#Sample Rate TF:  16000
#Sample Ratelibrosa:  22050

为什么同一个文件的采样率如此不同? 我可以更信任哪个库?

【问题讨论】:

    标签: python tensorflow nlp wav librosa


    【解决方案1】:

    这不是“信任”的问题。这两个函数都做了它们应该做的事情。 TF 版本显然不会重新采样音频。默认情况下,Librosa 会重新采样到 22,050 Hz(无论出于何种原因)。请read the docs。你可以通过调用来避免这种情况

    y, sr2 = librosa.load(f, sr=None)
    

    一般来说,sr 参数提供了要重新采样的采样率;通过传递None,您可以防止重新采样。

    【讨论】:

    • 哦,这是一个很好的提示。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 2019-01-03
    相关资源
    最近更新 更多