| New file |
| | |
| | | import os |
| | | import tempfile |
| | | import codecs |
| | | from modelscope.pipelines import pipeline |
| | | from modelscope.utils.constant import Tasks |
| | | from modelscope.msdatasets import MsDataset |
| | | |
| | | if __name__ == '__main__': |
| | | param_dict = dict() |
| | | param_dict['hotword'] = "https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/hotword.txt" |
| | | |
| | | output_dir = "./output" |
| | | batch_size = 1 |
| | | |
| | | # dataset split ['test'] |
| | | ds_dict = MsDataset.load(dataset_name='speech_asr_aishell1_hotwords_testsets', namespace='speech_asr') |
| | | work_dir = tempfile.TemporaryDirectory().name |
| | | if not os.path.exists(work_dir): |
| | | os.makedirs(work_dir) |
| | | wav_file_path = os.path.join(work_dir, "wav.scp") |
| | | |
| | | with codecs.open(wav_file_path, 'w') as fin: |
| | | for line in ds_dict: |
| | | wav = line["Audio:FILE"] |
| | | idx = wav.split("/")[-1].split(".")[0] |
| | | fin.writelines(idx + " " + wav + "\n") |
| | | audio_in = wav_file_path |
| | | |
| | | inference_pipeline = pipeline( |
| | | task=Tasks.auto_speech_recognition, |
| | | model="damo/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404", |
| | | output_dir=output_dir, |
| | | batch_size=batch_size, |
| | | param_dict=param_dict) |
| | | |
| | | rec_result = inference_pipeline(audio_in=audio_in) |