class_docstr: Lightweight Sinc Convolutions.
  
  Instead of using precomputed features, end-to-end speech recognition
  can also be done directly from raw audio using sinc convolutions, as
  described in "Lightweight End-to-End Speech Recognition from Raw Audio
  Data Using Sinc-Convolutions" by Kürzinger et al.
  https://arxiv.org/abs/2010.07597
  
  To use Sinc convolutions in your model instead of the default f-bank
  frontend, set this module as your pre-encoder with `preencoder: sinc`
  and use the input of the sliding window frontend with
  `frontend: sliding_window` in your yaml configuration file.
  So that the process flow is:
  
  Frontend (SlidingWindow) -> SpecAug -> Normalization ->
  Pre-encoder (LightweightSincConvs) -> Encoder -> Decoder
  
  Note that this method also performs data augmentation in time domain
  (vs. in spectral domain in the default frontend).
  Use `plot_sinc_filters.py` to visualize the learned Sinc filters.
class_docstr_tok: ["Lightweight","Sinc","Convolutions",".","Instead","of","using","precomputed","features",",","end-to-end","speech","recognition","can","also","be","done","directly","from","raw","audio","using","sinc","convolutions",",","as","described","in","``","Lightweight","End-to-End","Speech","Recognition","from","Raw","Audio","Data","Using","Sinc-Convolutions","''","by","K\u00fcrzinger","et","al",".","https",":","\/\/arxiv.org\/abs\/2010.07597","To","use","Sinc","convolutions","in","your","model","instead","of","the","default","f-bank","frontend",",","set","this","module","as","your","pre-encoder","with","`","preencoder",":","sinc","`","and","use","the","input","of","the","sliding","window","frontend","with","`","frontend",":","sliding_window","`","in","your","yaml","configuration","file",".","So","that","the","process","flow","is",":","Frontend","(","SlidingWindow",")","-",">","SpecAug","-",">","Normalization","-",">","Pre-encoder","(","LightweightSincConvs",")","-",">","Encoder","-",">","Decoder","Note","that","this","method","also","performs","data","augmentation","in","time","domain","(","vs.","in","spectral","domain","in","the","default","frontend",")",".","Use","`","plot_sinc_filters.py","`","to","visualize","the","learned","Sinc","filters","."]
docstr: Initialize sinc filters with filterbank values.
docstr_tok: ["Initialize","sinc","filters","with","filterbank","values","."]
code: def espnet_initialization_fn(self):
      """Initialize sinc filters with filterbank values."""
      self.filters.init_filters()
      for block in self.blocks:
          for layer in block:
              if type(layer) is torch.nn.BatchNorm1d and layer.affine:
                  layer.weight.data[:] = 1.0
                  layer.bias.data[:] = 0.0
  
file_path: espnet/espnet2/asr/preencoder/sinc.py
imports: from collections import OrderedDict
  from typing import Optional, Tuple, Union
  import humanfriendly
  import torch
  from typeguard import check_argument_types
  from espnet2.asr.preencoder.abs_preencoder import AbsPreEncoder
  from espnet2.layers.sinc_conv import LogCompression, SincConv
label_desc: Use image node_id 4 for calling the LightweightSincConvs obj's underlying member method code with example usage: obj.espnet_initialization_fn() without return types