Re: Sox silence Breakdown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2017-08-10 01:34, Jerry Powell wrote:
I am trying to remove the silence from script generated mp3's but not ALL silence (otherwise it all gets crammed up) can someone break this command down to me? Please i have read the man page and i just cant wrap my mind
around it...I've searched and searched google just cant get it
The file has a slight buzz to it

 silence -l 1 0.1 1% -1 2.0 5%


I am guessing, as I have never used this effect.


But, the manual says the form of the command is

silence [−l] above-periods [duration threshold[d|%]
             [below-periods duration threshold[d|%]]

so first:

 - you HAVE specified the optional   -l
   which affects how 'below-periods' works

 - then: above-periods [duration threshold[d|%]    is:   1 0.1 1%

    and: below-periods duration threshold[d|%]     is:  -1 2.0 5%


Starting with the 'above-periods' part:   1 0.1 1%
 that means   above-periods   is  1
              duration        is  0.1
              threshold       is  1%


So sox will scan from the start of the audio file looking just once (as
above-periods is 1) for an audio signal that is sufficiently more loud than
'silence' to decide that that's the start of the sound you want.

The 'louder than totally silent' audio will have to be more than (duration) 0.1 in length to be regarded as significant. But... 0.1 what? The manual
says that

  duration is a time specification with the peculiarity that a bare
  number is interpreted as a sample count, not as a number of seconds.
  For specifying seconds, either use the t suffix (as in ‘2t’) or
  specify minutes, too (as in ‘0:02’).

I imagine you did not mean 0.1 samples. I expect you probably meant this
value to be 0.1t (for a tenth of a second), or something else?

That 'louder than silent' concept also needs to be defined - how much louder? Your 1% means 1% of the loudest that the sound can get (I think it's not entirely clear if sox examines the whole audio file first to find out what its maximum actual loudness is, or whether it simply means the loudest signal that
could theoretically be stored in the file).



You also specified: below-periods duration threshold[d|%] is: -1 2.0 5%
   so   below-periods      is   -1
        duration           is   2.0
        threshold          is    5%
AND the original  -l  switch was specified.

The same comments as above apply to your duration (probably you meant 2t) and
threshold.

Because your below-periods value is -1 (ie negative) this means you want sox to look for periods of 'silence' in the middle of the file. I /think/ but am not certain that here it would look for only one such period (because your -1 is
numerically 1 once it is made positive).

Because you specified the initial -l switch, periods of 'silence' found in the middle of the file do not get totally removed. Instead they are shrunk so that any that is longer than the duration value you provided would be replaced by a shorter bits of 'silence' (of that duration) - or putting it another way, the first small part of the 'silence' is kept and the rest thrown away. If you'd
coded duration properly it might do what you want.


Remember, I'm only guessing!

--
Jeremy Nicoll - my opinions are my own

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Sox-users mailing list
Sox-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/sox-users




[Index of Archives]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux