我有1000个音频文件的集合。这些文件是以MP3格式存储的音乐文件,有些长10分钟,有些长15秒。
我在MP3中也有一个1秒长的音频文件。我想从我的收藏夹中找到哪些文件包含此1秒音频文件。这个1秒的音频文件的音频质量可能会比我的收藏品差一点,因为它经过了重新编码,重新压缩等操作,因此,与在我的文件收藏夹中进行简单的二进制搜索相比,我需要一种更智能的比较方法。
如果我想创建一个小程序来搜索我的音频文件集合中的1秒音频模式,我应该读些什么?
编辑:换句话说:我收藏的1000个文件中的每个文件都是一首歌。我正在搜索的这首1秒钟片段是该专辑中某首歌曲的片段,我想知道它取自哪首歌曲。
答案 0 :(得分:0)
这是使用pydub的select c.id, nvl(tms,max_dt) tms, nvl(col1,mcol1) col1, nvl(col2,mcol2) col2,
nvl(col3,mcol3) col3
from
calc c
inner join
(select id, max(tms) max_Dt, max(col1) mcol1, max(col2) mcol2, max(col3) mcol3
from calc
group by id) a on a.id = c.id and a.max_dt = tms;
功能来实现的一种方法。
“ ../ so / *。mp3”保存您的音频文件。或者,您可以使用len(audioSegment)
遍历各个文件夹。
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))