Python 如何查找完全静音的音频文件

Python 如何查找完全静音的音频文件,python,Python,有一组wav格式的音频。我听说python中有检测静默的库。告诉我如何找到完全由静音组成的音频(好的,或者低于某种声音阈值)您可以使用SciPy在音频文件中创建一个值数组,然后检查音量并从中处理文件 from scipy.io import wavfile samplerate, data = wavfile.read('./output/audio.wav') 当你这样做的时候,你会得到两个变量。一个是音频的采样率或速度,另一个是NumPy阵列中的实际数据 from scipy.io imp

有一组wav格式的音频。我听说python中有检测静默的库。告诉我如何找到完全由静音组成的音频(好的,或者低于某种声音阈值)

您可以使用SciPy在音频文件中创建一个值数组,然后检查音量并从中处理文件

from scipy.io import wavfile
samplerate, data = wavfile.read('./output/audio.wav')
当你这样做的时候,你会得到两个变量。一个是音频的采样率或速度,另一个是NumPy阵列中的实际数据

from scipy.io import wavfile
samplerate, data = wavfile.read('./output/audio.wav')
maxVolume = 0.5
isLoud = False
for i in data:
    if i > maxVolume:
        isLoud = True
        break
if isLoud:
   print("Loud")
这是一个非常简单的方法来获得响亮的声音,可以有一个更好的响度检测系统,但我感觉你可以处理

如果您想在“响亮探测器”方面取得更高的水平,这里有一个很好的话题可以探讨:

  • 傅里叶变换(一种要求)

请先阅读此内容,然后询问您是否知道如何在列表中查找数字,然后您就知道如何在
.wav
文件中检测静音(或振幅低于某个阈值的样本)。格式非常简单-它只是一些元数据(通道数、采样器等),然后是实际的PCM(脉冲编码调制)样本。如果有一个通道(单声道),则所有采样都是连续的。如果有两个通道(立体声),则来自左通道和右通道的采样将交错。每个样本实际上只是一个数字,代表某个时间点的振幅。查看
wave
模块。我检查循环
中的所有文件,查找wav_dir中的f。glob(“*.wav”):
在某个时刻,我得到了<代码>WavFileWarning:Chunk(非数据)未被理解,跳过它。您能告诉我如何捕获此文件吗?请尝试:{您的代码}除了WavFileWarning:{如果失败,您的代码}我已经尝试过了。它不工作,它不会进入Exceptry“ExceptError:print(Error)”,只是为了看看会发生什么