做语音识别任务时,数据量是我们很关注的一个问题,如何统计一个数据集的音频总时长呢?本文利用Ubuntu下的工具sox和python语言即可快速获得结果。
sox的安装
自行百度~~实验室集群有,没自己装过
sox使用
sox有很多用途,处理音频会经常用到它,可以用于音频的剪切,拼接等,很多博客都有介绍。本文只需要获取音频的时长信息。
sox out.wav -n stat
输出:
Samples read: 89168
Length (seconds): 5.573000
Scaled by: 2147483647.0
Maximum amplitude: 0.200775
Minimum amplitude: -0.262512
Midline amplitude: -0.030869
Mean norm: 0.015213
Mean amplitude: -0.000010
RMS amplitude: 0.022959
Maximum delta: 0.182007
Minimum delta: 0.000000
Mean delta: 0.009004
RMS delta: 0.014202
Rough frequency: 1575
Volume adjustment: 3.809
我们只要获取Length (seconds)信息就可以了。想法就是把每个音频的信息都输出到文件中,然后使用python把这些数字读取出来进行累加。首先尝试将结果重定向到文件中,然而发现无法进行重定向,哎。
然后找了很多博客也没找到原因。<