| | |
| | | ##### Define pipeline |
| | | - `task`: `Tasks.auto_speech_recognition` |
| | | - `model`: model name in [model zoo](https://alibaba-damo-academy.github.io/FunASR/en/modelscope_models.html#pretrained-models-on-modelscope), or model path in local disk |
| | | - `ngpu`: `1` (Defalut), decoding on GPU. If ngpu=0, decoding on CPU |
| | | - `ncpu`: `1` (Defalut), sets the number of threads used for intraop parallelism on CPU |
| | | - `output_dir`: `None` (Defalut), the output path of results if set |
| | | - `batch_size`: `1` (Defalut), batch size when decoding |
| | | - `ngpu`: `1` (Default), decoding on GPU. If ngpu=0, decoding on CPU |
| | | - `ncpu`: `1` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | - `output_dir`: `None` (Default), the output path of results if set |
| | | - `batch_size`: `1` (Default), batch size when decoding |
| | | ##### Infer pipeline |
| | | - `audio_in`: the input to decode, which could be: |
| | | - wav_path, `e.g.`: asr_example.wav, |
| | |
| | | ``` |
| | | In this case of `wav.scp` input, `output_dir` must be set to save the output results |
| | | - `audio_fs`: audio sampling rate, only set when audio_in is pcm audio |
| | | - `output_dir`: None (Defalut), the output path of results if set |
| | | - `output_dir`: None (Default), the output path of results if set |
| | | |
| | | ### Inference with multi-thread CPUs or multi GPUs |
| | | FunASR also offer recipes [infer.sh](https://github.com/alibaba-damo-academy/FunASR/blob/main/egs_modelscope/asr/TEMPLATE/infer.sh) to decode with multi-thread CPUs, or multi GPUs. |
| | |
| | | ##### Define pipeline |
| | | - `task`: `Tasks.voice_activity_detection` |
| | | - `model`: model name in [model zoo](https://alibaba-damo-academy.github.io/FunASR/en/modelscope_models.html#pretrained-models-on-modelscope), or model path in local disk |
| | | - `ngpu`: `1` (Defalut), decoding on GPU. If ngpu=0, decoding on CPU |
| | | - `ncpu`: `1` (Defalut), sets the number of threads used for intraop parallelism on CPU |
| | | - `output_dir`: `None` (Defalut), the output path of results if set |
| | | - `batch_size`: `1` (Defalut), batch size when decoding |
| | | - `ngpu`: `1` (Default), decoding on GPU. If ngpu=0, decoding on CPU |
| | | - `ncpu`: `1` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | - `output_dir`: `None` (Default), the output path of results if set |
| | | - `batch_size`: `1` (Default), batch size when decoding |
| | | ##### Infer pipeline |
| | | - `audio_in`: the input to decode, which could be: |
| | | - wav_path, `e.g.`: asr_example.wav, |
| | |
| | | ``` |
| | | In this case of `wav.scp` input, `output_dir` must be set to save the output results |
| | | - `audio_fs`: audio sampling rate, only set when audio_in is pcm audio |
| | | - `output_dir`: None (Defalut), the output path of results if set |
| | | - `output_dir`: None (Default), the output path of results if set |
| | | |
| | | ### Inference with multi-thread CPUs or multi GPUs |
| | | FunASR also offer recipes [infer.sh](https://github.com/alibaba-damo-academy/FunASR/blob/main/egs_modelscope/vad/TEMPLATE/infer.sh) to decode with multi-thread CPUs, or multi GPUs. |
| | |
| | | ``` |
| | | |
| | | |
| | | ## Install the `funasr_onnx` |
| | | ## Install `funasr_onnx` |
| | | |
| | | install from pip |
| | | ```shell |
| | |
| | | from funasr_onnx import Paraformer |
| | | |
| | | model_dir = "./export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch" |
| | | model = Paraformer(model_dir, batch_size=1) |
| | | model = Paraformer(model_dir, batch_size=1, quantize=True) |
| | | |
| | | wav_path = ['./export/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/example/asr_example.wav'] |
| | | |
| | | result = model(wav_path) |
| | | print(result) |
| | | ``` |
| | | - Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | - Output: `List[str]`: recognition result |
| | | - `model_dir`: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - `batch_size`: `1` (Default), the batch size duration inference |
| | | - `device_id`: `-1` (Default), infer on CPU. If you want to infer with GPU, set it to gpu_id (Please make sure that you have install the onnxruntime-gpu) |
| | | - `quantize`: `False` (Default), load the model of `model.onnx` in `model_dir`. If set `True`, load the model of `model_quant.onnx` in `model_dir` |
| | | - `intra_op_num_threads`: `4` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | |
| | | Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | |
| | | Output: `List[str]`: recognition result |
| | | |
| | | #### Paraformer-online |
| | | |
| | |
| | | result = model(wav_path) |
| | | print(result) |
| | | ``` |
| | | - Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | - Output: `List[str]`: recognition result |
| | | - `model_dir`: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - `batch_size`: `1` (Default), the batch size duration inference |
| | | - `device_id`: `-1` (Default), infer on CPU. If you want to infer with GPU, set it to gpu_id (Please make sure that you have install the onnxruntime-gpu) |
| | | - `quantize`: `False` (Default), load the model of `model.onnx` in `model_dir`. If set `True`, load the model of `model_quant.onnx` in `model_dir` |
| | | - `intra_op_num_threads`: `4` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | |
| | | Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | |
| | | Output: `List[str]`: recognition result |
| | | |
| | | |
| | | #### FSMN-VAD-online |
| | | ```python |
| | |
| | | if segments_result: |
| | | print(segments_result) |
| | | ``` |
| | | - Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | - Output: `List[str]`: recognition result |
| | | - `model_dir`: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - `batch_size`: `1` (Default), the batch size duration inference |
| | | - `device_id`: `-1` (Default), infer on CPU. If you want to infer with GPU, set it to gpu_id (Please make sure that you have install the onnxruntime-gpu) |
| | | - `quantize`: `False` (Default), load the model of `model.onnx` in `model_dir`. If set `True`, load the model of `model_quant.onnx` in `model_dir` |
| | | - `intra_op_num_threads`: `4` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | |
| | | Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | |
| | | Output: `List[str]`: recognition result |
| | | |
| | | |
| | | ### Punctuation Restoration |
| | | #### CT-Transformer |
| | |
| | | result = model(text_in) |
| | | print(result[0]) |
| | | ``` |
| | | - Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | - Output: `List[str]`: recognition result |
| | | - `model_dir`: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - `device_id`: `-1` (Default), infer on CPU. If you want to infer with GPU, set it to gpu_id (Please make sure that you have install the onnxruntime-gpu) |
| | | - `quantize`: `False` (Default), load the model of `model.onnx` in `model_dir`. If set `True`, load the model of `model_quant.onnx` in `model_dir` |
| | | - `intra_op_num_threads`: `4` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | |
| | | Input: `str`, raw text of asr result |
| | | |
| | | Output: `List[str]`: recognition result |
| | | |
| | | |
| | | #### CT-Transformer-online |
| | | ```python |
| | |
| | | |
| | | print(rec_result_all) |
| | | ``` |
| | | - Model_dir: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - Input: wav formt file, support formats: `str, np.ndarray, List[str]` |
| | | - Output: `List[str]`: recognition result |
| | | - `model_dir`: the model path, which contains `model.onnx`, `config.yaml`, `am.mvn` |
| | | - `device_id`: `-1` (Default), infer on CPU. If you want to infer with GPU, set it to gpu_id (Please make sure that you have install the onnxruntime-gpu) |
| | | - `quantize`: `False` (Default), load the model of `model.onnx` in `model_dir`. If set `True`, load the model of `model_quant.onnx` in `model_dir` |
| | | - `intra_op_num_threads`: `4` (Default), sets the number of threads used for intraop parallelism on CPU |
| | | |
| | | Input: `str`, raw text of asr result |
| | | |
| | | Output: `List[str]`: recognition result |
| | | |
| | | ## Performance benchmark |
| | | |