xtl*_*luo 5 python audio-processing
我必须检测文件是否是有效的 mp3 文件。到目前为止,我找到了两个解决方案,包括:
来自 Peter Carroll 的这个解决方案
使用try-catch表达式:
try:
_ = librosa.get_duration(filename=mp3_file_path)
return True
except:
return False
Run Code Online (Sandbox Code Playgroud)
上述两种解决方案都有效,但可能有一些缺点,第一个解决方案似乎太复杂而第二个解决方案太慢(以秒为单位,取决于音频的长度)。所以我想知道是否有更好的方法用python验证mp3文件?
谢谢。
试试eyed3。
\n\nIn [8]: %timeit eyed3.load("some.mp3").info.time_secs \n1.94 ms \xc2\xb1 43.8 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 1000 loops each)\n\nIn [10]: %timeit eyed3.load("120mb_video.mp4") \n4.43 ms \xc2\xb1 26.6 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 100 loops each)\n\nRun Code Online (Sandbox Code Playgroud)\n\n基本上,如果 eyesed3.load 返回 None,则该文件不是有效的 mp3 文件。即使是 120mb 的文件,它的平均运行时间也为 4.5 毫秒。
\n| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |