From 716e3fe5122bc96bdc40fde71a50e4dc7f49b759 Mon Sep 17 00:00:00 2001
From: lyblsgo <lyblsgo@163.com>
Date: 星期五, 21 四月 2023 17:12:10 +0800
Subject: [PATCH] rename executable file;rm some unnecessary deps
---
/dev/null | 23 -------
funasr/runtime/onnxruntime/src/CMakeLists.txt | 29 +++++----
funasr/runtime/onnxruntime/src/funasr-onnx-offline-rtf.cpp | 0
funasr/runtime/onnxruntime/src/Audio.cpp | 20 +++---
funasr/runtime/onnxruntime/src/funasr-onnx-offline.cpp | 11 +--
funasr/runtime/onnxruntime/include/ComDefine.h | 17 +++++
funasr/runtime/onnxruntime/CMakeLists.txt | 1
funasr/runtime/onnxruntime/src/paraformer_onnx.cpp | 6 +-
funasr/runtime/onnxruntime/src/precomp.h | 17 +----
funasr/runtime/onnxruntime/src/commonfunc.h | 5 -
funasr/runtime/onnxruntime/include/Audio.h | 4 -
11 files changed, 51 insertions(+), 82 deletions(-)
diff --git a/funasr/runtime/onnxruntime/CMakeLists.txt b/funasr/runtime/onnxruntime/CMakeLists.txt
index 7948186..0e91385 100644
--- a/funasr/runtime/onnxruntime/CMakeLists.txt
+++ b/funasr/runtime/onnxruntime/CMakeLists.txt
@@ -30,4 +30,3 @@
add_subdirectory("./third_party/yaml-cpp")
add_subdirectory(kaldi-native-fbank/kaldi-native-fbank/csrc)
add_subdirectory(src)
-add_subdirectory(tester)
diff --git a/funasr/runtime/onnxruntime/include/Audio.h b/funasr/runtime/onnxruntime/include/Audio.h
index c38c31a..2667c31 100644
--- a/funasr/runtime/onnxruntime/include/Audio.h
+++ b/funasr/runtime/onnxruntime/include/Audio.h
@@ -2,14 +2,10 @@
#ifndef AUDIO_H
#define AUDIO_H
-#include <ComDefine.h>
#include <queue>
#include <stdint.h>
#include "Model.h"
-#ifndef model_sample_rate
-#define model_sample_rate 16000
-#endif
#ifndef WAV_HEADER_SIZE
#define WAV_HEADER_SIZE 44
#endif
diff --git a/funasr/runtime/onnxruntime/include/ComDefine.h b/funasr/runtime/onnxruntime/include/ComDefine.h
index f131e5e..6929e49 100644
--- a/funasr/runtime/onnxruntime/include/ComDefine.h
+++ b/funasr/runtime/onnxruntime/include/ComDefine.h
@@ -8,4 +8,21 @@
#define S_ALL 3
#define S_ERR 4
+#ifndef MODEL_SAMPLE_RATE
+#define MODEL_SAMPLE_RATE 16000
+#endif
+
+#ifndef VAD_SILENCE_DYRATION
+#define VAD_SILENCE_DYRATION 15000
+#endif
+
+#ifndef VAD_MAX_LEN
+#define VAD_MAX_LEN 800
+#endif
+
+#ifndef VAD_SPEECH_NOISE_THRES
+#define VAD_SPEECH_NOISE_THRES 0.9
+#endif
+
+
#endif
diff --git a/funasr/runtime/onnxruntime/src/Audio.cpp b/funasr/runtime/onnxruntime/src/Audio.cpp
index 72e90a2..5c10cf1 100644
--- a/funasr/runtime/onnxruntime/src/Audio.cpp
+++ b/funasr/runtime/onnxruntime/src/Audio.cpp
@@ -187,13 +187,13 @@
void Audio::disp()
{
- printf("Audio time is %f s. len is %d\n", (float)speech_len / model_sample_rate,
+ printf("Audio time is %f s. len is %d\n", (float)speech_len / MODEL_SAMPLE_RATE,
speech_len);
}
float Audio::get_time_len()
{
- return (float)speech_len / model_sample_rate;
+ return (float)speech_len / MODEL_SAMPLE_RATE;
}
void Audio::wavResample(int32_t sampling_rate, const float *waveform,
@@ -203,9 +203,9 @@
"Creating a resampler:\n"
" in_sample_rate: %d\n"
" output_sample_rate: %d\n",
- sampling_rate, static_cast<int32_t>(model_sample_rate));
+ sampling_rate, static_cast<int32_t>(MODEL_SAMPLE_RATE));
float min_freq =
- std::min<int32_t>(sampling_rate, model_sample_rate);
+ std::min<int32_t>(sampling_rate, MODEL_SAMPLE_RATE);
float lowpass_cutoff = 0.99 * 0.5 * min_freq;
int32_t lowpass_filter_width = 6;
@@ -213,7 +213,7 @@
//auto resampler = new LinearResample(
// sampling_rate, model_sample_rate, lowpass_cutoff, lowpass_filter_width);
auto resampler = std::make_unique<LinearResample>(
- sampling_rate, model_sample_rate, lowpass_cutoff, lowpass_filter_width);
+ sampling_rate, MODEL_SAMPLE_RATE, lowpass_cutoff, lowpass_filter_width);
std::vector<float> samples;
resampler->Resample(waveform, n, true, &samples);
//reset speech_data
@@ -270,7 +270,7 @@
}
//resample
- if(*sampling_rate != model_sample_rate){
+ if(*sampling_rate != MODEL_SAMPLE_RATE){
wavResample(*sampling_rate, speech_data, speech_len);
}
@@ -317,7 +317,7 @@
}
//resample
- if(*sampling_rate != model_sample_rate){
+ if(*sampling_rate != MODEL_SAMPLE_RATE){
wavResample(*sampling_rate, speech_data, speech_len);
}
@@ -360,7 +360,7 @@
}
//resample
- if(*sampling_rate != model_sample_rate){
+ if(*sampling_rate != MODEL_SAMPLE_RATE){
wavResample(*sampling_rate, speech_data, speech_len);
}
@@ -411,7 +411,7 @@
}
//resample
- if(*sampling_rate != model_sample_rate){
+ if(*sampling_rate != MODEL_SAMPLE_RATE){
wavResample(*sampling_rate, speech_data, speech_len);
}
@@ -511,7 +511,7 @@
std::vector<float> pcm_data(speech_data, speech_data+sp_len);
vector<std::vector<int>> vad_segments = pRecogObj->vad_seg(pcm_data);
- int seg_sample = model_sample_rate/1000;
+ int seg_sample = MODEL_SAMPLE_RATE/1000;
for(vector<int> segment:vad_segments)
{
frame = new AudioFrame();
diff --git a/funasr/runtime/onnxruntime/src/CMakeLists.txt b/funasr/runtime/onnxruntime/src/CMakeLists.txt
index 6798b99..18ff9cd 100644
--- a/funasr/runtime/onnxruntime/src/CMakeLists.txt
+++ b/funasr/runtime/onnxruntime/src/CMakeLists.txt
@@ -1,25 +1,22 @@
file(GLOB files1 "*.cpp")
file(GLOB files2 "*.cc")
-file(GLOB files4 "paraformer/*.cpp")
-set(files ${files1} ${files2} ${files3} ${files4})
-
-# message("${files}")
+set(files ${files1} ${files2})
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_library(funasr ${files})
if(WIN32)
-
- set(EXTRA_LIBS pthread yaml-cpp csrc)
- if(CMAKE_CL_64)
- target_link_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/lib/x64)
- else()
- target_link_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/lib/x86)
- endif()
- target_include_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/include )
-
- target_compile_definitions(funasr PUBLIC -D_FUNASR_API_EXPORT)
+ set(EXTRA_LIBS pthread yaml-cpp csrc)
+ if(CMAKE_CL_64)
+ target_link_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/lib/x64)
+ else()
+ target_link_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/lib/x86)
+ endif()
+ target_include_directories(funasr PUBLIC ${CMAKE_SOURCE_DIR}/win/include )
+
+ target_compile_definitions(funasr PUBLIC -D_FUNASR_API_EXPORT)
else()
set(EXTRA_LIBS pthread yaml-cpp csrc)
@@ -38,4 +35,8 @@
include_directories(${CMAKE_SOURCE_DIR}/include)
target_link_libraries(funasr PUBLIC onnxruntime ${EXTRA_LIBS})
+add_executable(funasr-onnx-offline "funasr-onnx-offline.cpp")
+add_executable(funasr-onnx-offline-rtf "funasr-onnx-offline-rtf.cpp")
+target_link_libraries(funasr-onnx-offline PUBLIC funasr)
+target_link_libraries(funasr-onnx-offline-rtf PUBLIC funasr)
diff --git a/funasr/runtime/onnxruntime/src/FeatureQueue.cpp b/funasr/runtime/onnxruntime/src/FeatureQueue.cpp
deleted file mode 100644
index f07633b..0000000
--- a/funasr/runtime/onnxruntime/src/FeatureQueue.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "precomp.h"
-FeatureQueue::FeatureQueue()
-{
- buff = new Tensor<float>(67, 80);
- window_size = 67;
- buff_idx = 0;
-}
-
-FeatureQueue::~FeatureQueue()
-{
- delete buff;
-}
-
-void FeatureQueue::reinit(int size)
-{
- delete buff;
- buff = new Tensor<float>(size, 80);
- buff_idx = 0;
- window_size = size;
-}
-
-void FeatureQueue::reset()
-{
- buff_idx = 0;
-}
-
-void FeatureQueue::push(float *din, int flag)
-{
- int offset = buff_idx * 80;
- memcpy(buff->buff + offset, din, 80 * sizeof(float));
- buff_idx++;
-
- if (flag == S_END) {
- Tensor<float> *tmp = new Tensor<float>(buff_idx, 80);
- memcpy(tmp->buff, buff->buff, buff_idx * 80 * sizeof(float));
- feature_queue.push(tmp);
- buff_idx = 0;
- } else if (buff_idx == window_size) {
- feature_queue.push(buff);
- Tensor<float> *tmp = new Tensor<float>(window_size, 80);
- memcpy(tmp->buff, buff->buff + (window_size - 3) * 80,
- 3 * 80 * sizeof(float));
- buff_idx = 3;
- buff = tmp;
- }
-}
-
-Tensor<float> *FeatureQueue::pop()
-{
-
- Tensor<float> *tmp = feature_queue.front();
- feature_queue.pop();
- return tmp;
-}
-
-int FeatureQueue::size()
-{
- return feature_queue.size();
-}
diff --git a/funasr/runtime/onnxruntime/src/FeatureQueue.h b/funasr/runtime/onnxruntime/src/FeatureQueue.h
deleted file mode 100644
index be3360b..0000000
--- a/funasr/runtime/onnxruntime/src/FeatureQueue.h
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#ifndef FEATUREQUEUE_H
-#define FEATUREQUEUE_H
-
-#include "Tensor.h"
-#include <queue>
-#include <stdint.h>
-using namespace std;
-
-
-class FeatureQueue {
- private:
- queue<Tensor<float> *> feature_queue;
- Tensor<float> *buff;
- int buff_idx;
- int window_size;
-
- public:
- FeatureQueue();
- ~FeatureQueue();
- void reinit(int size);
- void reset();
- void push(float *din, int flag);
- Tensor<float> *pop();
- int size();
-};
-
-#endif
diff --git a/funasr/runtime/onnxruntime/src/SpeechWrap.cpp b/funasr/runtime/onnxruntime/src/SpeechWrap.cpp
deleted file mode 100644
index 60d0a2b..0000000
--- a/funasr/runtime/onnxruntime/src/SpeechWrap.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "precomp.h"
-
-SpeechWrap::SpeechWrap()
-{
- cache_size = 0;
-}
-
-SpeechWrap::~SpeechWrap()
-{
-}
-
-void SpeechWrap::reset()
-{
- cache_size = 0;
-}
-
-void SpeechWrap::load(float *din, int len)
-{
- in = din;
- in_size = len;
- total_size = cache_size + in_size;
-}
-
-int SpeechWrap::size()
-{
- return total_size;
-}
-
-void SpeechWrap::update(int offset)
-{
- int in_offset = offset - cache_size;
- cache_size = (total_size - offset);
- memcpy(cache, in + in_offset, cache_size * sizeof(float));
-}
-
-float &SpeechWrap::operator[](int i)
-{
- return i < cache_size ? cache[i] : in[i - cache_size];
-}
diff --git a/funasr/runtime/onnxruntime/src/SpeechWrap.h b/funasr/runtime/onnxruntime/src/SpeechWrap.h
deleted file mode 100644
index 5d3ee40..0000000
--- a/funasr/runtime/onnxruntime/src/SpeechWrap.h
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#ifndef SPEECHWRAP_H
-#define SPEECHWRAP_H
-
-#include <stdint.h>
-
-class SpeechWrap {
- private:
- float cache[400];
- int cache_size;
- float *in;
- int in_size;
- int total_size;
- int next_cache_size;
-
- public:
- SpeechWrap();
- ~SpeechWrap();
- void load(float *din, int len);
- void update(int offset);
- void reset();
- int size();
- float &operator[](int i);
-};
-
-#endif
diff --git a/funasr/runtime/onnxruntime/src/commonfunc.h b/funasr/runtime/onnxruntime/src/commonfunc.h
index 5198030..8d1a97c 100644
--- a/funasr/runtime/onnxruntime/src/commonfunc.h
+++ b/funasr/runtime/onnxruntime/src/commonfunc.h
@@ -1,6 +1,5 @@
#pragma once
-
typedef struct
{
std::string msg;
@@ -10,8 +9,6 @@
#ifdef _WIN32
#include <codecvt>
-
-
inline std::wstring string2wstring(const std::string& str, const std::string& locale)
{
@@ -28,8 +25,6 @@
}
#endif
-
-
inline void getInputName(Ort::Session* session, string& inputName,int nIndex=0) {
size_t numInputNodes = session->GetInputCount();
diff --git a/funasr/runtime/onnxruntime/tester/tester_rtf.cpp b/funasr/runtime/onnxruntime/src/funasr-onnx-offline-rtf.cpp
similarity index 100%
rename from funasr/runtime/onnxruntime/tester/tester_rtf.cpp
rename to funasr/runtime/onnxruntime/src/funasr-onnx-offline-rtf.cpp
diff --git a/funasr/runtime/onnxruntime/tester/tester.cpp b/funasr/runtime/onnxruntime/src/funasr-onnx-offline.cpp
similarity index 95%
rename from funasr/runtime/onnxruntime/tester/tester.cpp
rename to funasr/runtime/onnxruntime/src/funasr-onnx-offline.cpp
index 4cb38df..fae739b 100644
--- a/funasr/runtime/onnxruntime/tester/tester.cpp
+++ b/funasr/runtime/onnxruntime/src/funasr-onnx-offline.cpp
@@ -6,9 +6,6 @@
#endif
#include "libfunasrapi.h"
-
-#include <iostream>
-#include <fstream>
#include <sstream>
using namespace std;
@@ -41,12 +38,10 @@
printf("Model initialization takes %lfs.\n", (double)modle_init_micros / 1000000);
gettimeofday(&start, NULL);
- float snippet_time = 0.0f;
-
FUNASR_RESULT Result=FunASRRecogFile(AsrHanlde, argv[2], RASR_NONE, NULL, use_vad);
-
gettimeofday(&end, NULL);
-
+
+ float snippet_time = 0.0f;
if (Result)
{
string msg = FunASRGetResult(Result, 0);
@@ -57,7 +52,7 @@
}
else
{
- cout <<"no return data!";
+ printf("no return data!");
}
printf("Audio length %lfs.\n", (double)snippet_time);
diff --git a/funasr/runtime/onnxruntime/src/paraformer_onnx.cpp b/funasr/runtime/onnxruntime/src/paraformer_onnx.cpp
index 1e4a310..1a86da6 100644
--- a/funasr/runtime/onnxruntime/src/paraformer_onnx.cpp
+++ b/funasr/runtime/onnxruntime/src/paraformer_onnx.cpp
@@ -14,7 +14,7 @@
string vad_path = pathAppend(path, "vad_model.onnx");
string mvn_path = pathAppend(path, "vad.mvn");
vadHandle = make_unique<FsmnVad>();
- vadHandle->init_vad(vad_path, mvn_path, model_sample_rate, 800, 15000, 0.9);
+ vadHandle->init_vad(vad_path, mvn_path, MODEL_SAMPLE_RATE, VAD_MAX_LEN, VAD_SILENCE_DYRATION, VAD_SPEECH_NOISE_THRES);
}
if(quantize)
@@ -29,7 +29,7 @@
// knf options
fbank_opts.frame_opts.dither = 0;
fbank_opts.mel_opts.num_bins = 80;
- fbank_opts.frame_opts.samp_freq = model_sample_rate;
+ fbank_opts.frame_opts.samp_freq = MODEL_SAMPLE_RATE;
fbank_opts.frame_opts.window_type = "hamming";
fbank_opts.frame_opts.frame_shift_ms = 10;
fbank_opts.frame_opts.frame_length_ms = 25;
@@ -191,7 +191,7 @@
{
int32_t in_feat_dim = fbank_opts.mel_opts.num_bins;
- std::vector<float> wav_feats = FbankKaldi(model_sample_rate, din, len);
+ std::vector<float> wav_feats = FbankKaldi(MODEL_SAMPLE_RATE, din, len);
wav_feats = ApplyLFR(wav_feats);
ApplyCMVN(&wav_feats);
diff --git a/funasr/runtime/onnxruntime/src/precomp.h b/funasr/runtime/onnxruntime/src/precomp.h
index 79225ee..f936541 100644
--- a/funasr/runtime/onnxruntime/src/precomp.h
+++ b/funasr/runtime/onnxruntime/src/precomp.h
@@ -1,6 +1,5 @@
#pragma once
// system
-
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -16,8 +15,6 @@
#include <string>
#include <math.h>
#include <numeric>
-
-
#include <cstring>
using namespace std;
@@ -27,27 +24,19 @@
#include "kaldi-native-fbank/csrc/feature-fbank.h"
#include "kaldi-native-fbank/csrc/online-feature.h"
-
// mine
-
+#include "ComDefine.h"
#include "commonfunc.h"
-#include <ComDefine.h>
#include "predefine_coe.h"
#include "FsmnVad.h"
-
-#include <ComDefine.h>
-//#include "alignedmem.h"
#include "Vocab.h"
+#include "CommonStruct.h"
+#include "Audio.h"
#include "Tensor.h"
#include "util.h"
-#include "CommonStruct.h"
-#include "FeatureQueue.h"
-#include "SpeechWrap.h"
-#include <Audio.h>
#include "resample.h"
#include "Model.h"
#include "paraformer_onnx.h"
#include "libfunasrapi.h"
-
using namespace paraformer;
diff --git a/funasr/runtime/onnxruntime/src/tmp.h b/funasr/runtime/onnxruntime/src/tmp.h
deleted file mode 100644
index b57303f..0000000
--- a/funasr/runtime/onnxruntime/src/tmp.h
+++ /dev/null
@@ -1,112 +0,0 @@
-
-#ifndef WENETPARAMS_H
-#define WENETPARAMS_H
-// #pragma pack(1)
-
-#define vocab_size 5538
-
-typedef struct {
- float conv0_weight[512 * 9];
- float conv0_bias[512];
-
- float conv1_weight[512 * 512 * 9];
- float conv1_bias[512];
-
- float out0_weight[9728 * 512];
- float out0_bias[512];
-
-} EncEmbedParams;
-
-typedef struct {
- float linear_q_weight[512 * 512];
- float linear_q_bias[512];
- float linear_k_weight[512 * 512];
- float linear_k_bias[512];
- float linear_v_weight[512 * 512];
- float linear_v_bias[512];
- float linear_out_weight[512 * 512];
- float linear_out_bias[512];
-} SelfAttnParams;
-
-typedef struct {
- SelfAttnParams linear0;
- float linear_pos_weight[512 * 512];
- float pos_bias_u[512];
- float pos_bias_v[512];
-
-} EncSelfAttnParams;
-
-typedef struct {
- float w1_weight[512 * 2048];
- float w1_bias[2048];
- float w2_weight[2048 * 512];
- float w2_bias[512];
-} FeedForwardParams;
-
-typedef struct {
- float weight[512];
- float bias[512];
-} NormParams;
-
-typedef struct {
- float pointwise_conv1_weight[1024 * 512];
- float pointwise_conv1_bias[1024];
-
- float depthwise_conv_weight[512 * 15];
- float depthwise_conv_bias[512];
-
- float pointwise_conv2_weight[512 * 512];
- float pointwise_conv2_bias[512];
- NormParams norm;
-} EncConvParams;
-
-typedef struct {
- EncSelfAttnParams self_attn;
- FeedForwardParams feedforward;
- FeedForwardParams feedforward_macaron;
- EncConvParams conv_module;
- NormParams norm_ff;
- NormParams norm_mha;
- NormParams norm_macaron;
- NormParams norm_conv;
- NormParams norm_final;
- // float concat_weight[1024 * 512];
- // float concat_bias[512];
-} SubEncoderParams;
-
-typedef struct {
- EncEmbedParams embed;
- SubEncoderParams sub_encoder[12];
- NormParams after_norm;
-} EncoderParams;
-
-typedef struct {
- SelfAttnParams self_attn;
- SelfAttnParams src_attn;
- FeedForwardParams feedward;
- NormParams norm1;
- NormParams norm2;
- NormParams norm3;
- // float concat_weight1[1024 * 512];
- // float concat_bias1[512];
- // float concat_weight2[1024 * 512];
- // float concat_bias2[512];
-} SubDecoderParams;
-
-typedef struct {
- float embed_weight[vocab_size * 512];
- SubDecoderParams sub_decoder[6];
- NormParams after_norm;
- float output_weight[vocab_size * 512];
- float output_bias[vocab_size];
-} DecoderParams;
-
-typedef struct {
- EncoderParams encoder;
- float ctc_weight[512 * vocab_size];
- float ctc_bias[vocab_size];
- DecoderParams decoder;
-} WenetParams;
-
-// #pragma pack()
-#endif
diff --git a/funasr/runtime/onnxruntime/tester/CMakeLists.txt b/funasr/runtime/onnxruntime/tester/CMakeLists.txt
deleted file mode 100644
index e3224e3..0000000
--- a/funasr/runtime/onnxruntime/tester/CMakeLists.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-if(WIN32)
- if(CMAKE_CL_64)
- link_directories( ${CMAKE_SOURCE_DIR}/win/lib/x64 )
- else()
- link_directories( ${CMAKE_SOURCE_DIR}/win/lib/x86 )
- endif()
-endif()
-
-set(EXTRA_LIBS funasr)
-
-
-include_directories(${CMAKE_SOURCE_DIR}/include)
-set(EXECNAME "tester")
-set(EXECNAMERTF "tester_rtf")
-
-add_executable(${EXECNAME} "tester.cpp")
-target_link_libraries(${EXECNAME} PUBLIC ${EXTRA_LIBS})
-
-add_executable(${EXECNAMERTF} "tester_rtf.cpp")
-target_link_libraries(${EXECNAMERTF} PUBLIC ${EXTRA_LIBS})
-
--
Gitblit v1.9.1