MCPcopy Create free account
hub / github.com/espnet/espnet / _get_early_signal

Method _get_early_signal

espnet2/train/preprocessor.py:1213–1224  ·  view source on GitHub ↗
(self, speech, rir, power, fs)

Source from the content-addressed store, hash-verified

1211 return signal[None, :] if signal.ndim == 1 else signal.T
1212
1213 def _get_early_signal(self, speech, rir, power, fs):
1214 predelay = 50 # milliseconds
1215 dt = np.argmax(rir, axis=1).min()
1216 et = dt + (predelay * fs) // 1000
1217 rir_early = rir[:, :et]
1218 speech2 = scipy.signal.convolve(speech, rir_early, mode="full")[
1219 :, : speech.shape[1]
1220 ]
1221 # Reverse mean power to the original power
1222 power2 = (speech2[detect_non_silence(speech2)] ** 2).mean()
1223 speech2 = np.sqrt(power / max(power2, 1e-10)) * speech2
1224 return speech2
1225
1226 def _apply_to_all_signals(self, data_dict, func, num_spk):
1227 data_dict[self.speech_name] = func(data_dict[self.speech_name])

Callers 1

_speech_processMethod · 0.95

Calls 2

detect_non_silenceFunction · 0.85
argmaxMethod · 0.80

Tested by

no test coverage detected