|
@@ -226,7 +226,6 @@ class E2EVadModel(nn.Module):
|
|
|
self.vad_opts.frame_in_ms)
|
|
self.vad_opts.frame_in_ms)
|
|
|
self.encoder = encoder
|
|
self.encoder = encoder
|
|
|
# init variables
|
|
# init variables
|
|
|
- self.is_final = False
|
|
|
|
|
self.data_buf_start_frame = 0
|
|
self.data_buf_start_frame = 0
|
|
|
self.frm_cnt = 0
|
|
self.frm_cnt = 0
|
|
|
self.latest_confirmed_speech_frame = 0
|
|
self.latest_confirmed_speech_frame = 0
|
|
@@ -257,7 +256,6 @@ class E2EVadModel(nn.Module):
|
|
|
self.frontend = frontend
|
|
self.frontend = frontend
|
|
|
|
|
|
|
|
def AllResetDetection(self):
|
|
def AllResetDetection(self):
|
|
|
- self.is_final = False
|
|
|
|
|
self.data_buf_start_frame = 0
|
|
self.data_buf_start_frame = 0
|
|
|
self.frm_cnt = 0
|
|
self.frm_cnt = 0
|
|
|
self.latest_confirmed_speech_frame = 0
|
|
self.latest_confirmed_speech_frame = 0
|
|
@@ -473,6 +471,8 @@ class E2EVadModel(nn.Module):
|
|
|
def forward(self, feats: torch.Tensor, waveform: torch.tensor, in_cache: Dict[str, torch.Tensor] = dict(),
|
|
def forward(self, feats: torch.Tensor, waveform: torch.tensor, in_cache: Dict[str, torch.Tensor] = dict(),
|
|
|
is_final: bool = False
|
|
is_final: bool = False
|
|
|
) -> Tuple[List[List[List[int]]], Dict[str, torch.Tensor]]:
|
|
) -> Tuple[List[List[List[int]]], Dict[str, torch.Tensor]]:
|
|
|
|
|
+ if not in_cache:
|
|
|
|
|
+ self.AllResetDetection()
|
|
|
self.waveform = waveform # compute decibel for each frame
|
|
self.waveform = waveform # compute decibel for each frame
|
|
|
self.ComputeDecibel()
|
|
self.ComputeDecibel()
|
|
|
self.ComputeScores(feats, in_cache)
|
|
self.ComputeScores(feats, in_cache)
|