我有1000个音频文件的集合。这些文件是以MP3格式存储的音乐文件,有些长10分钟,有些长15秒。
我在MP3中也有一个1秒长的音频文件。我想从我的收藏夹中找到哪些文件包含此1秒音频文件。这个1秒的音频文件的音频质量可能比我的收藏品差一点,因为它经过了重新编码,重新压缩等操作,因此,与通过我的文件收藏品进行简单的二进制搜索相比,我需要一种更智能的比较方法。
如果我想创建一个小程序来搜索我的音频文件集合中的1秒钟音频模式,应该怎么读?
编辑:换句话说:我的1000个文件集中的每个文件都是一首歌。我正在搜索的这首1秒片段是该收藏集中某首歌曲的片段,我想知道它取自哪首歌曲。
下面是使用到做这件事len(audioSegment)
的feaure pydub。
“ ../so/*.mp3”保存您的音频文件。或者,您可以使用来遍历各个文件夹glob
。
from glob import glob
from pydub import AudioSegment
for mp3_file in glob("../so/*.mp3"):
tmpAudioSegment = AudioSegment.from_mp3(mp3_file)
#Note: pydub len returns in milliseconds.
print("{} : {}".format(mp3_file,len(tmpAudioSegment)/1000))
结果
../so/Bubbles.mp3 : 10 sec
../so/Drone Dark Suspense 2.mp3 : 30 sec
../so/Sci-Fi Sweep.mp3 : 8 sec
../so/Pinball Machine.mp3 : 22 sec
../so/Title Flange Sweep Hit.mp3 : 3 sec
../so/Whale Sounds.mp3 : 6 sec
../so/Ambient Hit.mp3 : 2 sec
../so/Golf Hit 3.mp3 : 1 sec
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句