Python 如何检测浮点音频文件
我正在与pydub一起检查音频文件(wav和flacc)的位深度和帧率。如何验证其是否为浮点Python 如何检测浮点音频文件,python,audio,pydub,Python,Audio,Pydub,我正在与pydub一起检查音频文件(wav和flacc)的位深度和帧率。如何验证其是否为浮点 我试图检查pydub的采样率类型,但其始终int采样率位于音频文件的X轴上。它总是int,值从11025变为22050或44100 Hz 您正在查找音频文件的位深度。旧音乐有8位。CD有16位。浮点是32位。乍一看,不可能区分32位整数和32位浮点之间的区别 但是,该信息至少在文件的fmt部分给出。德国维基百科有一个文件格式列表()。0x0003 IEEE浮点值应该是您要查找的值 在pydub中,这将
我试图检查pydub的采样率类型,但其始终int采样率位于音频文件的X轴上。它总是
int
,值从11025变为22050或44100 Hz
您正在查找音频文件的位深度。旧音乐有8位。CD有16位。浮点是32位。乍一看,不可能区分32位整数和32位浮点之间的区别
但是,该信息至少在文件的fmt
部分给出。德国维基百科有一个文件格式列表()。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
作为输出。您的里程数可能会有所不同。采样率位于音频文件的X轴上。它总是int
,值从11025变为22050或44100 Hz
您正在查找音频文件的位深度。旧音乐有8位。CD有16位。浮点是32位。乍一看,不可能区分32位整数和32位浮点之间的区别
但是,该信息至少在文件的fmt
部分给出。德国维基百科有一个文件格式列表()。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
作为输出。您的里程可能会有所不同