class_docstr: Envelope Variance Channel Selection method with
  (optionally) learnable per mel-band weights.
code: def __init__(
      self,
      n_mels=40,
      n_fft=400,
      hop_length=200,
      samplerate=16000,
      eps=1e-6,
      chunk_size=4,
      chunk_stride=2,
  ):
      super(EnvelopeVariance, self).__init__()
      self.mels = torchaudio.transforms.MelSpectrogram(
          sample_rate=samplerate,
          n_fft=n_fft,
          hop_length=hop_length,
          n_mels=n_mels,
          power=2,
      )
      self.eps = eps
      self.subband_weights = torch.nn.Parameter(torch.ones(n_mels))
      self.chunk_size = int(chunk_size * samplerate / hop_length)
      self.chunk_stride = int(chunk_stride * samplerate / hop_length)
  
imports: import argparse
  import os
  from copy import deepcopy
  from pathlib import Path
  import lhotse
  import soundfile
  import torch
  import torchaudio
  import tqdm
  from torch.utils.data import DataLoader, Dataset
label_desc: Use image node_id 1 to create a new EnvelopeVariance object from inherited base classes: torch.nn with example: obj = EnvelopeVariance(n_mels, n_fft, hop_length, samplerate, eps, chunk_size, chunk_stride)