如何检测浮点音频文件

2024-10-03 09:15:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在与pydub一起检查音频文件(wav和flacc)的位深度和帧率。如何验证其是否为浮点

https://en.wikipedia.org/wiki/Audio_bit_depth#Floating_point

我试图检查pydub的采样率类型,但总是int


Tags: httpsorgwikibitwikipediaaudio音频文件en
1条回答
网友
1楼 · 发布于 2024-10-03 09:15:49

采样率位于音频文件的X轴上。它总是int,值从11025变化到22050或44100 Hz

您正在查找音频文件的位深度。旧音乐有8位。CD有16位。浮点是32位。乍一看,不可能区分32位整数和32位浮点之间的区别

然而,该信息至少在RIFF WAV文件的fmt部分给出。德国维基百科有一个文件格式列表(here)。0x0003 IEEE浮点值应该是您要查找的值

在pydub中,这将为您提供格式信息:

from pydub.utils import mediainfo_json

info = mediainfo_json('example.wav')
audio_streams = [x for x in info['streams'] if x['codec_type'] == 'audio']
print(audio_streams[0].get('sample_fmt'))

对于一个具有32位浮点的示例文件,我将flt作为输出。您的里程可能会有所不同

相关问题 更多 >