从python中的sox获取.wav的持续时间

时间:2018-08-16 04:57:31

标签: python audio wav sox

我知道如何在Linux命令中使用sox打印.wav文件的持续时间。

soxi -D input.wav

所以我在python中使用了这种语法。

subprocess.call(['soxi', '-D', input.wav])

但是我想将持续时间(秒)保存在一个变量中。 如何通过变量获取它?

+++++++++++编辑++++++++++++++

使用)

wavduration = subprocess.call(['soxi', '-D', input.wav])
print(wavduration)

输出)

4.000000
0

这不是正确的方法...

1 个答案:

答案 0 :(得分:1)

Python具有sox包装器,并且具有以下方法。

seconds = sox.file_info.duration('input file name')
print(seconds)

docs https://pysox.readthedocs.io/en/latest/api.html#module-sox.file_info

pysox https://github.com/rabitt/pysox/blob/master/README.md