我有一个很长的音频文件列表,其中一些超过一个小时。我使用Jupyter notebook,Python 3.6和TinyTag库来获取音频的持续时间。我下面的代码会遍历这些文件,如果一个文件的长度超过一个小时,它会将该文件分成一个小时长的部分,以及一个不到一个小时的剩余部分,并将这些部分复制为fname_1,fname_2等。
该代码适用于我之前尝试的数据集,但这一次在运行一段时间后,我得到了下面的错误。我不知道这是从哪里来的,如何解决它,我已经阅读了类似的标题的问题,但他们的内容是不同的。
# fpaths is the list of filepaths
for i in range(0,len(fpaths)):
fpath=fpaths[i]
fname=os.path.basename(fpath)
fname0=os.path.splitext(fname)[0] #name without extension
tag = TinyTag.get(fname)
if tag.duration > 3600:
cmd2 = "ffmpeg -i %s -f segment -segment_time 3600 -c copy %s" %(fpath, fname0) + "_%d.wav"
os.system(cmd2)
os.remove(fpath)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-10-79d0ceebf75d> in <module>()
7 fname0=os.path.splitext(fname)[0]
8 tag = TinyTag.get(fname)
----> 9 if tag.duration > 3600:
10 cmd2 = "ffmpeg -i %s -f segment -segment_time 3600 -c copy %s" %(fpath, fname0) + "_%d.wav"
11 os.system(cmd2)
TypeError: '>' not supported between instances of 'NoneType' and 'int'
1条答案
按热度按时间7kjnsjlb1#
似乎有些结果没有
duration
也许可以将其更改为: