Re: A tool to check for silent beginnings and endings?
Reply #5 – 2020-11-26 21:24:57
Sox I'am looking at my own script from 2004 (and since I'd have to reread sox docs to understand it, I'am hesitant to post it), I think this might be helpfulhttps://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/comment-page-2/ Especially the sox in.wav temp.wav silence 1 0.1 1% reverse sox temp.wav out.wav silence 1 0.1 1% reverse part looks familiar (again read the sox docs to understand whats up). edit: Actually that will cut out 'silence', so I'am guessing not exactly what you are looking for.Ffmpeg This looks like a promising start (bash syntax) # get duration in seconds ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$file" 171.964082 # silence detect in seconds ffmpeg -i "$file" -af silencedetect=n=-50dB:d=0.01 -f null 2>&1 - | grep silencedetect [silencedetect @ 0x7fffee38f440] silence_start: 0 [silencedetect @ 0x7fffee38f440] silence_end: 0.414762 | silence_duration: 0.414762 [silencedetect @ 0x7fffee38f440] silence_start: 166.15 [silencedetect @ 0x7fffee38f440] silence_end: 166.162 | silence_duration: 0.0110884 [silencedetect @ 0x7fffee38f440] silence_start: 166.3 [silencedetect @ 0x7fffee38f440] silence_end: 166.321 | silence_duration: 0.0218367 [silencedetect @ 0x7fffee38f440] silence_start: 166.33 [silencedetect @ 0x7fffee38f440] silence_end: 166.356 | silence_duration: 0.0256463 [silencedetect @ 0x7fffee38f440] silence_start: 166.367 [silencedetect @ 0x7fffee38f440] silence_end: 166.38 | silence_duration: 0.0130612 [silencedetect @ 0x7fffee38f440] silence_start: 166.395 [silencedetect @ 0x7fffee38f440] silence_end: 166.414 | silence_duration: 0.0188209 [silencedetect @ 0x7fffee38f440] silence_start: 166.425 [silencedetect @ 0x7fffee38f440] silence_end: 166.438 | silence_duration: 0.0131293 [silencedetect @ 0x7fffee38f440] silence_start: 166.438 [silencedetect @ 0x7fffee38f440] silence_end: 166.459 | silence_duration: 0.0207256 [silencedetect @ 0x7fffee38f440] silence_start: 166.461 [silencedetect @ 0x7fffee38f440] silence_end: 166.533 | silence_duration: 0.071542 [silencedetect @ 0x7fffee38f440] silence_start: 166.533 [silencedetect @ 0x7fffee38f440] silence_end: 166.57 | silence_duration: 0.0369841 [silencedetect @ 0x7fffee38f440] silence_start: 166.57 [silencedetect @ 0x7fffee38f440] silence_end: 166.593 | silence_duration: 0.0226984 [silencedetect @ 0x7fffee38f440] silence_start: 166.593 [silencedetect @ 0x7fffee38f440] silence_end: 166.615 | silence_duration: 0.0218367 [silencedetect @ 0x7fffee38f440] silence_start: 166.615 [silencedetect @ 0x7fffee38f440] silence_end: 171.913 | silence_duration: 5.29803 There is -to position and -sseof position which could be used to limit the amount of file to be scanned.http://ffmpeg.org/ffmpeg.html#Main-options An attempt at script Usage example:detectsilence *.m4a may return--- Jennifer Lopez - Jenny from the Block (Official Music Video)-dly6p4Fu5TE.m4a no silence at start no silence at the end --- Jimmy Eat World - The Middle (Official Music Video)-oKsxPW6i3pM.m4a no silence at start [silencedetect @ 0x7fffcaeec7c0] silence_start: 4.02608 [silencedetect @ 0x7fffcaeec7c0] silence_end: 4.99921 | silence_duration: 0.973129 --- J-Kwon - Tipsy (Video)-VwXeN2FsE7w.m4a [silencedetect @ 0x7fffd0f6c180] silence_start: 0 [silencedetect @ 0x7fffd0f6c180] silence_end: 1.2537 | silence_duration: 1.2537 no silence at the end --- John Mayer - Your Body Is A Wonderland (Official Music Video)-N5EnGwXV_Pg.m4a no silence at start no silence at the end --- JoJo - Leave (Get Out) Official Music Video [2004]-ggWyUEuGcWY.m4a no silence at start no silence at the end