On 8/31/14, Timothy Gu <timothyg...@gmail.com> wrote: > On Aug 29, 2014 11:23 AM, "Paul B Mahol" <one...@gmail.com> wrote: >> >> Signed-off-by: Paul B Mahol <one...@gmail.com> >> --- >> doc/filters.texi | 62 ++++++ >> libavfilter/Makefile | 1 + >> libavfilter/af_silenceremove.c | 478 > +++++++++++++++++++++++++++++++++++++++++ >> libavfilter/allfilters.c | 1 + >> 4 files changed, 542 insertions(+) >> create mode 100644 libavfilter/af_silenceremove.c >> >> diff --git a/doc/filters.texi b/doc/filters.texi >> index cca15fc..ea7da88 100644 >> --- a/doc/filters.texi >> +++ b/doc/filters.texi >> @@ -1881,6 +1881,68 @@ ffmpeg -i silence.mp3 -af > silencedetect=noise=0.0001 -f null - >> @end example >> @end itemize >> >> +@section silenceremove >> + >> +Removes silence from the beginning, middle or end of the audio. >> + > > @subsection Options
No other filters do that. > >> +The filter accepts the following options: >> + >> +@table @option >> +@item start_periods > >> +This value is used to indicate if audio should be trimmed at beginning >> of >> +the audio. > > ... and how much silence to trim. Nope, it does not tell how much to trim, it trims all silence up to noise. > >> A value of zero indicates no silence should be trimmed from the >> +beginning. > >> When specifying an non-zero value, it trims audio up until it >> +finds non-silence. Normally, when trimming silence from beginning of > audio >> +the @var{start_periods} will be @code{1} but it can be increased to > higher >> +values to trim all audio up to specific count of non-silence periods. > > Is this better? > > --- > When a nonzero value is specified, audio is trimmed until the specified > count of non-silence periods is reached. > > Normally you would use 1 which means that trimming is stopped as soon as > non-silence is reached. > --- I prefer original text from sox manual. > > What if I have an audio segment like this, with start_periods==2 and > start_duration==4? What will get trimmed and what will not? > > Silence5sec Noise1sec Silence2sec Noise5sec Silence5sec Noise5sec > Silence1sec NoiseForever It would trim up to 2nd silennce and would also trim 4 seconds from 5 seconds of noise5sec. > >> + >> +@item start_duration >> +Specify amount of time that non-silence must be detected before it stops > >> +trimming audio. By increasing the duration, burst of noise can be >> treated > > bursts of noises Changed. > >> +as silence and trimmed off. >> + > >> +@item start_threshold > >> +This indicate what sample value should be treated as silence. For >> digital > > indicate_s_ how "silent" a segment must be to be treated as silence. Done. > >> +audio, a value of @code{0} may be fine but for audio recorded from > analog, >> +you may wish to increase the value to account for background noise. > >> + >> +@item stop_periods >> +Set the count for trimming silence from the end of audio. >> +To remove silence from the middle of a file, specify a >> @var{stop_periods} > >> +that is negative. This value is the threated as a positive value and is > also > > threated Done. > >> +used to indicate the effect should restart processing as specified by >> +@var{start_periods}, making it suitable for removing periods of silence >> +in the middle of the audio. >> + >> +@item stop_duration >> +Specify a duration of silence that must exist before audio is not copied > any >> +more. By specifying a higher duration, silence that is wanted can be >> left >> +in the audio. >> + >> +@item stop_threshold > >> +This indicate what sample value should be treated as silence but for >> +trimming silence from the end of audio. > > This the same as @option {start_threshold} but for trimming... Changed. > >> + >> +@item leave_silence >> +This indicate that @var{stop_duration} length of audio should be left > intact >> +at the beginning of each period of silence. >> +For example, if you want to remove long pauses between words but do not > want >> +to remove the pauses completely. >> + >> +@end table >> + >> +@subsection Examples >> + >> +@itemize >> +@item >> +The following example shows how this filter can be used to start > recording >> +that does not contain the delay at the start which usually occurs >> between > >> +pressing the record button and the star of the performance: > > start Done. > >> +@example >> +silenceremove=1:5:0.02 > > What are these values? I.e. can you show is in a named form too? I could but this is shorter. > >> +@end example >> +@end itemize >> + > > More review might follow if you answer my question above. > > Timothy > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel