0

我试图从 wav 文件中读取位深度wavfile.read,但是,我没有成功。

这是我到目前为止的代码:

import numpy as np
from numpy.fft import fft, rfft
import matplotlib.pyplot as plt
from scipy.io import wavfile
from scipy import signal
import librosa
import librosa.display

input_file = (r'G:/pt5GAL_TCL_mono_Mono.wav')
sample_rate1, samples = wavfile.read(input_file)

# File Info
signal, sample_rate2 = librosa.load(input_file)
print('Total number of samples: ', signal.shape[0])
print('Sample rate: ', sample_rate1)
print('Length of file in seconds: ', librosa.get_duration(signal))
# print('Bit Depth: ', bits_per_sample)

如何返回 wav 文件的位深度?

4

1 回答 1

1

您不能从 的返回值直接访问每个样本的位数,但您可以根据https://docs.scipy.orgscipy.io.wavfile.read中显示的表从返回的 NumPy 数组的 dtype 间接(并且可能不明确)确定它/doc/scipy/reference/generated/scipy.io.wavfile.read.html

当然,您可以只使用wavePython 标准库中具有方法的模块getsampwidth

于 2021-08-02T17:25:49.407 回答