From 1e22c58ead3348b0298d0902756bb5e587a66105 Mon Sep 17 00:00:00 2001
From: mayong <mayong@qianxin.com>
Date: 星期五, 03 三月 2023 21:36:21 +0800
Subject: [PATCH] The initial version of pararformer-onnxruntime.
---
funasr/runtime/cpp/onnxruntime/CMakeLists.txt | 30 ++++++++++
funasr/runtime/cpp/onnxruntime/readme.md | 107 +++++++++++++++++++++++++++++++++++
funasr/runtime/cpp/onnxruntime/CMakeSettings.json | 26 ++++++++
3 files changed, 163 insertions(+), 0 deletions(-)
diff --git a/funasr/runtime/cpp/onnxruntime/CMakeLists.txt b/funasr/runtime/cpp/onnxruntime/CMakeLists.txt
new file mode 100644
index 0000000..8d502c4
--- /dev/null
+++ b/funasr/runtime/cpp/onnxruntime/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.10)
+
+#-DONNXRUNTIME_DIR=D:\thirdpart\onnxruntime
+project(FastASR)
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
+# for onnxruntime
+
+IF(WIN32)
+
+
+ if(CMAKE_CL_64)
+ link_directories(${ONNXRUNTIME_DIR}\\lib)
+ else()
+ add_definitions(-D_WIN_X86)
+ endif()
+ELSE()
+
+
+link_directories(${ONNXRUNTIME_DIR}/lib)
+
+endif()
+
+#option(FASTASR_BUILD_PYTHON_MODULE "build python module, using FastASR in Python" OFF)
+
+add_subdirectory("./third_party/webrtc")
+add_subdirectory(src)
+add_subdirectory(tester)
diff --git a/funasr/runtime/cpp/onnxruntime/CMakeSettings.json b/funasr/runtime/cpp/onnxruntime/CMakeSettings.json
new file mode 100644
index 0000000..f515d1f
--- /dev/null
+++ b/funasr/runtime/cpp/onnxruntime/CMakeSettings.json
@@ -0,0 +1,26 @@
+锘縶
+ "configurations": [
+ {
+ "name": "x64-Debug",
+ "generator": "Ninja",
+ "configurationType": "Debug",
+ "inheritEnvironments": [ "msvc_x64_x64" ],
+ "buildRoot": "${projectDir}\\out\\build\\${name}",
+ "installRoot": "${projectDir}\\out\\install\\${name}",
+ "buildCommandArgs": "",
+ "ctestCommandArgs": ""
+ },
+ {
+ "name": "x64-Release",
+ "generator": "Ninja",
+ "configurationType": "RelWithDebInfo",
+ "buildRoot": "${projectDir}\\out\\build\\${name}",
+ "installRoot": "${projectDir}\\out\\install\\${name}",
+ "cmakeCommandArgs": "",
+ "buildCommandArgs": "",
+ "ctestCommandArgs": "",
+ "inheritEnvironments": [ "msvc_x64_x64" ],
+ "variables": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/funasr/runtime/cpp/onnxruntime/readme.md b/funasr/runtime/cpp/onnxruntime/readme.md
new file mode 100644
index 0000000..56e9787
--- /dev/null
+++ b/funasr/runtime/cpp/onnxruntime/readme.md
@@ -0,0 +1,107 @@
+
+## 鐗瑰埆楦h阿
+
+鏈▼搴忎腑鐨勯澶勭悊鍙婂悗澶勭悊浠g爜锛屾潵鑷簬锛歨ttps://github.com/chenkui164/FastASR
+
+
+## 绾跨▼鏁颁笌鎬ц兘鍏崇郴
+
+娴嬭瘯鐜Rocky Linux 8锛屼粎娴嬭瘯cpp鐗堟湰缁撴灉锛堟湭娴媝ython鐗堟湰锛夛紝@acely
+
+绠�杩帮細
+鍦�3鍙伴厤缃笉鍚岀殑鏈哄櫒涓婂垎鍒紪璇戝苟娴嬭瘯锛屽湪fftw鍜宱nnxruntime鐗堟湰閮界浉鍚岀殑鍓嶆彁涓嬶紝璇嗗埆鍚屼竴涓�30鍒嗛挓鐨勯煶棰戞枃浠讹紝鍒嗗埆娴嬭瘯涓嶅悓onnx绾跨▼鏁伴噺鐨勮〃鐜般��
+
+
+
+## 娉ㄦ剰
+鏈▼搴忓彧鏀寔 閲囨牱鐜�16000hz, 浣嶆繁16bit鐨� **鍗曞0閬�** 闊抽銆�
+
+## 蹇�熶娇鐢�
+
+### Windows
+
+ 瀹夎Vs2022 鎵撳紑cpp_onnx鐩綍涓嬬殑cmake宸ョ▼锛岀洿鎺� build鍗冲彲銆� 鏈粨搴撳凡缁忓噯澶囧ソ鎵�鏈夌浉鍏充緷璧栧簱銆�
+
+ Windows涓嬪凡缁忛缃甪ftw3銆乷nnxruntime鍙妎penblas搴�
+
+
+### Linux
+See the bottom of this page: Building Guidance
+
+
+### 杩愯绋嬪簭
+
+tester /path/to/models/dir /path/to/wave/file
+
+ 渚嬪锛� tester /data/models /data/test.wav
+
+/data/models 闇�瑕佸寘鎷涓嬩袱涓枃浠讹細 model.onnx 鍜寁ocab.txt
+
+
+## 鏀寔骞冲彴
+- Windows
+- Linux/Unix
+
+## 渚濊禆
+- fftw3
+- onnxruntime
+
+## 瀵煎嚭onnx鏍煎紡妯″瀷鏂囦欢
+瀹夎 modelscope涓嶧unASR锛屼緷璧栵細torch锛宼orchaudio锛屽畨瑁呰繃绋媅璇︾粏鍙傝�冩枃妗(https://github.com/alibaba-damo-academy/FunASR/wiki)
+```shell
+pip install "modelscope[audio_asr]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
+git clone https://github.com/alibaba/FunASR.git && cd FunASR
+pip install --editable ./
+```
+瀵煎嚭onnx妯″瀷锛孾璇﹁](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/export)锛屽弬鑰冪ず渚嬶紝浠巑odelscope涓ā鍨嬪鍑猴細
+
+```
+python -m funasr.export.export_model 'damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch' "./export" true
+```
+
+## Building Guidance for Linux/Unix
+
+```
+git clone https://github.com/RapidAI/RapidASR.git
+cd RapidASR/cpp_onnx/
+mkdir build
+cd build
+# download an appropriate onnxruntime from https://github.com/microsoft/onnxruntime/releases/tag/v1.14.0
+# here we get a copy of onnxruntime for linux 64
+wget https://github.com/microsoft/onnxruntime/releases/download/v1.14.0/onnxruntime-linux-x64-1.14.0.tgz
+# ls
+# onnxruntime-linux-x64-1.14.0 onnxruntime-linux-x64-1.14.0.tgz
+
+#install fftw3-dev
+apt install libfftw3-dev
+
+# build
+ cmake -DCMAKE_BUILD_TYPE=release .. -DONNXRUNTIME_DIR=/mnt/c/Users/ma139/RapidASR/cpp_onnx/build/onnxruntime-linux-x64-1.14.0
+ make
+
+ # then in the subfolder tester of current direcotry, you will see a program, tester
+
+````
+
+### The structure of a qualified onnxruntime package.
+```
+onnxruntime_xxx
+鈹溾攢鈹�鈹�include
+鈹斺攢鈹�鈹�lib
+```
--
Gitblit v1.9.1