| File was renamed from funasr/models/frontend/default.py |
| | |
| | | import humanfriendly |
| | | import numpy as np |
| | | import torch |
| | | import torch.nn as nn |
| | | try: |
| | | from torch_complex.tensor import ComplexTensor |
| | | except: |
| | | print("Please install torch_complex firstly") |
| | | |
| | | from funasr.models.frontend.utils.log_mel import LogMel |
| | | from funasr.models.frontend.utils.stft import Stft |
| | | from funasr.models.frontend.abs_frontend import AbsFrontend |
| | | from funasr.models.frontend.utils.frontend import Frontend |
| | | from funasr.utils.get_default_kwargs import get_default_kwargs |
| | | from funasr.frontends.utils.log_mel import LogMel |
| | | from funasr.frontends.utils.stft import Stft |
| | | from funasr.frontends.utils.frontend import Frontend |
| | | from funasr.models.transformer.utils.nets_utils import make_pad_mask |
| | | |
| | | |
| | | class DefaultFrontend(AbsFrontend): |
| | | class DefaultFrontend(nn.Module): |
| | | """Conventional frontend structure for ASR. |
| | | Stft -> WPE -> MVDR-Beamformer -> Power-spec -> Mel-Fbank -> CMVN |
| | | """ |
| | |
| | | fmin: int = None, |
| | | fmax: int = None, |
| | | htk: bool = False, |
| | | frontend_conf: Optional[dict] = get_default_kwargs(Frontend), |
| | | frontend_conf: Optional[dict] = None, |
| | | apply_stft: bool = True, |
| | | use_channel: int = None, |
| | | ): |
| | |
| | | return input_stft, feats_lens |
| | | |
| | | |
| | | class MultiChannelFrontend(AbsFrontend): |
| | | class MultiChannelFrontend(nn.Module): |
| | | """Conventional frontend structure for ASR. |
| | | Stft -> WPE -> MVDR-Beamformer -> Power-spec -> Mel-Fbank -> CMVN |
| | | """ |
| | |
| | | fmin: int = None, |
| | | fmax: int = None, |
| | | htk: bool = False, |
| | | frontend_conf: Optional[dict] = get_default_kwargs(Frontend), |
| | | frontend_conf: Optional[dict] = None, |
| | | apply_stft: bool = True, |
| | | use_channel: int = None, |
| | | lfr_m: int = 1, |