breaking an mp3 into parts by detecting silence as breakpoint

hi ,
I have an mp3 of following characteristics

Input #0, mp3, from ‘all-songs.mp3’:
creation_time : 2017-07-02 02:19:04
encoder : Lavf54.63.104
Duration: 07:35:09.43, start: 0.050113, bitrate: 16 kb/s
Stream #0:0: Audio: mp3, 22050 Hz, mono, fltp, 16 kb/s

I want to make multiple small mp3 out of it each having one song . Each song has variable duration .
So I zoomed in mp3 and selected a silent part between first two songs. It is approximately 0.6 second long .
My aim is to find dB level of silent part
So I choose analyze > plot spectrum
I get a frequency analysis window - there are multiple parameters to choose for graph namely algorithm , size , function , axis .
Currently I have chosen algorithm-spectrum , size-128 , function-hamming window , axis-log frequency
I can see that peak remains below -57dB.

So I choose part of mp3 that includes first two songs and choose analyze - silence finder . I use value of -57dB , 0.3second and label placement as 0.000 but it says ‘no silences found’ . Even with -50dB I get ‘no silences found’ .

What am I doing wrong here ?

PS : Once I get a text file containing location of silent points then I will usee ffmpeg to make multiple mp3 . Let me know if there is a better way .
I am using audacity 2.4.2 on windows 7 32 bit OS with 4GB RAM.


You can try -67dB which is quieter than -57dB. These are negative numbers. :nerd:

-67 also did not work.
BTW , silence finder option says ‘treat audio below this level as silence’ so if plot shows max as -57 then -50 should give me silence even in places where there is little sound.

That’s the wrong tool for the job.

Try using “Effect > Amplify” but do not apply the effect.
Just look at the number in the first box: “Amplification (dB)”

That is the amount of amplification required to bring the level up to 0 dB. So, for example, if it says “40.241”, then that means that the peak level of the selection is “40.241” dB below 0 dB, or in other words, it’s -40.241 dB.

Yes, I stand corrected. I had my head screwed in backwards. :wink:

What steve says, just select the audio in question and amplify will give you the number you are looking for.

Yes that worked well .

I found 118 silence points in 7.5 hour mp3 files .
Now I want to export part of audio between successive silence points as individual mp3 files .
One way is to export label to a text file the use some tool like ffmpeg to make small mp3 files .
I will have to write a script that takes time from text file and creates mp3 .
Is this possible using audacity ?
Please note that selecting successive silence points and exporting the interval to mp3 manually will be too tedious , I want to avoid that.


“Export Multiple” (based on Labels).

If you’ve not already labelled the silences, you may find the “Label Sounds” tool helpful:

and here’s “Export Multiple”: