Audio 是否有命令行工具或ffmpeg/sox命令来生成语音标签?类似于audacity sound finder

Audio 是否有命令行工具或ffmpeg/sox命令来生成语音标签?类似于audacity sound finder,audio,cmd,ffmpeg,sox,audacity,Audio,Cmd,Ffmpeg,Sox,Audacity,是否有命令行工具或ffmpeg/sox命令来生成语音标签?类似于audacity sound finder。 输出中只需要timeStart和timeEnd。 最好是从给定的时间开始到给定的时间结束生成。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:

是否有命令行工具或ffmpeg/sox命令来生成语音标签?类似于audacity sound finder。 输出中只需要timeStart和timeEnd。 最好是从给定的时间开始到给定的时间结束生成。

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;
var inp=document.getElementById(“inp”),outp=document.getElementById(“outp”);
变量c,st=[],et=[],a=inp.value.split('\n');
对于(var i=1;i1-提取时间:

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;
var inp=document.getElementById(“inp”),outp=document.getElementById(“outp”);
变量c,st=[],et=[],a=inp.value.split('\n');

对于(var i=1;i,沉默检测过滤器将打印沉默的读数。您可以将每个沉默结束与下一个沉默开始配对,以识别语音片段。如果第一个沉默开始值不是零,则第一个语音片段为该值的0。否则,您可以放弃该值

要将筛选器输出记录到文件,请将其与元数据筛选器配对

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

沉默检测过滤器将打印沉默的读数。您可以将每个沉默结束与下一个沉默开始配对,以识别语音片段。如果第一个沉默开始值不为零,则第一个语音片段为该值的0。否则,您可以放弃该值

要将筛选器输出记录到文件,请将其与元数据筛选器配对

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

silencedetect
过滤器将打印出静音的读数。您可以将每个静音结束与下一个静音开始配对,以识别语音片段。对于静音开始值,如果它不为零,则第一个语音片段为该值的0。否则,您可以放弃它。@Mulvya成功了,谢谢:
ffmpeg-i out.mp3-af silentedetect=noise=-18dB:d=0.15-f null-2>vol.txt
生成的标签与audacity的标签不同!第一个标签有一个负值!这可能是MP3解码器启动帧。将其视为零。@Mulvya不需要第一个值。是否有办法只写入[silencedetect@lines to vol.txt?
silencedetect,ametadata=mode=print:file=vol.txt
过滤器将打印出静默的读数。您可以将每个静默结束与下一个静默开始配对,以识别语音段。对于静默开始值,如果它不为零,则第一个语音段为0到该v值。否则,您可以放弃它。@Mulvya它成功了,谢谢:
ffmpeg-i out.\ump3-af-silenedetect=noise=-18dB:d=0.15-f null-2>vol.txt
生成的标签与audacity的标签不同!第一个标签有负值!这可能是mp3解码器启动帧。将其视为零。@Mulvya不需要第一个值。是您可以只将[silencedetect@行写入vol.txt吗?
silencedetect,ametadata=mode=print:file=vol.txt
感谢您的帮助,谢谢!感谢您的帮助,谢谢!