U
    rht                     @  sH   d dl mZ d dlZd dlZd dlmZ d dlmZ G dd deZ	dS )    )annotationsN)Base)expectc                   @  s   e Zd ZeddddZdS )MelWeightMatrixNone)returnc                  C  s  t jjddddddgdgd} td	}td
}td}td}td}|d d }td|d }dtd|d   }dtd|d   }	|	| |jd  }
||
 | }dt	d|d d  }|d | | }|
t}t||f}d|j_t|D ]}|| }||d  }||d  }|| }|dkrJd|||f< n2t||d D ]"}t|| t| |||f< qX|| }|dkrt||D ]"}t|| t| |||f< qq|
tj}t| |||||g|gdd d S )Nr   num_mel_bins
dft_lengthsample_ratelower_edge_hertzupper_edge_hertzoutput)inputsoutputs      i    r   g      @      i#
  i  
   TZtest_melweightmatrix)r   r   name)onnxhelperZ	make_nodenpZint32Zfloat32Zarangelog10shapepowerZastypeintzerosflagsZ	writeablerangefloatr   )noder   r	   r
   r   r   Znum_spectrogram_binsZfrequency_binsZlow_frequency_melZhigh_frequency_melZmel_stepr   iZlower_frequency_valueZcenter_frequency_pointZhigher_frequency_pointZlow_to_centerjZcenter_to_high r$   O/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/melweightmatrix.pyexport   sn    







zMelWeightMatrix.exportN)__name__
__module____qualname__staticmethodr&   r$   r$   r$   r%   r      s   r   )

__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r$   r$   r$   r%   <module>   s
   