Return librosa.effect.Split 的值很奇怪
Return value of librosa.effect.Split is strange
正如标题,这个函数的结果不合逻辑,我不明白这个函数在做什么。
例如,这里是一些可重现的代码:
#load sample audio
filename = librosa.util.example_audio_file()
audio, sr = librosa.load(filename)
#get intervals which are non-silent
inter_20 = librosa.effects.split(audio, top_db=20)
inter_5 = librosa.effects.split(audio, top_db=5)
#create audio
above_20 = np.zeros(audio.shape)
above_5 = np.zeros(audio.shape)
for i in inter_20:
start,end = i
above_20[start:end]=audio[start:end]
for j in inter_5:
start,end = j
above_5[start:end]=audio[start:end]
#plot them out:
plt.figure(figsize=[15,3]) #figure 1
plt.plot(audio)
plt.plot(above_5,color='red')
plt.title('Audio above 5 dB')
plt.figure(figsize=[15,3]) #figure 2
plt.plot(audio)
plt.plot(above_20,color='red')
plt.title('Audio above 20 dB')
从这里可以看出:
对于图 1,这是 5dB 以上的音频:
对于图 2,它是高于 20dB 的音频:
怎么可能20dB以上的音频比5dB以上的音频多呢?
对我来说这没有意义。
来自文档:https://librosa.github.io/librosa/generated/librosa.effects.split.html
top_db:number > 0
The threshold (in decibels) **below** reference to consider as silence
我认为 top_db:20 意味着低于 (TOP - 20dB) 而不是仅仅 20dB 的一切都被认为是静音。
而且 TOP - 20dB 以上的会比 TOP - 5dB 多。它还可以解释你的照片。
正如标题,这个函数的结果不合逻辑,我不明白这个函数在做什么。
例如,这里是一些可重现的代码:
#load sample audio
filename = librosa.util.example_audio_file()
audio, sr = librosa.load(filename)
#get intervals which are non-silent
inter_20 = librosa.effects.split(audio, top_db=20)
inter_5 = librosa.effects.split(audio, top_db=5)
#create audio
above_20 = np.zeros(audio.shape)
above_5 = np.zeros(audio.shape)
for i in inter_20:
start,end = i
above_20[start:end]=audio[start:end]
for j in inter_5:
start,end = j
above_5[start:end]=audio[start:end]
#plot them out:
plt.figure(figsize=[15,3]) #figure 1
plt.plot(audio)
plt.plot(above_5,color='red')
plt.title('Audio above 5 dB')
plt.figure(figsize=[15,3]) #figure 2
plt.plot(audio)
plt.plot(above_20,color='red')
plt.title('Audio above 20 dB')
从这里可以看出: 对于图 1,这是 5dB 以上的音频:
对于图 2,它是高于 20dB 的音频:
怎么可能20dB以上的音频比5dB以上的音频多呢? 对我来说这没有意义。
来自文档:https://librosa.github.io/librosa/generated/librosa.effects.split.html
top_db:number > 0
The threshold (in decibels) **below** reference to consider as silence
我认为 top_db:20 意味着低于 (TOP - 20dB) 而不是仅仅 20dB 的一切都被认为是静音。
而且 TOP - 20dB 以上的会比 TOP - 5dB 多。它还可以解释你的照片。