A Cross platform implement of Wenet ASR. It's based on ONNXRuntime and Wenet. We provide a set of easier APIs to call wenet models.

Overview

RapidASR: a new member of RapidAI family.

Our visio is to offer an out-of-box engineering implementation for ASR.

A cpp implementation of recognize-onnx.py in Went in which it implements the infererence with ONNXRuntime. For a version of pure CPP code, we need to do a bit of work to rewrite some components.

Special thanks to its original author SlyneD.

I'm still working on transplanting the version from Python to CPP. Please wait for a while.

The model is original from https://github.com/wenet-e2e/wenet/tree/main/examples/wenetspeech/s0 and tested with recognize-onnx.py.

You might also like...
A C++-based, cross platform ray tracing library
A C++-based, cross platform ray tracing library

Visionaray A C++ based, cross platform ray tracing library Getting Visionaray The Visionaray git repository can be cloned using the following commands

ORB-SLAM3 is the first real-time SLAM library able to perform Visual, Visual-Inertial and Multi-Map SLAM with monocular, stereo and RGB-D cameras, using pin-hole and fisheye lens models.
ORB-SLAM3 is the first real-time SLAM library able to perform Visual, Visual-Inertial and Multi-Map SLAM with monocular, stereo and RGB-D cameras, using pin-hole and fisheye lens models.

Just to test for my research, and I add coordinate transformation to evaluate the ORB_SLAM3. Only applied in research, and respect the authors' all work.

Implement yolov5 with Tensorrt C++ api, and integrate batchedNMSPlugin. A Python wrapper is also provided.
Implement yolov5 with Tensorrt C++ api, and integrate batchedNMSPlugin. A Python wrapper is also provided.

yolov5 Original codes from tensorrtx. I modified the yololayer and integrated batchedNMSPlugin. A yolov5s.wts is provided for fast demo. How to genera

Using PLT trampolines to provide a BLAS and LAPACK demuxing library.

libblastrampoline All problems in computer science can be solved by another level of indirection Using PLT trampolines to provide a BLAS and LAPACK de

This is a c++ implement of yolov5 and fire/smoke detect.
This is a c++ implement of yolov5 and fire/smoke detect.

A C++ implementation of Yolov5 to detect fire or smoke in the wild in Jetson Xavier nx and Jetson nano This repository uses yolov5 and deepsort to fol

SIMULATeQCD is a multi-GPU Lattice QCD framework that makes it simple and easy for physicists to implement lattice QCD formulas while still providing the best possible performance.

SIMULATeQCD a SImple MUlti-GPU LATtice code for QCD calculations SIMULATeQCD is a multi-GPU Lattice QCD framework that makes it simple and easy for ph

CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU executio

CTranslate2 is a fast inference engine for OpenNMT-py and OpenNMT-tf models supporting both CPU and GPU execution. The goal is to provide comprehensive inference features and be the most efficient and cost-effective solution to deploy standard neural machine translation systems such as Transformer models.

Toolkit for software engineers to Deploy AI Systems Yourself (DAISY). DaisyKit SDK is the core of models and algorithms, which can be used to develop wrappers and applications for different platforms: mobile, embedded or web browsers.
Comments
  • ImportError: /usr/lib64/libm.so.6: version `GLIBC_2.27' not found (required by /mnt/dl-storage/dg-cephfs-0/public/huangyangke/RapidASR/python/base_wenet/wenet/swig_decoders/_swig_decoders.cpython-37m-x86_64-linux-gnu.so)

    ImportError: /usr/lib64/libm.so.6: version `GLIBC_2.27' not found (required by /mnt/dl-storage/dg-cephfs-0/public/huangyangke/RapidASR/python/base_wenet/wenet/swig_decoders/_swig_decoders.cpython-37m-x86_64-linux-gnu.so)

    ImportError: /usr/lib64/libm.so.6: version `GLIBC_2.27' not found (required by /mnt/dl-storage/dg-cephfs-0/public/huangyangke/RapidASR/python/base_wenet/wenet/swig_decoders/_swig_decoders.cpython-37m-x86_64-linux-gnu.so)

    opened by huangyangke 1
  • ValueError: negative dimensions are not allowed

    ValueError: negative dimensions are not allowed

    run test_demo.py error in feature.py: def sliding_window(x, window_size, window_shift): shape = x.shape[:-1] + (x.shape[-1] - window_size + 1, window_size) strides = x.strides + (x.strides[-1],) return np.lib.stride_tricks.as_strided(x, shape=shape, strides=strides)[::window_shift] if x.shape[-1] - window_size + 1 < 0: ValueError: negative dimensions are not allowed what is the mean x.shape[-1] - window_size + 1 ?

    opened by qiuyuzhao 3
  • Model requires 6 inputs. Input Feed contains 2

    Model requires 6 inputs. Input Feed contains 2

    export onnx model with “wenet/bin/export_onnx.py” and run “python test_demo.py” with exported onnx , get follow error:

    Traceback (most recent call last):
      File "test_demo.py", line 4, in <module>
        from wenet import WenetInfer
      File "/data/disk1/ybZhang/.opendir/RapidASR/python/base_wenet/wenet/__init__.py", line 2, in <module>
        from .wenet_infer import WenetInfer
      File "/data/disk1/ybZhang/.opendir/RapidASR/python/base_wenet/wenet/wenet_infer.py", line 37, in <module>
        from swig_decoders import (PathTrie, TrieVector,
    ModuleNotFoundError: No module named 'swig_decoders'
    source activate wenet
    (wenet) [ybZhang@master /data/disk1/ybZhang/.opendir/RapidASR/python/base_wenet]$python test_demo.py pretrain_model2/onnx_cpu/ test_data/test.wav
    Traceback (most recent call last):
      File "test_demo.py", line 22, in <module>
        key, content, elapse = wenet_infer(wav_path)
      File "/data/disk1/ybZhang/.opendir/RapidASR/python/base_wenet/wenet/wenet_infer.py", line 148, in __call__
        ort_outs = self.encoder_ort_session.run(None, ort_inputs)
      File "/home/ybZhang/miniconda3/envs/wenet/lib/python3.8/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 184, in run
        raise ValueError("Model requires {} inputs. Input Feed contains {}".format(num_required_inputs, num_inputs))
    ValueError: Model requires 6 inputs. Input Feed contains 2
    
    opened by v-yunbin 6
Owner
RapidAI-NG
A open source organization for the development of AI based applications.
RapidAI-NG
RapidOCR - A cross platform OCR Library based on PaddleOCR & OnnxRuntime

RapidOCR (捷智OCR) 简体中文 | English 目录 RapidOCR (捷智OCR) 简介 近期更新 ?? 2021-12-18 update 2021-11-28 update 2021-11-13 update 2021-10-27 update 2021-09-13 upda

RapidAI-NG 754 Jan 4, 2023
WeNet is to close the gap between research and production end-to-end (E2E) speech recognition models,

WeNet is to close the gap between research and production end-to-end (E2E) speech recognition models, to reduce the effort of productionizing E2E models, and to explore better E2E models for production.

null 2.7k Jan 5, 2023
kaldi-asr/kaldi is the official location of the Kaldi project.

Kaldi Speech Recognition Toolkit To build the toolkit: see ./INSTALL. These instructions are valid for UNIX systems including various flavors of Linux

Kaldi 12.2k Dec 28, 2022
🚀🚀🌟NanoDet with ONNXRuntime/MNN/TNN/NCNN.

nanodet.lite.ai.toolkit ?? ?? ?? 使用Lite.AI.ToolKit C++工具箱来跑NanoDet的一些案例(https://github.com/DefTruth/lite.ai.toolkit) ,ONNXRuntime、MNN、NCNN和TNN四个版本。 若是

DefTruth 13 Dec 29, 2022
Implementation of Univaraint Linear Regresion (Supervised Machine Learning) in c++. With a data set (training set) you can predict outcomes.

Linear-Regression Implementation of Univaraint Linear Regresion (Supervised Machine Learning) in c++. With a data set (training set) you can predict o

vincent laizer 1 Nov 3, 2021
shufflev2-yolov5: lighter, faster and easier to deploy

shufflev2-yolov5: lighter, faster and easier to deploy. Evolved from yolov5 and the size of model is only 1.7M (int8) and 3.3M (fp16). It can reach 10+ FPS on the Raspberry Pi 4B when the input size is 320×320~

pogg 1.5k Dec 30, 2022
Yet another tensor library in C++. It allows direct access to its underlying data buffer, and serializes in JSON.

Yet another tensor library in C++. It allows direct access to its underlying data buffer, and serializes in JSON. Built on top of zax json parser, C++ structures having tensor members can also be JSON-serialized and deserialized, allowing one to save and load the state of a highly hierarchical object.

Tamas Levente Kis 2 Dec 15, 2022
Provide sample code of efficient operator implementation based on the Cambrian Machine Learning Unit (MLU) .

Cambricon CNNL-Example CNNL-Example 提供基于寒武纪机器学习单元(Machine Learning Unit,MLU)开发高性能算子、C 接口封装的示例代码。 依赖条件 操作系统: 目前只支持 Ubuntu 16.04 x86_64 寒武纪 MLU SDK: 编译和

Cambricon Technologies 1 Mar 7, 2022
A C++ implementation of nx-TAS by hamhub7 intended to make shortcuts easier than before.

C-TAS Documentation Features C-TAS is a C++ implementation of nx-TAS by hamhub7 intended to make shortcuts easier than before. This is a blatant conve

Deltaion Lee 2 Sep 20, 2021
A collective list of free APIs

Public APIs A collective list of free APIs for use in software and web development Status The Project Contributing Guide • API for this project • Issu

null 222.9k Jan 5, 2023