我需要获取.wav文件的长度。
使用:
sox output.wav -n stat提供:
Samples read: 449718
Length (seconds): 28.107375
Scaled by: 2147483647.0
Maximum amplitude: 0.999969
Minimum amplitude: -0.999969
Midline amplitude: 0.000000
Mean norm: 0.145530
Mean amplitude: 0.000291
RMS amplitude: 0.249847
Maximum delta: 1.316925
Minimum delta: 0.000000
Mean delta: 0.033336
RMS delta: 0.064767
Rough frequency: 660
Volume adjustment: 1.000如何使用grep或其他方法仅输出第二列中的长度值,即28.107375?
谢谢
发布于 2010-12-27 00:07:56
stat效果将其输出发送到stderr,使用2>&1重定向到stdout。使用sed提取相关位:
sox out.wav -n stat 2>&1 | sed -n 's#^Length (seconds):[^0-9]*\([0-9.]*\)$#\1#p'发布于 2011-05-25 15:00:48
有一个更好的方法:
soxi -D out.wav发布于 2012-11-11 22:18:04
这可以通过使用以下命令来完成:
soxi -D input.mp3输出将是直接在secondssoxi -d input.mp3中的持续时间输出将是具有以下格式的持续时间hh:mm:ss.sshttps://stackoverflow.com/questions/4534372
复制相似问题