o
    }oi                     @   st   d Z ddlZddlZddlmZ dd e D Zejeedej	ddd	 Z
ejjej	dd
d ZdS )z
This file implemented unit tests for loading all pretrained AlignerModel NGC checkpoints and generating Mel-spectrograms.
The test duration breakdowns are shown below. In general, each test for a single model is ~24 seconds on an NVIDIA RTX A6000.
    N)AlignerModelc                 C   s   g | ]}|j qS  )pretrained_model_name).0modelr   r   ]/home/ubuntu/.local/lib/python3.10/site-packages/tests/collections/tts/models/test_aligner.py
<listcomp>   s    r   )paramsidsGPUc                 C   s"   | j }||}tj|d}||fS )N)
model_name)paramr   from_pretrained)request*get_language_id_from_pretrained_model_namer   language_idr   r   r   r   pretrained_model   s   r   c                 C   s   | \}}|\}}}|j ||d\}}|jj|dd}	||	}
tj|
|jdd }tjt	|
|jdd }|||||d\}}d S )N)input_signallengthT)punct_post_process)devicer   )specspec_lentexttext_len)
preprocessor
normalizer	normalize	tokenizertorchtensorr   	unsqueezelonglen)r   audio_text_pair_example_englishr   _audio	audio_lentext_rawr   r   text_normalizedtext_tokensr   r   r   r   r   test_inference$   s   

r+   )__doc__pytestr   nemo.collections.tts.modelsr   list_available_modelsavailable_modelsfixturemarkrun_only_onr   nightlyr+   r   r   r   r   <module>   s   

