是否有命令行工具或ffmpeg / sox命令来生成语音标签?类似于大胆声音探测器

时间:2017-09-07 10:39:28

标签: audio cmd ffmpeg sox audacity

是否有命令行工具或ffmpeg / sox命令来生成语音标签?类似于大胆声音探测器。 输出中只需要timeStart和timeEnd。 优选地,从给定时间开始到给定时间结束。

2 个答案:

答案 0 :(得分:1)

1-提取时间:

ffmpeg -i input.mp3 -ss 00:00:00 -to 00:10:00 -acodec copy output.mp3

2-执行silentdetect:

ffmpeg -i output.mp3 -af silencedetect=noise=-18dB:d=0.15 -f null - 2> vol.txt

3-使用javaScript生成标签:

var inp=document.getElementById("inp"), outp=document.getElementById("outp");
var c, st=[], et=[], a=inp.value.split('\n');
for(var i=1; i<a.length; i++){
  c=a[i].split(' | ');
  (c.length==1?et.push(c[0].split(' ')[4]):st.push(c[0].split(' ')[4]) )
};
var t='';
for (var i=0;i<et.length; i++){
  t+=st[i]+'\t'+et[i]+'\t'+(i+1)+'\n'
};
outp.value=t;

答案 1 :(得分:1)

silentdetect过滤器将打印出静音读数。您可以将每个静音结束与下一个静音开始配对,以识别语音段。如果第一静音开始值不为零,则第一语音段对于该值为0。否则,你可以丢弃它。

要将过滤器输出记录到文件,请将其与元数据过滤器配对。

ffmpeg -i out_.mp3 -af "silencedetect=noise=-18dB:d=0.15,ametadata=mode=print:file=vol.txt" -f null -