docstr: yingram calculator from cMNDFs
  (cumulative Mean Normalized Difference Functions)
  
  Args:
      cmndfs: torch.Tensor
          calculated cumulative mean normalized difference function
          for details, see models/yin.py or eq. (1) and (2)
      ms: list of midi(int)
      fs: sampling rate
  
  Returns:
      y:
          calculated batch yingram
docstr_tok: ["yingram","calculator","from","cMNDFs","(","cumulative","Mean","Normalized","Difference","Functions",")","Args",":","cmndfs",":","torch.Tensor","calculated","cumulative","mean","normalized","difference","function","for","details",",","see","models\/yin.py","or","eq",".","(","1",")","and","(","2",")","ms",":","list","of","midi","(","int",")","fs",":","sampling","rate","Returns",":","y",":","calculated","batch","yingram"]
code: def yingram_from_cmndf(self, cmndfs: torch.Tensor) -> torch.Tensor:
      """yingram calculator from cMNDFs
      (cumulative Mean Normalized Difference Functions)
  
      Args:
          cmndfs: torch.Tensor
              calculated cumulative mean normalized difference function
              for details, see models/yin.py or eq. (1) and (2)
          ms: list of midi(int)
          fs: sampling rate
  
      Returns:
          y:
              calculated batch yingram
  
  
      """
      # c_ms = np.asarray([Pitch.midi_to_lag(m, fs) for m in ms])
      # c_ms = torch.from_numpy(c_ms).to(cmndfs.device)
  
      y = (cmndfs[:, self.c_ms_ceil] - cmndfs[:, self.c_ms_floor]) / (
          self.c_ms_ceil - self.c_ms_floor
      ).unsqueeze(0) * (self.c_ms - self.c_ms_floor).unsqueeze(
          0
      ) + cmndfs[
          :, self.c_ms_floor
      ]
      return y
  
file_path: espnet/espnet2/tts/feats_extract/ying.py
imports: import math
  from typing import Any, Dict, Tuple, Union
  import torch
  from espnet2.tts.feats_extract.abs_feats_extract import AbsFeatsExtract
  from espnet2.tts.feats_extract.yin import *
  from espnet.nets.pytorch_backend.nets_utils import pad_list
label_desc: Use image node_id 5 for calling the Ying obj's underlying member method code with example usage: obj.yingram_from_cmndf(cmndfs) and returns: y