feat: song: bass reg beat detector in slices
This commit is contained in:
10
rhythm.py
10
rhythm.py
@@ -131,19 +131,21 @@ class BassAnalyzer(Analyzer):
|
||||
Wp_force = None
|
||||
I_force = None
|
||||
|
||||
def __init__(self, fs, sig, Wp_force=None):
|
||||
def __init__(self, fs, sig, Wp_force=None, I_force=None):
|
||||
"""
|
||||
:param fs: sampling rate
|
||||
:param sig: audio signal normalized to [-1,1]
|
||||
"""
|
||||
super(BassAnalyzer, self).__init__()
|
||||
self.D = int(self.shift_sec * fs) #: spectrogram step
|
||||
if self.Wp_force:
|
||||
self.Wp = self.Wp_force
|
||||
elif Wp_force:
|
||||
if Wp_force:
|
||||
self.Wp = Wp_force
|
||||
elif self.Wp_force:
|
||||
self.Wp = self.Wp_force
|
||||
else:
|
||||
self.Wp = int(np.round(self.wavelet_win_sec * fs / self.W) * self.W) # wavelet window - make it an integer multiple of FFT window
|
||||
if I_force:
|
||||
self.I_force = I_force
|
||||
self.U = self.Wp // self.W # ratio
|
||||
|
||||
self.f = np.pad(sig, (self.W//2, self.W//2-1)) #: signal padded (W-FFT to determine scalogram parameters)
|
||||
|
||||
Reference in New Issue
Block a user