首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从sox输出中获取.wav的长度

从sox输出中获取.wav的长度
EN

Stack Overflow用户
提问于 2010-12-26 23:36:17
回答 9查看 39.7K关注 0票数 45

我需要获取.wav文件的长度。

使用:

代码语言:javascript
复制
sox output.wav -n stat

提供:

代码语言:javascript
复制
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?

谢谢

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-12-27 00:07:56

stat效果将其输出发送到stderr,使用2>&1重定向到stdout。使用sed提取相关位:

代码语言:javascript
复制
sox out.wav -n stat 2>&1 | sed -n 's#^Length (seconds):[^0-9]*\([0-9.]*\)$#\1#p'
票数 41
EN

Stack Overflow用户

发布于 2011-05-25 15:00:48

有一个更好的方法:

代码语言:javascript
复制
soxi -D out.wav
票数 56
EN

Stack Overflow用户

发布于 2012-11-11 22:18:04

这可以通过使用以下命令来完成:

  • soxi -D input.mp3输出将是直接在seconds
  • soxi -d input.mp3中的持续时间输出将是具有以下格式的持续时间hh:mm:ss.ss
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4534372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档