首页 > 解决方案 > python pydub.silence split_on_silence 返回 0 块

问题描述

我正在使用带有参数的split_on_silence函数,如下面的python方法所示。

我没有得到任何单块作为回报。块长度为 0。

我在做什么错?

from pydub import AudioSegment 
from pydub.silence import split_on_silence

song = AudioSegment.from_wav(my_file) 
            
# split track where silence is 0.5 seconds  
# or more and get chunks 
chunks = split_on_silence(song, 
    # must be silent for at least 0.5 seconds 
    # or 500 ms. adjust this value based on user 
    # requirement. if the speaker stays silent for  
    # longer, increase this value. else, decrease it. 
    min_silence_len = 500, 
    
    # consider it silent if quieter than -16 dBFS 
    # adjust this per requirement 
    silence_thresh = -16
) 

标签: python

解决方案


song.dBFS
-22.4691372540001

silence_thresh - (in dBFS) anything quieter than this will be considered silence.Notice the average loudness of the sound is -22.4 dBFS (quieter than 
 the default silence_thresh of -16dBFS). 

更改 的值silence_thresh = -23

[从silence_thresh = -21] 工作。检查以获取更多详细信息


推荐阅读