Here’s the function’s code. The third arg, keep_silence keeps initial silence of a audio file. Set it 0 if you want to remove it.
https://github.com/jiaaro/pydub/blob/master/pydub/silence.py#L78
def split_on_silence(audio_segment, min_silence_len=1000, silence_thresh=-16, keep_silence=100, seek_step=1): """ Returns list of audio segments from splitting audio_segment on silent sections audio_segment - original pydub.AudioSegment() object min_silence_len - (in ms) minimum length of a silence to be used for a split. default: 1000ms silence_thresh - (in dBFS) anything quieter than this will be considered silence. default: -16dBFS keep_silence - (in ms or True/False) leave some silence at the beginning and end of the chunks. Keeps the sound from sounding like it is abruptly cut off. When the length of the silence is less than the keep_silence duration it is split evenly between the preceding and following non-silent segments. If True is specified, all the silence is kept, if False none is kept. default: 100ms
Leave a Reply